apt-get purge не удаляет полностью

apt-get purge не удаляет полностью

Я установил emacs с помощью apt-get. Я пытался удалить его позже, но двоичный файл остался.

root@ionian:/home/gauthier# apt-get --purge remove emacs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'emacs' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@ionian:/home/gauthier# which emacs
/usr/bin/emacs
root@ionian:/home/gauthier# 

(Показанная выше очистка — это не первая попытка, она просто показывает, что пакет уже удален.)

emacs не был установлен до того, как я это сделал apt-get install emacs.

Есть идеи, что происходит? Почему apt-get не видит двоичный файл, почему он думает, что emacs уже удален? Какой был бы чистый способ полностью удалить emacs?

решение1

Удаление «emacs» не приводит к очистке, /usr/bin/emacsпоскольку последний не входит в пакет «emacs».

В Debian есть разные варианты emacs, поэтому /usr/bin/emacsесть символическая ссылка на конкретный исполняемый файл, который используется по умолчанию. Вы можете выбрать, какое приложение использовать, выполнив команду:

sudo update-alternatives --config emacs

Также пакет «galternatives» предоставляет удобное графическое приложение для управления альтернативами.

Если вы запустите, aptitude show emacsто увидите, что "emacs" — это метапакет, который просто зависит от некоторых других пакетов, которые предоставляют исполняемый файл emacs. Когда вы очищали "emacs", он был полностью удален, но его пакет(ы) зависимостей все еще могут присутствовать в вашей системе. Вы можете удалить их с помощью

sudo apt-get autoremove

или если вы aptitudeего используете, автоматически предложит удалить автоматически установленные пакеты.

Чтобы избавиться от него, /usr/bin/emacsвам придется удалить все альтернативы emacs, такие как «emacs23» или «emacs24», а также любые пакеты «emacs-*».

Выполните следующую команду, чтобы узнать, какие исполняемые файлы доступны в качестве альтернативы emacs.

update-alternatives --list emacs

Также вам может пригодиться dlocateутилита для поиска того, какой пакет предоставляет определенный файл.

Подробнее об альтернативах читайте в

решение2

У вас emacs23и ваших друзей все еще могут быть установлены приложения.

sudo apt-get remove emacs*

Связанный контент