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。安装过程中几个需要注意的地方:

  1. 设置用户和密码:root密码置空。这样可以禁用root账户,并且用户账户可以使用sudo。

  2. 对磁盘进行分区:手动。这样可以灵活决定每个分区的大小和位置。Debian图形安装程序很方便,输入分区大小可以带单位,如100 MB,不需要手动计算字节数。

  3. 配置软件包管理器:使用网络镜像站点。如果安装过程中有接网络,选择中国的镜像站点可以加快软件包下载速度。

磁盘分区

磁盘分区是在安装系统时需要进行的一个重要步骤。这里介绍一种比较常见的手动分区方案,适用于拥有两块硬盘(一块固态硬盘和一块机械硬盘)的台式机。我们将把固态硬盘用于存放操作系统和程序文件,以提高启动和运行速度;我们将把机械硬盘用于存放用户文件,以节省成本和扩展容量。分区方案如下:

  • EFI系统分区:100 MB,固态硬盘。这个分区用于存放启动引导程序。
  • 交换空间:5 GB,固态硬盘。这个分区用于在内存不足时,把一部分内存数据暂存到磁盘上,以避免系统崩溃。因为平时基本用不上交换空间,而且现在内存也不贵,我的内存是32G,如果分配这么大的交换空间,有点浪费,所以选择分配较小的交换空间。
  • /:固态硬盘。这个分区是根目录。固态硬盘的剩余空间都分配给它。
  • /var:50 GB,机械硬盘。这个分区用于存放一些经常变化的数据,如日志文件、缓存文件、临时文件等。
  • /home:机械硬盘。这个分区用于存放用户文件,如文档、图片、视频等。机械硬盘的剩余空间都分配给它。人工智能的数据集和模型可以放在用户目录下,所以该分区尽可能大,我这边分配给它接近2T。

初始配置

1. 中文目录改英文

如果关闭图形界面,中文显示会乱码,所以最好用英文,也能避免某些软件不支持中文路径的问题。

export LANG=en_USxdg-user-dirs-gtk-updateexport 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-firmwaredeb 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 linuxsudo 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 ~/Downloadschmod 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 -usudo 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。

总结

人工智能之路,漫漫无垠,只有不断前行,才能见到风景。安装系统是我们探索人工智能的第一步,但绝不是最后一步。在接下来的文章中,我将和你分享更多关于人工智能的知识和经验。敬请期待!



如果你喜欢我的文章,欢迎扫码关注我的公众号,获取更多技术干货,遇到问题也可以来交流哦!