apt-get 卸载期间出现“无法找到包”错误

apt-get 卸载期间出现“无法找到包”错误

我正在尝试通过运行来清除旧的 CUDA 安装

sudo apt-get purge nvidia-*

但我得到了错误

E: Unable to locate package nvidia-diag-driver-local-repo-ubuntu1604-390.46_1.0-1_amd64.deb
E: Couldn't find any package by glob 'nvidia-diag-driver-local-repo-ubuntu1604-390.46_1.0-1_amd64.deb'
E: Couldn't find any package by regex 'nvidia-diag-driver-local-repo-ubuntu1604-390.46_1.0-1_amd64.deb'

我之前在安装完成后删除了 deb 文件。我尝试重新下载 .deb 文件并运行dpkg -i它,但这也无法修复错误。

dpkg -l | grep nvidia给出

ii  nvidia-390                                      390.48-0ubuntu0~gpu16.04.3                   amd64        NVIDIA binary driver - version 390.48
ii  nvidia-390-dev                                  390.48-0ubuntu0~gpu16.04.3                   amd64        NVIDIA binary Xorg driver development files
rc  nvidia-diag-driver-local-repo-ubuntu1604-390.46 1.0-1                                        amd64        nvidia-diag-driver-local repository configuration files
ii  nvidia-modprobe                                 390.46-0ubuntu1                              amd64        Load the NVIDIA kernel driver and create device files
ii  nvidia-opencl-icd-390                           390.48-0ubuntu0~gpu16.04.3                   amd64        NVIDIA OpenCL ICD
ii  nvidia-prime                                    0.8.2                                        amd64        Tools to enable NVIDIA's Prime
ii  nvidia-settings                                 396.18-0ubuntu0~gpu16.04.1                   amd64        Tool for configuring the NVIDIA graphics driver

答案1

你是通配符目录中的当前文件。除了正在运行的内容之外,请尝试:

sudo apt-get purge nvidia-\*
# or...
sudo apt-get purge 'nvidia-*'

告诉我这种情况的主要线索是:您试图删除输出blah.deb中名为的软件包apt-get purge。当然软件包不是通常情况下以此方式命名...

要了解我的意思,请检查ls -l当前目录。您应该会看到匹配的 .deb 文件。如果您当前目录中没有这些文件,则“nvidia-*”将不加改变地传递给命令apt-get purge

要记住的好规则:最好始终用单引号保护您的参数,'以防止意外的 shell 通配符和其他扩展。

相关内容