Как вы управляете модулями perl в системе Debian?

4858
nagul

Я хотел бы знать, есть ли у вас метод управления модулями perl в вашей системе Debian, относительно следующего:

  1. Установка новых модулей
  2. Список установленных вручную модулей
  3. Проверка зависимостей и удаление модулей

Я ознакомился с этой статьей perlmonks для ознакомления: как лучше всего установить модули CPAN в Debian?

Я ранее установил модули Perl, используя модуль CPAN. Я также использовал dh-make-perl в некоторых случаях, когда следовал инструкциям для сборки других пакетов, которые имели зависимости perl.

Я хотел бы установить согласованную политику на моей машине, чтобы я мог лучше управлять тем, как и где установлены модули, и уменьшить вероятность взлома perl в моей системе. Я бы очень хотел систему, где я могу обнаружить и удалить модули, которые больше не используются.

7
Смотрите также http://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-on-linux Ether 14 лет назад 0
разве суперпользователь не ориентирован на конечного пользователя и не является ли perl-менеджмент сисадмином или домашним парнем-учащимся-сисадмином? Warren P 14 лет назад 0
http://shadow.cat/blog/matt-s-trout/mstpan-9/ user49740 9 лет назад 0

4 ответа на вопрос

5
TRS-80

Если вы используете apt-getи dh-make-perlдля всех пакетов, deborphan --guess-perlвы найдете пакеты perl без каких-либо зависимостей, которые вы можете затем удалить и запустить снова итеративно. deborphanесть контрольный список, в который вы можете добавить те, к которым активно используете, и они не будут отображаться.

Поэтому, чтобы это работало, вам нужно удалить все модули, которые вы установили через CPAN, и переустановить их dh-make-perl. Установленные вручную модули можно обнаружить, выполнив поиск «Нет доступной версии в архиве» в выходе из apt-show-versions libsome-module-perl.

5
Chas. Owens

Я использую apt-getдля установки большинства модулей. Если модуль отсутствует в одном из хранилищ (или если мне нужна последняя версия модуля), я устанавливаю этот модуль в свой домашний каталог с помощью cpan. Это облегчается local::libмодулем. Загрузите tarball из CPAN, распакуйте его, измените каталог на него, а затем введите

perl Makefile.pl --bootstrap make make test 

Если какой-либо из этих шагов не удался, задайте вопрос здесь. Если все шаги выполнены успешно, введите

make install 

Затем вам нужно будет добавить следующую строку в любой файл профиля, который вы используете (например ~/.profile, ~/.bash_profileи т. Д.):

eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib) 

Выйдите из системы и снова войдите в нее (выполните эту команду в текущем терминале), а затем введите

cpan 

Он должен спросить вас, хотите ли вы автоматически настроить CPAN, ответьте да. Когда это будет сделано, вы должны быть в состоянии установить модули в папку с именем ~/perl5, говоря

cpan Module::Name 

Строка, которую вы вводите в свой профиль, устанавливает PERL5LIBпеременную, поэтому программы смогут найти установленные вами модули. Он ставит ~/perl5каталог перед системными каталогами, поэтому, если у вас установлена ​​версия 1.0 Foo через apt-getи версия 2.0 Foo, установленная через CPAN, CPANверсия будет загружена.

+1. Это лучше для меня, чем запуск двух совершенно разных экземпляров / установок perl. Warren P 14 лет назад 0
3
innaM

Оставьте Perl Debian в покое и установите второй Perl, которым вы управляете с помощью cpan:

https://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-on-linux

Мне нравится этот подход, но для одной проблемы: некоторые модули, которые я устанавливаю, предназначены для удовлетворения зависимостей в других пакетах, которые я собираюсь собрать и установить на моем компьютере. Если я установлю второй Perl, мне придется прыгать через обручи, чтобы эти пакеты увидели и использовали второй Perl во время выполнения, в то время как установленные в системе пакеты продолжают использовать первоначальную установку? nagul 15 лет назад 0
Никаких обручей вообще. innaM 15 лет назад 0
Уч. особенно если любой из ваших Perl-материалов касается любого из Debian. Warren P 14 лет назад 0
1
Ben Short

В зависимости от модулей, я вполне уверен, что вы можете использовать команду apt-get для установки некоторых наиболее распространенных модулей.

apt-get install perl5-crypt (может быть, его p5-crypt - это было давно).

Многое зависит от того, какие модули требуются, но многие из них не входят в пакеты apt.

Да, это проблема для меня, потому что теперь у меня есть система, в которой некоторые модули были установлены через apt-get, некоторые через dh-make-perl, а другие - через модуль CPAN. nagul 15 лет назад 0

Похожие вопросы