Не могу понять функцию удаления apt-кеша
Мне нужно было переустановить Wine с нуля, поэтому я сначала решил удалить текущую версию, но, запустив команду
sudo apt-cache pkgnames wine
до и после запуска любого из:
sudo apt-cache --purge remove wine1.4
sudo apt-cache --purge remove wine1.6
sudo apt-cache --purge remove wine1.7
результаты в тех же списках пакетов, так как я знаю, что выполнение apt-cache remove
фактически удалил пакет, которым я командовал?
также не должен --purge
опция подразумевает полное удаление вин (включая wine1.7-dbg, wine1.7dev и несколько других файлов)?
2 ответа
Правильная команда для удаления пакета, например,
sudo apt-get --purge remove wine1.4
и НЕ
sudo apt-cache --purge remove wine1.4
--purge
не удаляет другие пакеты, если другие пакеты не зависят от этого пакета.
Команда sudo apt-cache pkgnames wine
печатает только известные пакеты, а не статус установки:
От man apt-cache
,
pkgnames [префикс] Эта команда печатает имя каждого пакета, который знает APT. Необязательный аргумент - это совпадение префикса для фильтрации списка имен. вывод подходит для использования в полной функции вкладки оболочки и вывод генерируется очень быстро. Эта команда лучше всего используется с вариант --generate.
Чтобы показать статус установки, вы можете использовать apt-cache policy
:
$ apt-cache policy wine
wine:
Installed: (none)
Candidate: 1:1.7.44-0ubuntu1
Version table:
1:1.7.44-0ubuntu1 0
500 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/ wily/main amd64 Packages
1:1.6.2-0ubuntu10 0
500 http://archive.ubuntu.com/ubuntu/ wily/universe amd64 Packages
или же dpkg -l
$ dpkg -l | grep wine
rc wine1.6 1:1.6.2-0ubuntu10 amd64 Microsoft Windows Compatibility Layer (Binary Emulator and Library)
rc wine1.6-amd64 1:1.6.2-0ubuntu10 amd64 Microsoft Windows Compatibility Layer (64-bit support)
rc wine1.6-i386:i386 1:1.6.2-0ubuntu10 i386 Microsoft Windows Compatibility Layer (32-bit support)
ii wine1.7 1:1.7.44-0ubuntu1 amd64 Microsoft Windows Compatibility Layer (Binary Emulator and Library)
ii wine1.7-amd64 1:1.7.44-0ubuntu1 amd64 Microsoft Windows Compatibility Layer (64-bit support)
ii wine1.7-i386:i386 1:1.7.44-0ubuntu1 i386 Microsoft Windows Compatibility Layer (32-bit support)
ii winetricks 0.0+20141009+svn1208-2ubuntu1 all Microsoft Windows Compatibility Layer (winetricks)
Перефразируя со справочной страницы apt-get:
purge is identical to remove except that configuration files are deleted too.
Он не удалит больше или меньше пакетов, чем обычный remove
было бы.
Но чтобы удалить другие пакеты, которые были установлены как зависимости, вы можете запустить эту команду позже:
sudo apt-get --purge autoremove
Снова цитируем справочную страницу:
autoremove
autoremove is used to remove packages that were automatically
installed to satisfy dependencies for other packages and are now no
longer needed.