#perl #uninstallation
#perl #удаление
Вопрос:
Мне нужно деинсталлировать версию Perl, которая была собрана из исходного кода. Каталог, из которого она была собрана, существует. Однако я не нашел целевой объект make с именем ‘uninstall’. У меня версия Perl 5.12.2, и она установлена в Linux, распространяемом Fedora.
Ответ №1:
Поскольку в perl нет цели ‘make uninstall’, вам необходимо удалить файлы вручную. Лучший способ сделать это — получить полный список установленных файлов. Для этого вам необходимо:
- Создайте временный каталог, например /usr/local/src /temp /perl
- Отредактируйте Makefile в вашем исходном каталоге исходного кода perl (надеюсь, вы его не удаляли) и добавьте путь из шага 1 выше в начало всех строк установки (например, bin = …, scriptdir = …, INSTALLPREFIXEXP = …)
- Выполнить
make install
- Перейдите в свой временный каталог и запустите:
find . -type f > filelist.txt
- Отредактируйте этот файл и убедитесь, что вы действительно хотите удалить все, что там есть (вы сильно испортите свою систему, если испортите это)
- Выполнить
cat filelist.txt | xargs rm
- Вручную удалите каталог библиотеки 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:
Метод, который
- Предполагает установку в поддерево
/usr/local
, - не требует каталога сборки
- немного менее точный
Запустите следующую команду,
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 для проверки установки. Может обезопасить себя от будущих неудачных моментов.