在 Ubuntu 离线环境下下载依赖包,有几种比较成熟的方法。
核心思路是:在有网络的电脑上获取 .deb 包及其依赖,然后拷贝到目标机器安装。
方法 1:使用 apt 下载 .deb 包(不安装)
- 在有网络的电脑上添加相同 Ubuntu 源(与离线机器一致):
- 下载包及依赖:
1
| sudo apt install --download-only <package-name>
|
1
| sudo apt install --download-only build-essential
|
1
| /var/cache/apt/archives/
|
- 拷贝
.deb 文件到离线机器:
1
| scp /var/cache/apt/archives/*.deb user@offline:/tmp/debs/
|
- 离线机器安装:
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 2
| sudo apt install apt-offline apt-offline set offline.sig --update
|
- 在联网电脑下载所有包:
1
| apt-offline get offline.sig --bundle offline-bundle.zip
|
- 拷贝回离线机器安装:
1
| apt-offline install offline-bundle.zip
|
apt-offline 会自动处理依赖,适合一次性离线更新系统或安装 HWE 内核等大包。
方法 4:使用 dpkg + apt-rdepends(手动解决依赖)
- 查询依赖:
1
| apt-rdepends <package-name>
|
- 在联网机器下载所有依赖
.deb 包,拷贝到离线机安装:
1 2
| sudo dpkg -i *.deb sudo apt -f install
|
💡 小提示:
- 离线安装 HWE 内核或 RTL8125 驱动,建议用 方法 1 或方法 3
- 如果只是单独驱动,
.tar.gz 编译方式不依赖 apt,只要有 build-essential 和 linux-headers 就够
- 为了避免依赖混乱,最好在联网机和离线机 Ubuntu 版本完全一致。