保姆级deb安装与卸载全攻略)
Ubuntu 20.04完整AI开发环境搭建与清理指南CUDA 11.8全家桶深度实践在AI开发领域环境配置往往是项目开始前的第一道门槛。不同于简单的软件安装CUDA、cuDNN和TensorRT这一套NVIDIA生态工具的部署涉及系统级配置、版本兼容性检查和复杂的依赖关系管理。更棘手的是当我们需要切换版本或清理环境时常规的卸载操作往往会在系统中留下各种残骸导致后续安装出现难以排查的问题。本文将带你完整走通从安装到卸载的全流程不仅告诉你怎么做还会解释为什么这么做。1. 环境准备与前置检查在开始安装之前我们需要对系统进行全面的体检。Ubuntu 20.04虽然官方支持CUDA 11.8但实际环境中可能存在各种隐性问题。首先确认你的系统架构uname -m对于大多数现代工作站你应该看到x86_64的输出。接下来检查已安装的NVIDIA驱动版本nvidia-smi这个命令会显示类似如下的输出----------------------------------------------------------------------------- | NVIDIA-SMI 525.60.13 Driver Version: 525.60.13 CUDA Version: 12.0 | |---------------------------------------------------------------------------注意虽然这里显示CUDA 12.0但这只是驱动支持的最高CUDA版本不代表系统中已安装的CUDA版本。关键检查点清单确保系统已安装gcc和makesudo apt install build-essential验证内核头文件sudo apt install linux-headers-$(uname -r)检查磁盘空间至少需要10GB可用空间关闭所有可能占用GPU的进程包括桌面环境重要提示如果你之前尝试过安装CUDA但失败了建议先跳到本文第4章执行完整清理后再开始新安装。2. CUDA 11.8深度安装指南2.1 通过deb包安装CUDANVIDIA提供了多种CUDA安装方式deb方式因其便于管理而成为首选。首先添加CUDA仓库密钥和源sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub sudo add-apt-repository deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /安装CUDA 11.8的元包sudo apt install cuda-11-8专业建议不要安装cuda元包它会自动升级到最新版本而是明确指定cuda-11-8以保证版本稳定。安装完成后需要设置环境变量。编辑~/.bashrc文件添加以下内容export PATH/usr/local/cuda-11.8/bin${PATH::${PATH}} export LD_LIBRARY_PATH/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}}验证安装是否成功nvcc --version你应该看到类似release 11.8的输出。为了进一步验证CUDA功能可以编译并运行示例程序cd /usr/local/cuda-11.8/samples/1_Utilities/deviceQuery sudo make ./deviceQuery2.2 cuDNN 8.6.0定制化安装cuDNN的安装需要特别注意版本匹配。首先从NVIDIA开发者网站下载三个deb包libcudnn8_8.6.0.163-1cuda11.8_amd64.deblibcudnn8-dev_8.6.0.163-1cuda11.8_amd64.deblibcudnn8-samples_8.6.0.163-1cuda11.8_amd64.deb安装命令如下sudo dpkg -i libcudnn8_8.6.0.163-1cuda11.8_amd64.deb sudo dpkg -i libcudnn8-dev_8.6.0.163-1cuda11.8_amd64.deb sudo dpkg -i libcudnn8-samples_8.6.0.163-1cuda11.8_amd64.deb验证cuDNN安装cp -r /usr/src/cudnn_samples_v8/ $HOME cd $HOME/cudnn_samples_v8/mnistCUDNN make clean make ./mnistCUDNN如果看到Test passed!说明cuDNN工作正常。2.3 TensorRT 8.6.0及其生态组件TensorRT的安装需要额外关注其周边工具链。首先下载并安装主包sudo dpkg -i nv-tensorrt-local-repo-ubuntu2004-8.6.0-cuda-11.8_1.0-1_amd64.deb sudo apt update sudo apt install tensorrt根据你的使用场景选择安装以下组件组件名称用途安装命令python3-libnvinfer-devPython接口sudo apt install python3-libnvinfer-devonnx-graphsurgeonONNX模型处理sudo apt install onnx-graphsurgeonuff-converter-tfTensorFlow模型转换sudo apt install uff-converter-tf验证TensorRT安装import tensorrt as trt print(trt.__version__) # 应该输出8.6.03. 环境配置进阶技巧3.1 多版本CUDA共存管理在实际开发中我们经常需要切换不同CUDA版本。通过符号链接可以实现灵活切换sudo rm /usr/local/cuda sudo ln -s /usr/local/cuda-11.8 /usr/local/cuda创建切换脚本cuda-switch.sh#!/bin/bash sudo rm /usr/local/cuda sudo ln -s /usr/local/cuda-$1 /usr/local/cuda使用方法sudo ./cuda-switch.sh 11.83.2 容器化开发环境配置对于需要隔离的环境可以考虑使用NVIDIA官方容器docker run --gpus all -it nvidia/cuda:11.8.0-base-ubuntu20.04在容器内部可以单独安装cuDNN和TensorRT的deb包这样主机环境保持干净。3.3 性能调优参数在/etc/environment中添加以下参数可以优化深度学习性能CUDA_CACHE_PATH/home/$USER/.nv/ComputeCache CUDA_CACHE_MAXSIZE1073741824 TF_GPU_THREAD_MODEgpu_private4. 彻底卸载与系统清理指南4.1 完全卸载TensorRTTensorRT的卸载需要特别注意依赖关系sudo apt purge libnvinfer* libnvonnxparsers* libnvparsers* libnvinfer-plugin* sudo apt purge tensorrt* sudo rm -rf /usr/include/x86_64-linux-gnu/NvInfer* sudo rm -rf /usr/lib/x86_64-linux-gnu/libnvinfer*4.2 清理cuDNN所有组件执行以下命令彻底移除cuDNNsudo apt purge libcudnn8* sudo find /usr -name *cudnn* -exec rm -rf {} sudo updatedb4.3 CUDA的深度清理CUDA的卸载最为复杂需要多层清理首先移除主包sudo apt purge cuda-11-8清理残留文件sudo find /usr -name *cuda* | grep -v cuda-11.8 | xargs rm -rf删除用户目录缓存rm -rf ~/.nv/ rm -rf ~/.cache/nvidia/最后清理依赖项sudo apt autoremove --purge4.4 系统级清理检查清单完成上述步骤后执行以下检查dpkg -l | grep -i nvidia dpkg -l | grep -i cuda dpkg -l | grep -i cudnn dpkg -l | grep -i tensorrt如果仍有残留使用sudo dpkg -P package-name强制移除。