问题描述
- 准备好
Ubuntu18
的系统光盘后进行离线安装 ,以Dell
为例,需要在加载页面敲击F2
键,进入到 Boot Sequence 从而把光盘(DVD)的优先级调到最高,如果没有该选项可以点击Add Boot option
来添加,保存好后退出该界面进入系统安装的环节(这个加载的时间和光盘的读取速度有关),根据提示和自己的需求依次选择即可。具体步骤可以参考链接 - 离线状态下安装的
Ubuntu
系统,有的时候没有网卡、显卡等驱动,需要进一步安装。
解决方法
查看编译环境
新装的系统可能没有
make
和gcc
等的程序。此时可以参考链接一个个下载对应的依赖包然后安装;如果用的是启动光盘/U盘,或者有对应系统的
iso
文件,可以从该文件系统中的pool/main
找到依赖包。
gcc
离线安装- 安装
/g/gcc-8
中所有的lib
文件:sudo dpkg -i lib*.deb
- 安装
l/linux/
下的deb
文件:sudo dpkg -i linux-libc-dev_4.15.0-76.86_amd64.deb
/g/glibc
中所有的lib
文件:sudo dpkg -i lib*.deb
/g/gcc-7
文件夹中的文件:sudo dpkg -i lib*.deb
sudo dpkg -i g*.deb
- 创建快捷方式:
sudo ln -s /usr/bin/gcc-7 /usr/bin/gcc
sudo ln -s /usr/bin/g++-7 /usr/bin/g++
sudo ln -s /usr/bin/gcc-7 /usr/bin/cc
- 安装
make
离线安装- 安装
m/make-dfsg
中的文件:sudo dpkg -i make_4.1-9.1ubuntu1_amd64.deb
- 安装
dkms
离线安装- 先安装
d/dpkg
中的dpkg-dev
文件,之后再安装d/dkms
中的文件 - 需要注意的是
dkms
需要gcc
的依赖,上述离线安装的方式可以正常运行gcc
,但是系统可能会提示没有安装gcc
,此时可以通过sudo dpkg --ignore-depends=gcc -i
来解决错误的解析。
- 先安装
安装网卡驱动
- 查看网卡属性
lspci
可列出每个pci
总线上的设备,通过grep
过滤后可得特定设备列表。lspci -vvv
查看设备生产厂家和型号等详细信息,如果可以看到kernel drive in use
,则该设备驱动安装正常。- 使用
ifconfig
命令查看网卡信息,如果无法运行该命令,需要离线下载net-tools并通过sudo dpkg -i net-tools_1.60+git20180626.aebd88e-1_amd64.deb
安装。发现只有回环lo
信息,此时很可能是驱动未安装。 lspci |grep -i 'eth'
或lspci | grep -i net
可以查看网卡iwconfig
用于查看无线网络
- 下载网卡驱动
- 如果可以了解网卡的具体型号,可以根据其信息检索对应的网卡驱动,之后下载目标文件,后续一般还需要编译安装。
- 如果查询不到网卡对应的版本,可以安装通用的,如e1000e。
- 编译安装
- 下载
e1000e
完毕后右键解压缩。进入到对应的src
文件夹cd e1000e-3.8.4/src
后执行make
编译命令sudo make install
。 - 顺利编译安装驱动程序之后,查看网卡图标是否显示,如果不显示,尝试重启
Ubuntu
。
- 下载
安装显卡驱动
- 查看显卡信息
- 下载显卡驱动
- 通过上述
lspci
的方式查看显卡信息,根据对应型号下载相应的驱动。显卡驱动要和设备相匹配,否则可能导致黑屏(如 RTX3090 安装 455.23.04 时开机卡在/dev/nvme0n1p2
进入不了图形界面,如果这样需要 Ctrl+Alt+F2 进入命令行然后卸载该驱动后重装)、GPU 无法加载深度学习模型等问题。
- 通过上述
- 安装
- 一般直接执行该文件之后,重启系统即可。网上的一些禁用
nouveau
驱动的操作可以不做。 - 如果遇到
The distribution-provided pre-installscript failed
的提示,这个问题不大,可以直接点击continue installation
。 - 如果是 NVIDIA 的显卡,运行完上述安装程序后,在终端输入
nvidia-smi
,如果可以查看到显卡的使用信息,代表安装成功。 - Linux 环境下的 NVIDIA 显卡的驱动链接满足
https://cn.download.nvidia.cn/XFree86/Linux-x86_64/{}/NVIDIA-Linux-x86_64-{}.run
的格式,其中所填的为具体的版本号,如430.64。
- 一般直接执行该文件之后,重启系统即可。网上的一些禁用
- 卸载
- 有的时候安装的驱动不匹配需要卸载,可以通过下面的指令卸载:
sudo apt-get --purge remove "*nvidia*" sudo /usr/bin/nvidia-uninstall
- 有的时候安装的驱动不匹配需要卸载,可以通过下面的指令卸载:
- 安装 CUDA 等工具
- 安装 CUDA 时不要选中安装 Driver ,可以参考链接;
- pytorch 可以。
- cuDNN与CUDA的版本匹配关系,官网:https://developer.nvidia.com/rdp/cudnn-archive
- CUDA和NVIDIA显卡驱动关系,官网:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
- CUDA 的卸载可以通过运行 /usr/local/cuda-XX.XX/bin 里的 uninstall 工具完成。
安装 Python 环境
- 离线状态下建议安装 Anaconda 的 python 环境,其内部包含了较完整的库。
- 为了便于代码的迁移,可能需要进行 python 环境的复制, conda 导出已有环境,环境将保存到目标文件中:
conda env export > environment.yaml
或者conda list -e > requirements.txt
。如果要再次创建相似的环境,则可以通过conda env create -f environment.yaml
或者conda install --yes --file requirements.txt
。PS:这种方法只能保留通过 conda install 安装的包,而使用 pip 的则需要通过pip freeze > requirements.txt
导出,之后通过pip install -r requirements.txt
导入。
文档信息
- 本文作者:Joeat1
- 本文链接:https://joeat1.github.io/2021/06/10/%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85-ubuntu-%E7%B3%BB%E7%BB%9F/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)