Debian 12是最新发布的Debian GNU/Linux发行版,代号为Bookworm。人工智能程序通常需要大量的计算资源,尤其是GPU,来加速训练和推理过程。为了让Debian 12系统能够正常渲染桌面,并充分利用Nvidia GPU的性能,我们需要安装合适的显卡驱动。
本文介绍如何安装Debian 12系统和Nvidia显卡驱动,以打造一个高效的人工智能运行环境。我们将从以下方面进行介绍:
- 安装简介:介绍系统的重要更新和安装注意事项。
- 磁盘分区:合理地划分磁盘空间,以满足人工智能程序的需要。
- 初始配置:做一些简单的配置,方便后续使用。
- 显卡驱动安装:下载和安装Nvidia官网提供的最新版本的显卡驱动,以支持GPU和CUDA工具。
- 多余程序卸载:清理掉一些不必要或者不常用的自带程序,以节省磁盘空间和注意力。
- 软件生态补充:虚拟机安装macOS,以运行Debian缺少的软件,比如微信小程序开发工具和微信。
安装简介
Debian 12这次发行包含了许多软件的更新,比较重要的是Linux 内核映像使用了6.1版本,GNOME桌面使用了43版本。
Linux内核6.1带来了一些新的特性和改进,例如:
- 支持Rust语言编写内核代码,提高内核的安全性和可靠性。
- 引入MG-LRU算法,优化内存回收和提高系统性能。
- 改进Btrfs文件系统的性能。
GNOME 43也提供了一系列的新特性和改进,提高了GNOME桌面环境的易用性和美观性,例如比以前更方便地进行截图和录屏。
从Debian官网下载最新稳定版镜像,如当前是debian-12.0.0-amd64-DVD-1.iso。安装过程中几个需要注意的地方:
-
设置用户和密码:root密码置空。这样可以禁用root账户,并且用户账户可以使用sudo。
-
对磁盘进行分区:手动。这样可以灵活决定每个分区的大小和位置。Debian图形安装程序很方便,输入分区大小可以带单位,如100 MB,不需要手动计算字节数。
-
配置软件包管理器:使用网络镜像站点。如果安装过程中有接网络,选择中国的镜像站点可以加快软件包下载速度。
磁盘分区
磁盘分区是在安装系统时需要进行的一个重要步骤。这里介绍一种比较常见的手动分区方案,适用于拥有两块硬盘(一块固态硬盘和一块机械硬盘)的台式机。我们将把固态硬盘用于存放操作系统和程序文件,以提高启动和运行速度;我们将把机械硬盘用于存放用户文件,以节省成本和扩展容量。分区方案如下:
- EFI系统分区:100 MB,固态硬盘。这个分区用于存放启动引导程序。
- 交换空间:5 GB,固态硬盘。这个分区用于在内存不足时,把一部分内存数据暂存到磁盘上,以避免系统崩溃。因为平时基本用不上交换空间,而且现在内存也不贵,我的内存是32G,如果分配这么大的交换空间,有点浪费,所以选择分配较小的交换空间。
- /:固态硬盘。这个分区是根目录。固态硬盘的剩余空间都分配给它。
- /var:50 GB,机械硬盘。这个分区用于存放一些经常变化的数据,如日志文件、缓存文件、临时文件等。
- /home:机械硬盘。这个分区用于存放用户文件,如文档、图片、视频等。机械硬盘的剩余空间都分配给它。人工智能的数据集和模型可以放在用户目录下,所以该分区尽可能大,我这边分配给它接近2T。
初始配置
1. 中文目录改英文
如果关闭图形界面,中文显示会乱码,所以最好用英文,也能避免某些软件不支持中文路径的问题。
export LANG=en_US
xdg-user-dirs-gtk-update
export LANG=zh_CN.UTF-8
2. apt配置
打开“Software & Update”,选中main,下载自中国的服务器,去掉cdrom,并重新载入。
该操作等效于将以下内容写入/etc/apt/sources.list:
# deb cdrom:[Debian GNU/Linux 12.0.0 _Bookworm_ - Official amd64 DVD Binary-1 with firmware 20230610-10:23]/ bookworm main non-free-firmware
deb http://ftp.cn.debian.org/debian/ bookworm main
并且完成了以下命令:
sudo apt update
3. 安装vim编辑器
sudo apt install vim
显卡驱动安装
Debian 12自带的显卡驱动是Nouveau,容易出问题,比如我安装完进入系统后屏幕不断闪烁。为了桌面能正常工作,也为了运行深度学习程序,我们需要安装Nvidia官方的显卡驱动。
1. 下载驱动程序
打开浏览器,访问Nvidia官网下载页面。在页面上,选择以下选项:
- 产品类型: GeForce
- 产品系列: GeForce RTX 30 Series(根据实际显卡型号选择)
- 产品家族: GeForce RTX 3060(根据实际显卡型号选择)
- 操作系统: Linux 64-bit
- 下载类型: 生产分支生
- 语言:Chinese (Simplified)
然后点击搜索按钮,就会显示出可用的驱动程序。点击下载按钮,就会开始下载一个以.run结尾的文件(例如,NVIDIA-Linux-x86_64-530.41.03.run)。
2. 安装依赖包和内核头文件
在安装驱动之前,我们需要安装一些依赖包和内核头文件,以便驱动能够正确编译和加载。输入以下命令:
sudo apt install gcc make linux-headers-$(uname -r)
为了防止以后内核版本升级导致显卡驱动运行异常,我们需要禁止内核更新。参考以下命令:
dpkg --get-selections | grep linux
sudo apt-mark hold linux-image-6.1.0-9-amd64 linux-headers-6.1.0-9-amd64 linux-headers-6.1.0-9-common
3. 运行驱动程序
我们需要切换到下载驱动程序的目录(例如,~/Downloads),并给驱动程序赋予可执行权限。参考以下命令:
cd ~/Downloads
chmod u+x NVIDIA-Linux-x86_64-530.41.03.run
然后,我们就可以运行驱动程序了。参考以下命令:
sudo ./NVIDIA-Linux-x86_64-530.41.03.run
这会启动一个交互式的安装向导,让我们选择一些选项。安装过程中,可能会出现一些警告或错误信息,我们可以忽略警告,或者按照提示处理错误。
4. 处理错误信息
如果错误信息提示我们停止gdm3,就运行以下命令(否则跳过这一步):
sudo /etc/init.d/gdm3 stop
停止gdm3后,会关闭图形界面,进入一个黑屏的命令行模式,重新运行驱动程序。
如果错误信息提示我们驱动与Nouveau冲突,就需要禁用Nouveau(否则跳过这一步)。驱动会帮我们生成/etc/modprobe.d/nvidia-installer-disable-nouveau.conf文件,确认文件已经写入后,我们只需运行以下命令:
sudo update-initramfs -u
sudo reboot
重启后重新运行驱动程序。
5. 验证驱动
我们可以使用以下命令来验证驱动是否正常工作:
nvidia-smi
我们可以从输出的信息中看到驱动版本号、最高支持的CUDA版本号、显存占用、GPU温度等信息。
多余程序卸载
在安装完Debian 12系统后,我们可能会发现系统中自带了一些不必要的程序,如游戏。卸载自带程序有两种方法,一种是使用图形界面的软件管理器,另一种是使用命令行的apt工具。
打开“软件”,我们可以卸载的有:
- 2048
- 对对碰
- 俄罗斯方块
- 国际象棋
- 黑白棋
- 华容道
- 机器人
- 连珠消球
- 扫雷
- 数独
- 数壹
- 四邻
- 四子连线
- 推盘
- 消色块
- 掷骰子
- AisleRiot 接龙游戏
- GNOME 贪食蛇
如果不喜欢用firefox浏览器,可以卸载掉它。建议安装好需要的浏览器后再来卸载。
sudo apt purge firefox-esr
卸载完成后,可以使用以下命令来清理一些不再需要的依赖包和配置文件:
sudo apt-get --purge autoremove
软件生态补充
我们日常使用的软件和开发工具,基本Debian都有,比如百度网盘、有道云笔记、QQ等。但难免个别软件没有提供Linux版,比如微信小程序开发工具,这时我们可以利用虚拟机来运行,推荐安装macOS。
总结
人工智能之路,漫漫无垠,只有不断前行,才能见到风景。安装系统是我们探索人工智能的第一步,但绝不是最后一步。在接下来的文章中,我将和你分享更多关于人工智能的知识和经验。敬请期待!