Как отменить случайную установку всех модулей Perl?

Я пытался обновить свои модули Perl через CPAN, но я не предоставлял имя регулярного выражения / модуля для обновления: perl -MCPAN -e 'upgrade'; Я могу предположить только худшее (что подтверждается выводом perldoc perllocal), то есть устанавливаются все модули Perl из CPAN.

Как я могу отменить этот беспорядок? Я полагаю, я могу удалить /usr/local/share/perl, но каковы последствия этого?

Редактировать: У меня все еще есть 95% свободного места на жестком диске, так что это не большая проблема. Я просто не хочу много ненужного беспорядка. Я рассматриваю rm этот каталог, делаю dpkg --purge perl и переделываю процесс установки apt-get и CPAN. Но действительно ли это необходимо, или я могу просто удалить ненужные модули из /usr/local/share/perl?

8
задан 7 June 2013 в 02:34

2 ответа

Смотря на это немного ближе, я не думаю, что Вы должны или должны удалить любые каталоги или файлы в Вашей системе.

Выполнение команды perl -MCPAN -e 'upgrade' из командной строки не установит дополнительные модули на Вашу систему.

Это только попытается обновить установленные модули через систему управления пакета CPAN, а не через Синаптический.

Это подобно выполнению команды 'r' и затем выполнению команды обновления в cpan[1]> подсказка. Посмотрите здесь.

CPAN и Синаптический являются двумя отдельными и отличными системами управления пакета.

Это не установит все возможные модули Perl от CPAN. И при этом это не изменит существующий дБ системного пакета. Так, можно определенно откатывать это безопасно.

Однако это все еще потенциально опасно, если приложение или Ваша система зависят от конкретной версии модуля Perl.

При прерывании процесса обновления возможности хороши, что Вы постарались не вредить своей системе.

Опции восстановления:

Из командной строки запустить cpan, и выполненный команда r для наблюдения списка установленных модулей и доступных обновлений. Например, вот сокращенный вывод от моего cpan:

cpan[7]> r

Package namespace         installed    latest  in CPAN file
App::Cpan                    1.5701      1.61  BDFOY/App-Cpan-1.61.tar.gz
DBD::mysql                    4.020     4.022  CAPTTOFU/DBD-mysql-4.022.tar.gz
DBI                           1.616     1.623  TIMB/DBI-1.623.tar.gz
DB_File                       1.821     1.827  PMQS/DB_File-1.827.tar.gz
Error                       0.17010   0.17019  SHLOMIF/Error-0.17019.tar.gz
Eval::Closure                  0.06      0.08  DOY/Eval-Closure-0.08.tar.gz
....

Возьмите Eval::Closure модуль, для этого примера. Скажем, то, что Вы позволяете perl -MCPAN -e 'upgrade' управляйте завершенный, и Вам теперь установили версию 0.08.

Смотря на Синаптический, в этом случае, это покажет, что последняя версия в репозитории все еще будет 0.06 (0.06-1 а именно, в моем экземпляре).

Можно откатывать к версии системы путем выполнения следующей команды:

sudo apt-get install --reinstall libeval-closure-perl

Если Вы установили какие-либо модули Perl вручную и хотите откатывать их к предыдущей версии, Вы должны будете загрузить их снова (или из source.cpan.org или в другом месте) и вручную переустановить их.

Подводить итог: Обновление модулей Perl в CPAN не должно влиять на Ваш системный репозиторий.

Всего наилучшего. Не паниковать.

5
ответ дан 7 June 2013 в 02:34

Я бы порекомендовал сделать: apt-get remove <installed-packages> && apt-get autoremove (для удаления зависимостей) && apt-get purge <installed-packages> (для удаления оставшихся файлов конфигурации), затем вы можете удалить ненужные папки, но это уже должно быть сделано для вас:) [ 112]

0
ответ дан 7 June 2013 в 02:34

Другие вопросы по тегам:

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