ubuntu24.04:降内核+显卡驱动+cuda+cudnn+pytorch+anaconda+pycharm

文章目录

  • 显卡驱动、cuda、cudnn、pytorch、python的版本对于关系见我的文章
  • [一、ubutu24.04 必须降级内核(否则有显卡驱动兼容问题)](#一、ubutu24.04 必须降级内核(否则有显卡驱动兼容问题))
    • [1. 先检查当前内核版本:](#1. 先检查当前内核版本:)
    • [2. 安装 Ubuntu 24.04 发布时的原始内核 6.8](#2. 安装 Ubuntu 24.04 发布时的原始内核 6.8)
    • [3. 配置 GRUB 默认启动旧内核](#3. 配置 GRUB 默认启动旧内核)
    • [4. 重启后验证当前系统内核版本](#4. 重启后验证当前系统内核版本)
    • [5. 锁定当前内核,禁止升级](#5. 锁定当前内核,禁止升级)
  • 二、系统准备与换源
  • [三、安装 NVIDIA 显卡驱动](#三、安装 NVIDIA 显卡驱动)
    • [3.1 查看目前推荐驱动版本](#3.1 查看目前推荐驱动版本)
    • [3.2 安装系统推荐的显卡驱动(大概率重启后不成功)](#3.2 安装系统推荐的显卡驱动(大概率重启后不成功))
    • [3.3 验证安装](#3.3 验证安装)
    • [3.4 重新为低版本内核编译驱动(最后保险)](#3.4 重新为低版本内核编译驱动(最后保险))
  • [四、安装 CUDA 12.4](#四、安装 CUDA 12.4)
    • [4.1 下载cuda](#4.1 下载cuda)
    • [4.2 修改官网安装教程进行安装](#4.2 修改官网安装教程进行安装)
    • [4.3 配置环境变量](#4.3 配置环境变量)
    • [4.4 验证安装](#4.4 验证安装)
  • [五、安装 cuDNN](#五、安装 cuDNN)
    • [5.1 下载cudnn](#5.1 下载cudnn)
      • [(1) 在这个链接里找到cudnn9.1.0.70](#(1) 在这个链接里找到cudnn9.1.0.70)
      • [(2) 进入版本选择页面](#(2) 进入版本选择页面)
    • [5.2 按照以下命令进行解压和复制替换](#5.2 按照以下命令进行解压和复制替换)
    • [5.3 验证安装](#5.3 验证安装)
  • [六、安装 Anaconda](#六、安装 Anaconda)
    • [6.1 下载](#6.1 下载)
    • [6.2 安装](#6.2 安装)
    • [6.3 激活和验证](#6.3 激活和验证)
    • [6.4 安装mamba](#6.4 安装mamba)
    • [6.5 conda环境配置国内源](#6.5 conda环境配置国内源)
    • [6.6 从配置文件一键生成环境(慎用)](#6.6 从配置文件一键生成环境(慎用))
    • 6.7从头创建虚拟环境
  • [七、安装 PyTorch(CUDA 12.4 版)](#七、安装 PyTorch(CUDA 12.4 版))
    • [7.1 直接用一条命令安装cuda版pytorch](#7.1 直接用一条命令安装cuda版pytorch)
    • [7.2 验证安装](#7.2 验证安装)
  • [八、安装 PyCharm](#八、安装 PyCharm)
    • [8.1 下载](#8.1 下载)
    • [8.2 安装](#8.2 安装)
    • [8.3 手动创建快捷方式](#8.3 手动创建快捷方式)
    • [8.4 配置编译器](#8.4 配置编译器)
  • 九、其他依赖包安装见我的文章

显卡驱动、cuda、cudnn、pytorch、python的版本对于关系见我的文章

https://blog.csdn.net/sinat_30065705/article/details/164096032?fromshare=blogdetail&sharetype=blogdetail&sharerId=164096032&sharerefer=PC&sharesource=sinat_30065705&sharefrom=from_link

一、ubutu24.04 必须降级内核(否则有显卡驱动兼容问题)

1. 先检查当前内核版本:

bash 复制代码
uname -r

我返回的结果为:7.0.0-30-generic,内核较新,需要降级。为什么直接降级,因为我已经尝试过网上的其他方法,搞黑屏了。

2. 安装 Ubuntu 24.04 发布时的原始内核 6.8

bash 复制代码
sudo apt update
sudo apt install linux-image-generic#

3. 配置 GRUB 默认启动旧内核

(1)看已安装的内核列表

记下旧内核的完整名称

bash 复制代码
grep menuentry /boot/grub/grub.cfg

返回结果:完整内核名称为Linux 6.8.0-138-generic

xml 复制代码
if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0d9ea4e4-ab0a-4f32-a3b8-26f6762823e4' {
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-0d9ea4e4-ab0a-4f32-a3b8-26f6762823e4' {
	menuentry 'Ubuntu, with Linux 7.0.0-30-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-7.0.0-30-generic-advanced-0d9ea4e4-ab0a-4f32-a3b8-26f6762823e4' {
	menuentry 'Ubuntu, with Linux 7.0.0-30-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-7.0.0-30-generic-recovery-0d9ea4e4-ab0a-4f32-a3b8-26f6762823e4' {
	menuentry 'Ubuntu, with Linux 6.8.0-138-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.8.0-138-generic-advanced-0d9ea4e4-ab0a-4f32-a3b8-26f6762823e4' {
	menuentry 'Ubuntu, with Linux 6.8.0-138-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.8.0-138-generic-recovery-0d9ea4e4-ab0a-4f32-a3b8-26f6762823e4' {
menuentry "Memory test (memtest86+x64.efi)" --class memtest $menuentry_id_option 'memtest86+' {
menuentry 'Memory test (memtest86+x64.efi, serial console)' --class memtest $menuentry_id_option 'memtest86+-serial' {
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-82C2-EF58' {
		menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {

(2)将默认启动项改为 6.8.0-138-generic 内核

在终端中使用以下命令:

bash 复制代码
# 打开 GRUB 配置文件
sudo apt install gedit
sudo gedit /etc/default/grub
# 到 GRUB_DEFAULT 这一行,将其改为
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-138-generic"
# 更新 GRUB 配置
sudo update-grub
# 重启计算机
sudo reboot

4. 重启后验证当前系统内核版本

重启时进入高级选项选择低版本内核

bash 复制代码
uname -r

返回结果

5. 锁定当前内核,禁止升级

bash 复制代码
sudo apt-mark hold linux-image-6.8.0-138-generic linux-headers-6.8.0-138-generic

二、系统准备与换源

2.1 更新系统并安装基础工具

随便在哪鼠标右击打开命令终端,输入以下命令,sudo的密码即为开机密码。

bash 复制代码
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential git curl wget vim

2.2 更换国内软件源

命令终端内输入以下命令:

bash 复制代码
sudo gedit /etc/apt/sources.list
## 将以下源复制进上述文本
Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/ http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ http://mirrors.ustc.edu.cn/ubuntu/ https://mirrors.huaweicloud.com/ubuntu/ http://mirrors.163.com/ubuntu/ http://mirrors.zju.edu.cn/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/ http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ http://mirrors.ustc.edu.cn/ubuntu/ https://mirrors.huaweicloud.com/ubuntu/ http://mirrors.163.com/ubuntu/ http://mirrors.zju.edu.cn/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# 更新软件列表
sudo apt update

2.3 ibus-libpinyin 拼音输入法(sogou不兼容24.04)

(1)设置区域和语言

首先在设置------系统------区域与语言------管理已安装语言中进行设置。英文系统将上述名称换成英文看即可,设置一样。

若语言栏目中没有汉语,则在添加语言中增加汉语,默认IBus不变,然后应用到整个系统。最好将当前显示语言改为中文,否则英文界面和中文输入法下键盘按键会被认为是其他地区的键盘,导致按键错乱.

(2)安装拼音输入法

一般第一步设置完会自动安装ibus-libpinyin 输入法,以防万一输入以下安装命令,然后重启电脑

bash 复制代码
sudo apt update
sudo apt install ibus-libpinyin
im-config -n ibus
ibus-daemon -drx

(3)添加输入源

在设置------键盘------输入源中添加输入源------中文智能拼音。

(4)选择键盘

在系统右上角中/英符号中可选择中文输入法。若还是无法使用中文输入,多试几次上述步骤,注意一定要重启电脑,注销没用

2.4 Gopeed (下载工具)

(1)下载

ubuntu下的下载工具,否则用浏览器下载太慢,还容易失败。

下载地址:https://github.com/GopeedLab/gopeed/releases

(2)安装

下载后在下载目录右击打开终端,输入以下命令:

bash 复制代码
sudo dpkg -i Gopeed-v1.9.3-linux-amd64.deb
# 出现依赖关系错误后
sudo apt install -f
# 删除一些多余的包
sudo apt autoremove
# 再次运行安装命令
sudo dpkg -i Gopeed-v1.9.3-linux-amd64.deb

# 若还是缺少依赖,强制安装
sudo dpkg --force-depends -i Gopeed-v1.9.3-linux-amd64.deb

2.5 向日葵远程

下载地址:向日葵

老版本安装教程(供参考):安装教程

下载后在下载目录右击打开终端,输入以下命令:

bash 复制代码
sudo dpkg -i awesun_16.6.0.32198_amd64.deb

三、安装 NVIDIA 显卡驱动

3.1 查看目前推荐驱动版本

bash 复制代码
sudo ubuntu-drivers devices

返回结果可以看出,vidia-driver-595-open是系统推荐的驱动。

3.2 安装系统推荐的显卡驱动(大概率重启后不成功)

一般推荐的显卡驱动会在安装系统联网时自动安装。以防万一,再自动安装一次.

bash 复制代码
# 优先自动安装
sudo ubuntu-drivers autoinstall
# 失败才指定
sudo apt install -y nvidia-driver-595-open

安装完后重启电脑。

3.3 验证安装

终端中输入:

bash 复制代码
nvidia-smi

如果该没有正常返回,按以下步骤排查:

bash 复制代码
# 查看已安装的 NVIDIA 驱动包
dpkg -l | grep nvidia
# 查看驱动模块是否已加载
lsmod | grep nvidia
# 如果 lsmod | grep nvidia 没有输出,说明驱动模块未加载。

# 尝试加载 nvidia 模块
sudo modprobe nvidia
# 如果报错,查看具体错误信息
dmesg | tail -20
# 如果 modprobe 报错 Module not found,说明驱动没有为当前内核编译。

3.4 重新为低版本内核编译驱动(最后保险)

bash 复制代码
# 1. 彻底卸载当前所有 NVIDIA 驱动
sudo apt purge 'nvidia-*' 'libnvidia-*' 'cuda-*' -y 2>/dev/null
sudo apt autoremove --purge -y

# 2. 如果之前是用 runfile 安装的,还需要手动卸载
# 检查是否有 .run 文件残留
sudo nvidia-uninstall 2>/dev/null || echo "没有 runfile 安装的驱动"

# 3. 清理可能残留的模块文件
sudo rm -rf /lib/modules/*/kernel/drivers/video/nvidia*
sudo rm -rf /usr/src/nvidia-*
sudo rm -rf /var/lib/dkms/nvidia*

# 4. 安装 DKMS 和内核头文件
sudo apt install -y dkms linux-headers-6.8.0-138-generic

# 5. 通过 apt 安装驱动(580)
sudo apt install -y nvidia-driver-580-server

# 6. 重启
sudo reboot

重启时顺便进入电脑bios设置关闭Secure Boot (安全启动).

再次验证安装:反馈正常

四、安装 CUDA 12.4

4.1 下载cuda

(1)在这个链接里找到cuda12.4

此地址一直更新的,cuda官方页面,点击前面带版本号的名称。

(2)进入版本选择页面

选择适合自己的系统、架构和软件部署方式。

4.2 修改官网安装教程进行安装

Ubuntu 24.04 默认没有 libtinfo5,但 CUDA 12.4 的某些组件(如 nsight-systems)依赖它,直接安装会报错.因此将官方安装命令中的最后一个替换掉,安装几个核心组件.

bash 复制代码
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
# 自动下载到/home/user/downloads文件夹
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt install -y cuda-nvcc-12-4 cuda-cudart-dev-12-4 cuda-libraries-dev-12-4

4.3 配置环境变量

bash 复制代码
echo 'export PATH=/usr/local/cuda-12.4/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
export CUDA_HOME=/usr/local/cuda-12.4
source ~/.bashrc

4.4 验证安装

bash 复制代码
nvcc --version

返回结果:正常

五、安装 cuDNN

5.1 下载cudnn

(1) 在这个链接里找到cudnn9.1.0.70

此地址一直更新的,cundnn所有历史版本下载地址,点击前面带版本号的名称。

(2) 进入版本选择页面

选择适合自己的系统、架构和软件部署方式。建议下载tar版本.

5.2 按照以下命令进行解压和复制替换

在下载的目录中打开终端,输入以下命令:

bash 复制代码
# 解压下载的文件
tar -xvf cudnn-linux-x86_64-*.tar.xz
cd cudnn-linux-x86_64-*/

# 复制头文件和库文件
sudo cp include/cudnn*.h $CUDA_HOME/include/
sudo cp lib/libcudnn* $CUDA_HOME/lib64/
sudo chmod a+r $CUDA_HOME/include/cudnn*.h $CUDA_HOME/lib64/libcudnn*

5.3 验证安装

bash 复制代码
cat $CUDA_HOME/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

返回结果:正常

六、安装 Anaconda

6.1 下载

anaconda官方下载地址,选择linux x64架构版本下载.

6.2 安装

在下载目录打开终端输入:bash Anaconda3-2026.07-1-Linux-x86_64.sh

然后根据终端中的提示进行安装.

6.3 激活和验证

bash 复制代码
source ~/.bashrc
# 查看 Conda 版本
conda --version

返回结果:正常

与windows有区别是,安装好后,ubuntu打开终端默认会进入base环境.

6.4 安装mamba

建议先安装mamba再更新国内源,避免conda解决方案卡住.

(1)安装

conda解决环境速度慢又容易卡住,还是mamba好,用起来命令和conda类似,只要把conda开头的换成mamba就行。

bash 复制代码
conda update conda
conda install mamba -n base -c conda-forge
eval "$(mamba shell hook --shell bash)"
# 验证安装成功
mamba --version  

返回结果:正常

(2)编辑配置文件

bash 复制代码
# 编辑配置文件
gedit ~/.bashrc

# 在文件末尾添加以下内容
# >>> mamba initialize >>>
# !! Contents within this block are managed by 'mamba shell hook' !!
eval "$(mamba shell hook --shell bash)"
# <<< mamba initialize <<<

source ~/.bashrc

6.5 conda环境配置国内源

base环境下输入以下命令

bash 复制代码
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes

6.6 从配置文件一键生成环境(慎用)

可以按照我之前从windows虚拟环境中导出的配置文件,一键生成虚拟环境并安装能够稳定运行的版本的所有依赖包,包含cuda版pytorch.如果报错,可以收到删除配置文件中和win32\win64等windows系统相关的依赖包.

但是还所有很多错误,不建议使用此方法.

bash 复制代码
# 环境名词XXX,配置文件名称XXX
mamba env create -n XXX -f XXX.yml

我整理的conda环境配置文件有以下这些:

(1)基于FunAudioLLM和deepseek开发离线智能语音对话助手虚拟环境配置文件下载地址

(2)deepseek离线模型训练、试运行、训练后模型运行虚拟环境配置文件下载地址

(3)视觉检测YoloV8目标检测+mediapipe姿态检测虚拟环境配置文件下载地址

(4)自动化学习autogluon虚拟环境配置文件下载地址

6.7从头创建虚拟环境

可以按照我的文章教程一步一步重新创建文章地址

bash 复制代码
mamba create -n pytorch python=3.11 -y
mamba activate pytorch

七、安装 PyTorch(CUDA 12.4 版)

7.1 直接用一条命令安装cuda版pytorch

激活上一步的conda虚拟环境

bash 复制代码
mamba activate pytorch
mamba install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia -y

7.2 验证安装

在conda虚拟环境中输入 python,在python编译环境中依次输入以下命令:

python 复制代码
import torch
print("PyTorch 版本:", torch.__version__)
print("CUDA 可用:", torch.cuda.is_available())

返回结果:正常

八、安装 PyCharm

8.1 下载

下载地址:pycharm官方.选择适合自己架构的版本下载.

8.2 安装

在下载目录中打开终端,输入以下解压命令:

bash 复制代码
tar -xvf pycharm-2026.2.1.tar.gz 
cd pycharm-2026.2.1/bin/

# 直接运行
./pycharm.sh

8.3 手动创建快捷方式

bash 复制代码
gedit ~/.local/share/applications/pycharm.desktop

将以下内容复制进去

xml 复制代码
[Desktop Entry]
Name=PyCharm
Comment=Python IDE
Exec=/home/wyuchen/Downloads/pycharm-2026.2.1/bin/pycharm.sh
Icon=/home/wyuchen/Downloads/pycharm-2026.2.1/bin/pycharm.png
Terminal=false
Type=Application
Categories=Development;IDE;

8.4 配置编译器

和windows一样配置,添加本地conda虚拟环境解释器.

九、其他依赖包安装见我的文章

(1)Anaconda和Mamba创建环境管理包常用命令合集

(2)利用Anaconda和Mamba创建深度学习常用三大环境

(3)部署本地deepseek/Qwen模型并在局域网中多人交互

(4)本地部署语音识别框架FunAudioLLM------Fun-ASR-Nano-2512模型

(5)基于FunAudioLLM和deepseek开发离线智能语音对话助手(Edge-TTS备用)

(6)基于CosyVoice定制AI语音对话助手提速优化

(7)YoloV8目标检测模型的运行与训练及数据标注

(8)一个摄像头体感玩转所有动作游戏(含完整可执行代码,自定义键位和动作教程)燕云原神

(9)win11系统cuda+cudnn+pytorch+Anaconda+Pycharm部署全流程

相关推荐
Likeadust14 分钟前
多视角直播破局!企业融媒体系统在线高清直播EasyDSS多路同屏技术,重构实时可视化传播体验
人工智能·重构·媒体
万邦科技Lafite14 分钟前
1688一键创建订单付款API操作指南讲解
人工智能·微信·api·电商开放平台·淘宝开放平台·api开放接口
Forerror202615 分钟前
API网关能做什么?MAI Gateway如何赋能企业AI能力
人工智能·maigateway·finapi·企业级ai网关·大模型财务管控
多多鼠24 分钟前
Tool Calling的信任边界:从协议校验到执行沙箱的完整链路设计
运维·开发语言·网络·人工智能·python·langchain
一水鉴天28 分钟前
问题分类的三元组映射体系与求解方法论 20260901(千问)
人工智能·算法·机器学习
ar012332 分钟前
AR工业眼镜应用:从现场辅助工具升级为工业作业智能入口
人工智能·ar
承渊政道33 分钟前
不只会打字回复:Open-LLM-VTuber接入大模型,让AI能听、能说、还能看到屏幕
人工智能·语音识别·智能问答·cpolar·open-llm-vtuber·多模态 ai 助手
淼澄研学42 分钟前
Debian通过AI决议:合规解析与Ollama本地部署Llama3实操
运维·人工智能·debian
邀星月为媒1 小时前
从零打造一个属于自己的 AI Agent:Core Hive Agent 开源项目解析
人工智能·hive·开源