如何从 ubuntu 中完全删除 cuda?

mar*_*lon 26 ubuntu cuda tensorflow

我有 ubuntu 18.04,不小心安装了 cuda 9.1 来运行 Tensorflow-gpu,但似乎 tensorflow-gpu 需要 cuda 10.0,所以我想先通过执行来删除 cuda:

martin@nlp-server:~$ sudo apt-get remove --auto-remove nvidia-cuda-toolkit
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 cuda-libraries-dev-10-1 : Depends: libcublas-dev (>= 10.2.0.168) but 10.1.0.105-1 is to be installed
 cuda-samples-10-1 : Depends: libcublas-dev (>= 10.2.0.168) but 10.1.0.105-1 is to be installed
 cuda-visual-tools-10-1 : Depends: libcublas-dev (>= 10.2.0.168) but 10.1.0.105-1 is to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Run Code Online (Sandbox Code Playgroud)

然后我尝试运行“apt --fix-broken install”,但出现以下错误:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  libcublas-dev
The following packages will be upgraded:
  libcublas-dev
1 upgraded, 0 newly installed, 0 to remove and 145 not upgraded.
69 not fully installed or removed.
Need to get 0 B/39.1 MB of archives.
After this operation, 3,458 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 253408 files and directories currently installed.)
Preparing to unpack .../libcublas-dev_10.2.0.168-1_amd64.deb ...

Unpacking libcublas-dev (10.2.0.168-1) over (10.1.0.105-1) .........................................................................................................................................................................................................................................................] 
dpkg: error processing archive /var/cache/apt/archives/libcublas-dev_10.2.0.168-1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/libcublas_static.a', which is also in package nvidia-cuda-dev 9.1.85-3ubuntu1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/libcublas-dev_10.2.0.168-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)

如何彻底删除cuda?

Man*_*ish 59

有两个东西——nvidia 驱动程序和 cuda 工具包——你可能想要删除它们。如果您已使用apt-get安装,请使用以下命令从系统中完全删除软件包:

要删除 cuda 工具包:

sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*" 
Run Code Online (Sandbox Code Playgroud)

要删除 Nvidia 驱动程序:

sudo apt-get --purge remove "*nvidia*"
Run Code Online (Sandbox Code Playgroud)

如果您已通过源文件安装(假设默认位置为 /use/local),则使用以下命令将其删除:

sudo rm -rf /usr/local/cuda*
Run Code Online (Sandbox Code Playgroud)

从 cuda 11.4 开始,提供了卸载程序脚本。将其用于卸载:

# To uninstall cuda
sudo /usr/local/cuda-11.4/bin/cuda-uninstaller 
# To uninstall nvidia
sudo /usr/bin/nvidia-uninstall
Run Code Online (Sandbox Code Playgroud)

如果您遇到包损坏的问题,那么自从您将 repo 添加到 apt/sources.lst 后就发生了。运行以下命令将其删除:

sudo vim /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

转到包含对 Nvidia repo 的引用的行,并通过在行前附加 # 对其进行注释,例如:

#deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /
Run Code Online (Sandbox Code Playgroud)

然后运行

sudo apt-get update 
Run Code Online (Sandbox Code Playgroud)

这将解决问题。

参考资料:Nvidia卸载

  • 如果您使用 .deb 文件安装 cuda,则不会有 cuda-uninstaller。使用`sudo apt-get --purge删除“*cublas*”“*cufft*”“*curand*”\“*cusolver*”“*cusparse*”“*npp*”“*nvjpeg*”“cuda*” “洞察力*”` (4认同)

Cs2*_*s20 54

我解决了这个问题如下:

sudo apt-get purge nvidia*
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /usr/local/cuda*
Run Code Online (Sandbox Code Playgroud)

这将完成工作。

  • 就我而言,我必须清除与 cuda 相关的所有内容,而不是与 nvidia 相关的内容。除此之外,它还有效。 (5认同)
  • 小心使用此命令,清除还将删除您的 NVIDIA 驱动程序 (4认同)
  • @DimitrisKaramanis 请随意分享您是如何清除与 cuda 相关的所有内容的。我有`sudo apt-get purge cuda*`,如果你做了不同的事情,我可以更新答案。 (2认同)
  • 这对我来说还不够(nvidia 和 cuda 删除都没有解决损坏的 dpkg 状态) (2认同)

wba*_*dry 9

要删除 CUDA 工具包:

$ sudo apt-get --purge remove "*cublas*" "*cufft*" "*curand*" \
 "*cusolver*" "*cusparse*" "*npp*" "*nvjpeg*" "cuda*" "nsight*" 
Run Code Online (Sandbox Code Playgroud)

要删除 NVIDIA 驱动程序:

$ sudo apt-get --purge remove "*nvidia*"
Run Code Online (Sandbox Code Playgroud)

要清理卸载:

$ sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)

来源:NVIDIA 安装指南


Sub*_*ari 6

转到 - /usr/local/cuda-10.2/bin

运行 sudo ./cuda-uninstaller

检查所有选项,然后它将被自动卸载

  • 这是我的反对票,实际上没有卸载程序。 (2认同)
  • 仅当您安装了运行文件时,卸载程序文件才存在。如果您是从包管理器安装的,则不会。 (2认同)