Ubuntu离线环境如何下载依赖包?

Ubuntu 离线环境下下载依赖包,有几种比较成熟的方法。
核心思路是:在有网络的电脑上获取 .deb 包及其依赖,然后拷贝到目标机器安装

方法 1:使用 apt 下载 .deb 包(不安装)

  1. 在有网络的电脑上添加相同 Ubuntu 源(与离线机器一致):
1
sudo apt update
  1. 下载包及依赖:
1
sudo apt install --download-only <package-name>
  • 示例:
1
sudo apt install --download-only build-essential
  • 下载的 .deb 文件会放在:
1
/var/cache/apt/archives/
  1. 拷贝 .deb 文件到离线机器:
1
scp /var/cache/apt/archives/*.deb user@offline:/tmp/debs/
  1. 离线机器安装:
1
2
sudo dpkg -i /tmp/debs/*.deb
sudo apt -f install # 修复依赖

方法 2:使用 apt-get download(只下载单个包,不自动下载依赖)

1
apt-get download <package-name>
  • 会生成 .deb 文件在当前目录
  • 如果有依赖,也要手动下载依赖包

方法 3:使用 apt-offline 工具(推荐离线系统)

  1. 在离线机器生成签名文件
1
2
sudo apt install apt-offline  # 如果没安装,可用 U 盘拷贝 deb 包安装
apt-offline set offline.sig --update
  1. 在联网电脑下载所有包
1
apt-offline get offline.sig --bundle offline-bundle.zip
  1. 拷贝回离线机器安装
1
apt-offline install offline-bundle.zip

apt-offline 会自动处理依赖,适合一次性离线更新系统或安装 HWE 内核等大包。


方法 4:使用 dpkg + apt-rdepends(手动解决依赖)

  1. 查询依赖:
1
apt-rdepends <package-name>
  1. 在联网机器下载所有依赖 .deb 包,拷贝到离线机安装:
1
2
sudo dpkg -i *.deb
sudo apt -f install

💡 小提示

  • 离线安装 HWE 内核或 RTL8125 驱动,建议用 方法 1 或方法 3
  • 如果只是单独驱动,.tar.gz 编译方式不依赖 apt,只要有 build-essentiallinux-headers 就够
  • 为了避免依赖混乱,最好在联网机和离线机 Ubuntu 版本完全一致