Почему этот пакет не удаляется с помощью apt-get remove?
Я имею:
~$ dpkg -l | grep -i nvidia
rc libnvidia-compute-396:i386 396.54-0ubuntu0~gpu18.04.1 i386 NVIDIA libcompute package
Когда я делаю:
~$ sudo apt-get remove --purge libnvidia-*
этот пакет не удален?
Другой пакет "libnvidia" удаляется с помощью этой команды, например, такой:
rc libnvidia-compute-390:amd64 390.48-0ubuntu3 amd64 NVIDIA libcompute package
В журнале удаления написано:
Package 'libnvidia-compute-396' is not installed, so not removed. Did you mean 'libnvidia-compute-396:i386'?
И когда я удаляю его с полным именем, он удаляется.
1 ответ
Апт (или, скорее, dpkg
) работает на архитектуре по умолчанию, ну, по умолчанию. Из вывода это выглядит так i386
это не ваша архитектура по умолчанию, поэтому вы должны указать ее. Например, смотрите https://wiki.debian.org/Multiarch/HOWTO, который показывает, что вы должны указать стороннюю архитектуру для установки и удаления таких пакетов.
Вы могли бы сделать:
sudo apt-get remove --purge 'libnvidia-.*:i386'
(Обратите внимание, что apt не использует подстановочные знаки, а регулярное выражение. См. Apt-get remove с удаленными подстановочными знаками гораздо больше, чем ожидалось. Почему?)