Ubuntu22.04.5离线安装英伟达驱动(linux离线安装软件)

Orangeal 2024-10-26 10:37:02 阅读 94

Ubuntu22.04.5离线安装英伟达驱动(linux离线安装软件)

本文档旨在分享笔者在离线Ubuntu平台安装英伟达驱动的经验。笔者设备是才装好的Ubuntu22.04.5,没有连网,只离线安装了vscode,miniconda。所以文档中的命令一般都不需要单独安装相关包,可以直接往下进行。

其他软件离线安装方式也可以参考本文。

本教程是将步骤喂给AI生成的基础上修改,如有错误,敬请指正。

1 准备工作

主要参考教程 ubuntu apt-get离线源制作

1.1 在联网平台下载安装包

安装Nvidia显卡驱动前置要求是要安装gcc,g++,make等。首先,在联网linux系统平台下载相关安装包。

在终端中执行以下命令来下载 gcc, g++, make, build-essentialdpkg-dev 及其依赖项,选择或者新建一个安装包文件夹,进入之后输入以下命令:

sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances gcc g++ make build-essential dpkg-dev | grep "^\w" | sort -u)

此命令回下载离线安装所有必需的 .deb 文件(包括安装包本身及相关依赖)到当前目录。

下载对应版本NVIDIA驱动

访问 NVIDIA 驱动下载官方网站 选择与显卡匹配的驱动程序进行下载。对于离线安装,确保下载 .run 文件。

1.2 联网平台建立包依赖关系

在下载完所有必要的 .deb 文件后,需要为这些文件创建一个本地软件仓库。通过 dpkg-scanpackages 工具(需要自行安装)完成。

终端进入安装包文件路径,输入以下命令:

sudo dpkg-scanpackages -m . /dev/null | gzip -9c > Packages.gz

此命令会在当前目录下生成一个 Packages.gz 文件,该文件包含了所有 .deb 文件的信息,供 APT 使用。

1.3 打包并传输到离线系统

将下载的所有 .deb 文件及其 Packages.gz 文件打包成一个压缩文件,以便于传输:

tar -zcvf package.tar.gz 安装包文件夹路径

通过U盘等介质传输打包压缩后的文件,NVIDIA驱动直接单独拷贝即可

目标离线平台解压缩,将上述生成的压缩文件复制到离线系统的指定路径,并解压到指定路径:

tar -zxvf package.tar.gz -C 指定路径

1.4 配置离线源

添加离线源

假设将解压后的文件放置在 /opt/gcc_g++_make_offline/archive 目录下,接下来需要将此路径添加到 APT 的源列表中:

echo "deb file:///opt/gcc_g++_make_offline/ archive/" | sudo tee /etc/apt/offline-repo.list

更新源

更新 APT 的软件包索引以包含新的离线源:

sudo apt-get update

1.5 安装软件包

安装所有下载的软件包

以笔者安装路径为例,进入包含 .deb 文件的目录,并安装所有软件包:

cd /opt/gcc_g++_make_offline/archive

sudo dpkg -i *.deb

如果出现依赖性问题,可以运行以下命令来解决:

sudo apt-get -f install

1.6 验证安装

安装完成后,可以通过检查版本号来验证安装是否成功:

gcc --version

g++ --version

make --version


2 NVIDIA 驱动安装过程

2.1 关闭图形界面

为了防止安装过程中出现冲突,建议在纯文本终端模式下进行操作。按下 Ctrl + Alt + F3 进入一个 TTY 终端,然后输入用户名和密码进行登录。

2.2 停止 X 服务器

在继续之前,需要停止 X 服务器(图形用户界面),如果使用的是不同的显示管理器,请替换 lightdm 为相应的服务名,如笔者为gdm3。:

sudo service lightdm stop

非图形界面和终端类似,如果关闭X服务器之后界面只显示一个光标且无法输入,可以切换到其他文本模式控制台 Ctrl + Alt + F2~F6。除F3外F2到F6选一个即可,重新登录。输入以下命令查看X服务是否已关闭:

sudo systemctl status gdm3

2.3 安装 NVIDIA 驱动

主要参考教程 Ubuntu16.04安装NVIDIA驱动踩过的坑

运行安装脚本,按照提示进行安装:

sudo sh NVIDIA-Linux-x86_64-*.run

安装过程的选项参考Ubuntu16.04安装NVIDIA驱动踩过的坑。

笔者安装过程出现 ERROR: An error occurred while performing the step:Building kernel modules. See /var/log/nv报错,查看log后发现报错信息为cc: error: unrecognized command-line option ‘-ftrivial-auto-var-init=zero‘,搜索之后发现是gcc版本问题,ubuntu22.04默认下载gcc-11,笔者linux系统内核版本是6.13,需要使用gcc-12,于是再装一个新版的gcc和g++即可,参考一 准备工作里的下载命令,下载指定版本只需将gcc改成gcc-12。命令如下:

sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances gcc-12 g++-12 | grep "^\w" | sort -u)

完成后再在离线平台上安装gcc-12g++-12,然后用gcc --version发现系统默认编译器版本还是gcc-11,需要手动调整默认编译器版本或者优先级。命令如下(其中20和10是优先级,数字大即表示优先级高):

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11

2.4 启动图形界面

安装完成后,重启 X 服务器:

sudo service gdm3 start

或者直接重启计算机:

sudo reboot

2.5 验证安装

重启后,通过以下命令检查 NVIDIA 驱动是否正确安装:

nvidia-smi

如果一切正常,终端会打印有关 GPU 的信息,包括使用的驱动版本。

参考资料

NVIDIA 官方驱动下载ubuntu apt-get离线源制作Ubuntu16.04安装NVIDIA驱动踩过的坑Linux 下使用 update-alternatives 管理多版本命令



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。