Я использовал исходный код для сборки одного пакета, например ниже:
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib --with-package-name="Myplugin" --with-package-origin="http://www.ubuntu.org/" --enable-gtk-doc --disable-static
make
make install
Но, к сожалению, я обнаружил, что это последняя версия, и в ней много ошибок, поэтому мне нужно удалить / удалить ее. Но как я могу это сделать? Я пытался, make clean; make uninstall
но все же я вижу, что это существует:
# pkg-config --list-all | grep Myplugin
myplugin-....
$ ls /usr/lib/myplugin/libXYZ.so
exist....
Как вы удалите это сейчас?
источник
checkinstall
- это заставляет всю эту проблему испариться.make install
был запущен от имени пользователя root (например,sudo make install
), как это обычно бывает, то дляsudo make uninstall
его удаления всегда нужно запускать виртуально .make install
, вы все еще можете использоватьcheckinstall
. Обычноcheckinstall
перезаписывает все, чтоmake install
создано. После этого просто используйтеdpkg -r <package.deb>
, и все должно быть удалено.Я не думаю, что это ошибка, было бы неплохо почитать и научиться использовать checkinstall при установке из исходного кода.
вы можете установить checkinstall из репозиториев, краткое описание пакета;
CheckInstall отслеживает все файлы, созданные или измененные вашим сценарием установки («make install», «make install_modules», «setup» и т. Д.), Создает стандартный бинарный пакет и устанавливает его в вашу систему, что дает вам возможность удалить его с помощью стандартные утилиты управления пакетами вашего дистрибутива.
Эти ссылки ниже могут быть полезны для лучшего понимания. http://en.wikipedia.org/wiki/CheckInstall
http://checkinstall.izto.org/
источник
Это не ошибка - компиляция из исходного кода - это неподдерживаемый метод установки программного обеспечения, который полностью обходит систему управления пакетами (которая используется Центром программного обеспечения).
Не существует стандартного способа установки или удаления программного обеспечения, скомпилированного из исходного кода, поэтому Ubuntu не может знать, что делать. Программное обеспечение даже не указано как установленная программа.
Вы должны следовать инструкциям дистрибьютора по установке и удалению такого программного обеспечения. Вы также можете связаться с разработчиком, чтобы попросить их создать пакет Debian, чтобы можно было использовать систему управления пакетами.
источник
Это не ошибка, это то, что происходит, когда разработчики прибегают к распространению через исходный код, а не через нативные методы упаковки.
Вы можете сделать ваши исходные файлы пакетами debian, используя checkinstall или dhbuild. Честно говоря, на мой взгляд, новые пользователи должны избегать установки из исходного кода, а разработчики должны избегать распространения только по исходному тексту.
источник
Я знаю несколько пакетов, которые поддерживают "make uninstall", но многие другие поддерживают make install DESTDIR = xxx "для поэтапной установки.
Вы можете использовать это для создания пакета, который вы устанавливаете, вместо того, чтобы устанавливать прямо из источника. Я не везло с Checkinstall но FPM работает очень хорошо.
Это также может помочь вам удалить пакет, ранее установленный с помощью make install . Вы просто принудительно устанавливаете собранный пакет поверх установленного, а затем удаляете его.
Например, я использовал это недавно, чтобы иметь дело с protobuf-3.3.0. На RHEL7:
Предпочитаю ням рпм, если можете.
На Debian9:
Предпочитаю подходить к dpkg, где вы можете.
Я также разместил этот ответ на stackoverflow
источник
Мы должны договориться о том , что делать деинсталлировать бы не всегда работать, поэтому ниже более инициативного решения.
Это предполагает использование программы paco, которая доступна в программном центре Ubuntu. После того, как мы установили paco, мы можем использовать его в режиме журнала, когда мы «делаем установку» программы. Paco действует как оболочка для вашей «make install» и создает журнал в каталоге / var / log / paco со списком файлов, скопированных в различные каталоги. Кроме того, вы могли видеть файлы в интерфейсе Paco.
Например, когда я скомпилировал php из исходного кода, я сделал следующее:
Параметр l заставляет paco работать в режиме журнала. Это создало файл журнала в / var / log / paco с именем php5 (имя, которое я дал в команде). Он содержит все файлы, которые копируются в различные стандартные места во время установки. Вы можете использовать редактор командной строки или paco gui для просмотра файлов.
Ниже приведен пример получения списка файлов с помощью редактора командной строки sed
(замените php5 на ваше имя файла).
Как только вы получили список файлов, вы знаете, как их удалить, не так ли? Действительно, вы можете передать результаты вышеуказанной команды в rm, используя обратные пометки, как показано ниже:
Дело сделано!
Примечание. Из-за ограничений LD_PRELOAD paco не может отслеживать трассировку suid-программ. Смотрите справочную страницу.
источник
Я скомпилировал php-5.6.30 из исходного кода, не настроив его с помощью openssl, поэтому мне пришлось вернуться и установить его с нуля. Использование make uninstall не работало, так как Makefile для php его не поддерживает.
Тем не менее, этот шаг работал для меня, - я перечислил все файлы, связанные с php и удалил их вручную, это заняло у меня около 5 минут, без пота. Вы также можете использовать эти шаги для удаления скомпилированного программного обеспечения.
Замените php программным обеспечением, которое необходимо удалить
whereis php
Приведенная выше команда выводит список каталогов, в которых установлены двоичные файлы, например: / usr / local / bin / php, / usr / bin / php .. удалите каждый файл / каталог, указанный в ваших выходных данных.
sudo rm -f /usr/local/bin/php
Сделайте это со всеми файлами, перечисленными в приведенных выше выходных данных, и вы готовы установить более новую версию с нуля.
источник