Иногда требуется заменить ранее вручную установленный perl-модуль на его вариант, появившийся в составе дистрибутива (Ubuntu/Debian).Для удаления установленного вручную модуля можно использовать скрипт:
#!/usr/bin/perl -w
use ExtUtils::Packlist;
use ExtUtils::Installed;
$ARGV[0] or die "Usage: $0 Module::Name\n";
my $mod = $ARGV[0];
my $inst = ExtUtils::Installed->new();
foreach my $item (sort($inst->files($mod))) {
print "removing $item\n";
unlink $item;
}
my $packfile = $inst->packlist($mod)->packlist_file();
print "removing $packfile\n";
unlink $packfile;Запускаем скрипт для удаления, например, модуля XML::SAX:
# chmod u+x rm_perl_mod.pl
# ./rm_perl_mod.pl XML::SAXУстанавливаем вариант модуля из пакетов:
# apt-get install libxml-sax-expat-perl
URL: https://bugs.launchpad.net/ubuntu/+source/libxml-sax-expat-p...
Обсуждается: http://www.opennet.me/tips/info/2333.shtml
А может просто не надо загаживать систему?
Ставя из исходников использовать например замечательную утилиту stow.
А дальше все просто
--preifix=/usr/local/stow/prog_name
make
make install
cd /usr/local/stow
stow prog_name
Вопрос: а на зачем??
В совете предлагается использовать пакетный менеджер, который отследит все зависимости, имхо это правильно.
Спасибо. Узнал про stow
Это называется не загаживать систему? ололо. Я еще понимаю юзать cpan - далеко не все есть в пакетах и в большинстве систем cpan либо регистрируется в списке пакетов (фря) либо ставит себя в не-системный путь, который при в PERLLIB находится до системного (чтобы можно было оверрайдить). На крайняк хоть свой репозиторий можно сделать. Но так, в /usr/local... no way
>[оверквотинг удален]
> # ./rm_perl_mod.pl XML::SAX
>
>Устанавливаем вариант модуля из пакетов:
>
> # apt-get install libxml-sax-expat-perl
>
>
>
>URL: https://bugs.launchpad.net/ubuntu/+source/libxml-sax-expat-p...
>Обсуждается: http://www.opennet.me/tips/info/2333.shtmlвот кто-бы осилил написать нормальный мануал для разработчика..........
dh-make-perl -- сделан специально чтобы не засирать систему и не мучать руки выковыривая хлам
Может кто знает как запретить перловым модулям регистрироваться в системе портов в FreeBSD при установке оных через CPAN ?
>Может кто знает как запретить перловым модулям регистрироваться в системе портов в
>FreeBSD при установке оных через CPAN ?Зачем???
Затем, что при установке через CPAN регистрируются не все пакеты. Многие из тех, что регистрируются (даже p5-..., а не bsdpan-...) не обновляются. Т.е. ничего кроме мусора при такой регистрации нет. Да и просто удобнее всем перловым хозяйством управлять из одного места