В Linux, как мне удалить версию Perl, которая была собрана из исходного кода?

#perl #uninstallation

#perl #удаление

Вопрос:

Мне нужно деинсталлировать версию Perl, которая была собрана из исходного кода. Каталог, из которого она была собрана, существует. Однако я не нашел целевой объект make с именем ‘uninstall’. У меня версия Perl 5.12.2, и она установлена в Linux, распространяемом Fedora.

Ответ №1:

Поскольку в perl нет цели ‘make uninstall’, вам необходимо удалить файлы вручную. Лучший способ сделать это — получить полный список установленных файлов. Для этого вам необходимо:

  1. Создайте временный каталог, например /usr/local/src /temp /perl
  2. Отредактируйте Makefile в вашем исходном каталоге исходного кода perl (надеюсь, вы его не удаляли) и добавьте путь из шага 1 выше в начало всех строк установки (например, bin = …, scriptdir = …, INSTALLPREFIXEXP = …)
  3. Выполнить make install
  4. Перейдите в свой временный каталог и запустите: find . -type f > filelist.txt
  5. Отредактируйте этот файл и убедитесь, что вы действительно хотите удалить все, что там есть (вы сильно испортите свою систему, если испортите это)
  6. Выполнить cat filelist.txt | xargs rm
  7. Вручную удалите каталог библиотеки perl5 (обычно в чем-то вроде /usr /local /lib64 / perl5 — вы можете найти его в filelist.txt файл)

Вот и все, все пропало.

В следующий раз изолируйте ее в отдельном каталоге и просто создайте символическую ссылку на нее 🙂

Ответ №2:

Если Perl установлен в своем собственном каталоге — скажем, /opt/perl/v5.12.2 — и был собран из исходного кода, тогда «окончательное разрешение» работает хорошо:

 rm -fr /opt/perl/v5.12.2
  

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

Комментарии:

1. Я не указал уникальный каталог. Perl установлен в папке по умолчанию.

2. Что вы считаете «его расположением по умолчанию»? Это, безусловно, усложняет дело — в следующий раз вы будете знать лучше. Вам придется очистить каталог ‘lib / perl’, соответствующие файлы из каталога bin и, возможно, также справочные страницы и страницы HTML doc. Очень неудобно — хорошая причина для того, чтобы всегда разделять Perl в будущем.

Ответ №3:

Метод, который

  1. Предполагает установку в поддерево /usr/local ,
  2. не требует каталога сборки
  3. немного менее точный

Запустите следующую команду,

 sudo find /usr/local -name '*perl*' -or -name 'pod2*' -or -name '*cpan*' -exec rm -rf {} ;
  

Ответ №4:

Если у вас все еще есть исходный код, вы можете удалить его с помощью:

 make uninstall
  

пока вы находитесь в каталоге исходного кода.

Кстати, я предлагаю использовать checkinstall в следующий раз при установке из исходного кода. Смотрите это

Если у вас (как вы сказали …) нет целевой деинсталляции, то вам, вероятно, придется удалять ее вручную.

Комментарии:

1. Нет цели с именем ‘uninstall’. Пожалуйста, смотрите Вывод ниже: [raghu@localhost perl-5.12.2]$ make uninstall make: *** Нет правила для создания целевого `удаления». Остановка. [raghu@localhost perl-5.12.2]$

2. вы вводили: make uninstall, находясь в папке с исходным кодом?

3. @soulSurfer2010 Спасибо за информацию. В дальнейшем я начну использовать checkinstall. На данный момент ее поиск и удаление внутри / usr / local … 🙁

4. Что ж, вам, вероятно, придется выяснить, где она была установлена (все ее файлы), и удалить ее вручную.

5. 1 для проверки установки. Может обезопасить себя от будущих неудачных моментов.