Perl установка cpan в указанный c репозиторий - PullRequest
0 голосов
/ 06 февраля 2020

Здравствуйте, я на самом деле устанавливаю perl модуль с именем HmmCleaner здесь:

https://metacpan.org/pod/HmmCleaner.pl

, для этого я использую:

/beegfs/data/me/perl-5.30.1/localperl/bin/cpan Bio::MUST::Apps::HmmCleaner

Но я на самом деле в общий кластер, в котором у нас есть 2 главных каталога:

/beegfs/home/me

и

/beegfs/data/me 

, а в домашнем хранилище у меня есть пороговое значение количества чанков, отличное от

У меня есть пороговое значение, которое я не могу превысить в количестве чанков, и когда я запускаю команду /beegfs/data/me/perl-5.30.1/localperl/bin/cpan Bio::MUST::Apps::HmmCleaner, по какой-то причине некоторые файлы создаются в домашнем каталоге, и когда я просматриваю файл журнала, я вижу, что что-то не так в в этот момент:

! Installing Bio::MUST::Core::Utils failed. See /beegfs/home/me/.cpanm/work/1580931498.36405/build.log for details. Retry with --force to force install it.
Warning: unable to close filehandle $out properly: Disk quota exceeded at /beegfs/data/me/perl-5.30.1/localperl/bin/cpanm line 49.
Warning: unable to close filehandle $out properly: Disk quota exceeded at /beegfs/data/me/perl-5.30.1/localperl/bin/cpanm line 49.
Warning: unable to close filehandle $out properly: Disk quota exceeded at /beegfs/data/me/perl-5.30.1/localperl/bin/cpanm line 49.

Но когда я смотрю на дисковую квоту в data, ограничение как памяти, так и файла чака не достигается, но для home превышено количество файлов чанка!

Кто-нибудь знает, как заставить все файлы, созданные при установке, запустить в хранилище данных вместо домашнего?

Спасибо за вашу помощь.

для полярного медведя:

Когда я делаю:

/beegfs/data/me/perl-5.30.1/localperl/bin/cpan -D local::lib

Я получаю: Загрузка внутреннего регистратора. Log :: Log4 perl рекомендуется для лучшей регистрации

CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes] yes
Fetching with LWP:
http://www.cpan.org/authors/01mailrc.txt.gz
Reading '/beegfs/home/me/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/02packages.details.txt.gz
Reading '/beegfs/home/me/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Thu, 06 Feb 2020 08:41:03 GMT
.............
  New CPAN.pm version (v2.27) available.
  [Currently running version is v2.22]
  You might want to try
    install CPAN
    reload cpan
  to both upgrade CPAN.pm and run the new version without leaving
  the current session.


...............................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/03modlist.data.gz
Reading '/beegfs/home/me/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /beegfs/home/me/.cpan/Metadata
local::lib
-------------------------------------------------------------------------
    (no description)
    H/HA/HAARG/local-lib-2.000024.tar.gz
    (no installation file)
    Installed: not installed
    CPAN:      2.000024  Not up to date
    Graham Knop (HAARG)
    haarg@haarg.org

Ответы [ 2 ]

2 голосов
/ 06 февраля 2020

Давайте следовать следующему сценарию

mv ~/.cpam /beegfs/data/me
ln -s /beegfs/data/me/.cpan ~/.cpan
HOME=/beegfs/data/me perl -Mlocal::lib > ~/.lib_perl

эти команды будут

  • перемещать каталог $ HOME / .cpan из $ HOME в / beegfs / data / me
  • символическая ссылка в каталог $ HOME
  • запуск perl с модулем local :: lib
  • он проверит, выводит ли переменная конфигурации $ SHELL
  • в $ HOME / .lib_ perl file

Теперь введите $ HOME / .lib_ perl в вашей оболочке в соответствии с $ SHELL (bash - .bashr c, csh -. cshr c, ...) при входе в систему.

Поскольку вы работаете удаленно, вы должны выйти из системы и войти в систему, чтобы получить изменения (делайте это в отдельном терминале на тот случай, если вы делаете что-то не так и вам нужно back door для отмены ваших изменений).

На этом этапе вы сможете использовать cpan для установки модулей в каталог / beegfs / data / me / perl5.

0 голосов
/ 06 февраля 2020

Проверьте, установлен ли local :: lib , с помощью следующей команды

cpan -D local :: lib

Если он установлен, перейдите на следующую веб-страницу local :: lib и почитать - обратите внимание на пункт 4.

В противном случае проверьте, доступен ли cpanm в вашей системе.

Как Опция: вы можете установить переменные вручную

PERL_MB_OPT
PERL_MM_OPT
PERL5LIB
PATH
PERL_LOCAL_LIB_ROOT

Перед настройкой приватной library убедитесь, что у вас есть разрешение на запись в каталог хранения.

...