卸载
如何判断是否已经卸载完毕,运行
dpkg -l | grep nvidia
dpkg -l | grep cuda
dpkg -l | grep tensorrt
如果有打印,需要卸载
sudo dpkg --remove --force-all ****
sudo apt purge *****
sudo dpkg --purge $(dpkg -l | grep 'rc' | grep -E 'cuda|nvidia|tensorrt' | awk '{print $2}')
安装
ubuntu内核需要和cuda版本匹配,踩了好多坑才踩出来:
适配 5.15.0-139 内核的 NVIDIA 550 驱动+CUDA 12.4
cuda+cudnn+tensorrt的版本匹配看我的csdn收藏
下载和安装参考如下
https://developer.nvidia.com/tensorrt/download/10x
可能为了稳定需要固定内核
如何判断tensorrt是安装好了的,运行以下命令行,有版本打印说明正常
python3 -c "import tensorrt; print(f'TensorRT Version: {tensorrt.__version__}')"
降低内核兼容
查到https://docs.nvidia.com/cuda/archive/12.1.1/cuda-installation-guide-linux/index.html
和https://docs.nvidia.com/cuda/archive/12.2.1/cuda-installation-guide-linux/index.htmlcuda 12.2兼容5.13.0 - 46 ubuntu内核。


安装5.13.0 - 46 ubuntu内核
# 确认是 Ubuntu 20.04
lsb_release -a # 输出:Release: 20.04
# 启用 HWE 源(5.13 内核属于 HWE 源)
sudo apt update
sudo apt install --install-recommends linux-generic-hwe-20.04 -y
# 1. 安装内核镜像+头文件+模块(必须完整安装)
sudo apt install linux-image-5.13.0-46-generic linux-headers-5.13.0-46-generic linux-modules-5.13.0-46-generic linux-modules-extra-5.13.0-46-generic -y
# 2. 验证安装结果(输出 ii 状态则成功)
dpkg --list | grep 5.13.0-46
# 1. 更新 GRUB 引导(识别新内核)
sudo update-grub
# 2. 重启系统(启动到 5.13.0-46 内核)
sudo reboot
卸载5.15.0-138和5.15.0-139 ubuntu内核,不然还会报错。
# 卸载核心包(镜像+头文件+模块)
sudo apt purge linux-image-5.15.0-139-generic \
linux-headers-5.15.0-139-generic \
linux-modules-5.15.0-139-generic \
linux-modules-extra-5.15.0-139-generic -y
# 若有通用头文件包,一并卸载
sudo apt purge linux-headers-5.15.0-139 -y
# 卸载核心包(镜像+头文件+模块,缺一不可)
sudo apt purge linux-image-5.15.0-138-generic \
linux-headers-5.15.0-138-generic \
linux-modules-5.15.0-138-generic \
linux-modules-extra-5.15.0-138-generic -y
# 若有通用头文件包,一并卸载
sudo apt purge linux-headers-5.15.0-138 -y
# 自动清理内核依赖残留(删除无用的依赖包)
sudo apt autoremove --purge -y
# 更新GRUB配置(删除旧内核的启动项)
sudo update-grub
# 验证删除结果(无输出则彻底清理干净)
dpkg --list | grep 5.15.0-138
安装5.13.0 - 46 ubuntu内核兼容cuda 12.1和12.2