Не удается полностью удалить пакеты [дублировать]

Если вы не хотите изменять всю тему и, скорее, модифицируете экзистенцию, вы можете использовать хороший инструмент gui, называемый gtk-theme-config.

Чтобы установить его, откройте и дать следующие команды один за другим:

sudo add-apt-repository ppa:shimmerproject/ppa
sudo apt-get update
sudo apt-get install gtk-theme-config
123
задан 31 December 2011 в 23:49

6 ответов

Обычно вы можете использовать:

make uninstall

или

sudo make uninstall

, если приложение установлено как root.

Но это будет работать только если разработчик пакета позаботился о правильном правиле удаления.

Вы также можете попытаться просмотреть шаги, используемые для установки программного обеспечения, запустив:

make -n install

И затем попытайтесь вручную отменить эти шаги.

В будущем, чтобы избежать подобных проблем, попробуйте использовать checkinstall вместо make install, когда это возможно (AFAIK всегда если вы не захотите одновременно сохранить скомпилированную и упакованную версию). Он создаст и установит файл deb, который вы сможете удалить, используя ваш любимый менеджер пакетов.

make clean обычно очищает каталоги зданий, он не удаляет пакет. Он используется, когда вы хотите быть уверенным, что все это скомпилировано, а не только измененные файлы.

151
ответ дан 7 October 2018 в 12:53
  • 1
    Я тоже это сделал. Но все же оно существует, как показано pkg-config и ls /usr/lib/myplugin/libXYZ.so – YumYumYum 12 December 2011 в 17:54
  • 2
    +1 для использования checkinstall - это заставляет всю эту проблему испаряться. – Oli♦ 12 December 2011 в 18:00
  • 3
    @Google: если make uninstall не работает, вам нужно будет отслеживать, что делает установка, и отменить ее вручную. – Javier Rivera 12 December 2011 в 18:42
  • 4
    Другое дело иметь в виду, что если make install был запущен как root (например, sudo make install), как правило, это всегда необходимо запустить sudo make uninstall для удаления программного обеспечения. – Eliah Kagan 9 July 2013 в 06:46
  • 5
    Если вы уже запустили make install, вы все равно можете использовать checkinstall. Обычно checkinstall будет перезаписывать все, что было создано make install. После этого просто используйте dpkg -r <package.deb>, и все должно быть удалено. – user502144 15 October 2017 в 21:00

Нам нужно обсудить тот факт, что make uninstall не всегда работает, поэтому ниже это более активное решение. Это связано с использованием программы paco, доступной в программном центре Ubuntu. Как только мы установили paco, мы можем использовать его в режиме журнала, когда мы «сделаем установку» программой. Paco действует как обертка для вашей «make install» и создает журнал в каталоге / var / log / paco со списком файлов, скопированных в различные каталоги. Кроме того, вы можете видеть файлы в лицевой части Paco. Например, когда я скомпилировал php из исходного кода, я сделал следующее:

paco -lp php5 "make install"

Параметр l запускает paco в режиме журнала. Это создало файл журнала в / var / log / paco с именем php5 ( имя, которое я дал в команде). Он содержал все файлы, которые копируются в различные стандартные местоположения во время установки. Вы можете использовать редактор командной строки или paco gui для просмотра файлов. Ниже приведен пример получения списка файлов с помощью редактора командной строки sed (Замените php5 на ваше имя файла).

cat /var/log/paco/php5 | sed -n 's/|\(.*\)//;/^#\(.*\)/d;p'

Как только вы получили список файлов, вы знаете, как их удалить. ты? Действительно, вы можете передать результаты вышеуказанной команды в rm, используя обратные такты, как показано ниже:

sudo rm `cat /var/log/paco/php5 | sed -n 's/|\(.*\)//;/^#\(.*\)/d;p'`

Задание выполнено!

Примечание: из-за ограничений LD_PRELOAD, paco не может следуйте следам suid-программ. См. Страницу руководства.

0
ответ дан 7 October 2018 в 12:53

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

вы можете установить checkinstall из репозиториев, краткое описание пакет

CheckInstall отслеживает все файлы, созданные или измененные вашим сценарием установки («make install» «make install_modules», «setup» и т. д.), создает стандартный двоичный пакет и устанавливает его в ваша система дает вам возможность удалить его с помощью стандартных утилит управления пакетами вашего дистрибутива.

Эти ссылки ниже могут быть полезны для лучшего понимания. http://en.wikipedia.org/wiki/CheckInstall

http://checkinstall.izto.org/

27
ответ дан 7 October 2018 в 12:53

Это не ошибка, это то, что происходит, когда разработчики прибегают к распространению через источник, а не через собственные методы упаковки.

Вы можете заставить исходные файлы стать debian-пакетами с помощью checkinstall или dhbuild , Честно говоря, на мой взгляд - новым пользователям следует избегать установки из исходного кода, и разработчикам следует избегать распространения только по источнику.

3
ответ дан 7 October 2018 в 12:53
  • 1
    Я знаю, но иногда это неизбежно ... В этом случае это была небольшая игра, которая на самом деле не нужна, но когда-то мне пришлось установить MATLAB в вычислительный инструмент, используемый в моем университете, и мне пришлось установить его источником, так как они не имеет файла deb для ubuntu ... Но я обязательно пройду через методы checkinstall и dhbuild ... спасибо – nik90 21 January 2011 в 02:44

Это не ошибка. Компиляция из источника - неподдерживаемый метод установки программного обеспечения, полностью обходя систему управления пакетами (которая используется Центром программного обеспечения).

Нет стандартного способа, чтобы программное обеспечение, скомпилированное из источника, было установлено или удалено, поэтому Ubuntu не знает, что делать. Программное обеспечение даже не указано как установленная программа.

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

15
ответ дан 7 October 2018 в 12:53

Я скомпилировал php-5.6.30 из источника без его настройки с помощью openssl, поэтому мне пришлось вернуться и установить его с нуля. Использование make uninstall не работает, поскольку Makefile для php не поддерживает его.

Однако этот шаг работал для меня, - я перечислил все файлы, связанные с php, и удалил их вручную, мне потребовалось около 5 минут, не разбив пота. Вы также можете использовать эти шаги для удаления вашего скомпилированного программного обеспечения.

Заменить php с помощью программного обеспечения, которое необходимо удалить

whereis php

В приведенной выше команде перечислены каталоги, в которых установлены двоичные файлы ex: / usr / local / bin / php, / usr / bin / php .. удалить каждый файл / каталог, указанный в вашем выводе.

sudo rm -f /usr/local/bin/php

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

0
ответ дан 7 October 2018 в 12:53

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

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