"Unable to locate package" error during apt-get uninstall

10,096

You are globbing current files in the directory. Instead of what you are running, try:

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

The main clue that tells me this is the case: You tried to remove packages named like blah.deb in the apt-get purge output. Of course packages aren't normally named that way...

To see what I mean, check ls -l in your current directory. You should see the .deb files you are matching. If you wouldn't have those files in your current directory, the 'nvidia-*' would pass through unaltered to the apt-get purge command.

Good rule to remember: It's always best to protect your arguments with single quotes ' to prevent unintended shell globbing and other expansions.

Share:
10,096
Jesse Chan
Author by

Jesse Chan

Does computational math for food

Updated on September 18, 2022

Comments

  • Jesse Chan
    Jesse Chan over 1 year

    I'm trying to clean out old CUDA installations by running

    sudo apt-get purge nvidia-*
    

    but I get the errors

    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'
    

    I had deleted the deb file previously after finishing the install. I tried re-downloading the .deb file and running dpkg -i on it, but that doesn't fix the error either.

    dpkg -l | grep nvidia gives

    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
    
    • steeldriver
      steeldriver about 6 years
      I don't think absence of the original .deb files should prevent package removal - however presence of files that match the nvidia-* shell glob in your current directory may well confuse things (you want apt to expand the * - not the shell). What does dpkg -l | grep nvidia actually say?
    • Jesse Chan
      Jesse Chan about 6 years
      thanks for answering - I edited the question to show the printout.