离线安装 Ubuntu 系统

2021/06/10 tips 共 2650 字,约 8 分钟

问题描述

  • 准备好 Ubuntu18 的系统光盘后进行离线安装 ,以 Dell 为例,需要在加载页面敲击 F2 键,进入到 Boot Sequence 从而把光盘(DVD)的优先级调到最高,如果没有该选项可以点击 Add Boot option 来添加,保存好后退出该界面进入系统安装的环节(这个加载的时间和光盘的读取速度有关),根据提示和自己的需求依次选择即可。具体步骤可以参考链接
  • 离线状态下安装的 Ubuntu 系统,有的时候没有网卡、显卡等驱动,需要进一步安装。

解决方法

查看编译环境

新装的系统可能没有 makegcc 等的程序。此时可以参考链接一个个下载对应的依赖包然后安装;

如果用的是启动光盘/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 来解决错误的解析。

安装网卡驱动

  1. 查看网卡属性
    • 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 用于查看无线网络
  2. 下载网卡驱动
    • 如果可以了解网卡的具体型号,可以根据其信息检索对应的网卡驱动,之后下载目标文件,后续一般还需要编译安装。
    • 如果查询不到网卡对应的版本,可以安装通用的,如e1000e
  3. 编译安装
    • 下载 e1000e 完毕后右键解压缩。进入到对应的 src 文件夹 cd e1000e-3.8.4/src 后执行 make 编译命令 sudo make install
    • 顺利编译安装驱动程序之后,查看网卡图标是否显示,如果不显示,尝试重启 Ubuntu

安装显卡驱动

  1. 查看显卡信息
    • lspci |grep -i 'vga' 可以查看显卡信息。
    • 显卡可以在网站输入设备的十六进制数字代码,即可了解具体的型号,然后在去对应的官方网站下载驱动。以英伟达显卡为例,需要访问网站获取目标的驱动程序。
  2. 下载显卡驱动
    • 通过上述lspci的方式查看显卡信息,根据对应型号下载相应的驱动。显卡驱动要和设备相匹配,否则可能导致黑屏(如 RTX3090 安装 455.23.04 时开机卡在 /dev/nvme0n1p2 进入不了图形界面,如果这样需要 Ctrl+Alt+F2 进入命令行然后卸载该驱动后重装)、GPU 无法加载深度学习模型等问题。
  3. 安装
    • 一般直接执行该文件之后,重启系统即可。网上的一些禁用 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。
  4. 卸载
    • 有的时候安装的驱动不匹配需要卸载,可以通过下面的指令卸载:
       sudo apt-get --purge remove "*nvidia*"
       sudo /usr/bin/nvidia-uninstall
      
  5. 安装 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 导入。

文档信息

Search

    Table of Contents