Почему этот пакет не удаляется с помощью 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 с удаленными подстановочными знаками гораздо больше, чем ожидалось. Почему?)