为什么使用 apt-get remove 无法删除这个包?

为什么使用 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

Apt(或者说dpkg)默认在默认架构上运行。从输出来看,它似乎i386不是您的默认架构,因此您必须指定它。例如,请参阅Debian 多架构指南,这表明您必须为安装和删除此类包指定外部体系结构。

你可以这样做:

sudo apt-get remove --purge 'libnvidia-.*:i386'

(请注意,apt 不使用通配符,而是使用正则表达式。请参阅apt-get remove 删除的通配符比预期的多。为什么?

相关内容