Ubuntu 离线安装软件及依赖的完整方法(容器打包 + 本地源)
目录
🚀 准备开始吧!
在生产环境、内网环境或者无法联网的服务器上,我们经常需要 离线安装软件。
这篇文章教你从零开始:
👉 如何在联网环境中下载软件包及依赖
👉 如何拷贝到离线机器
👉 如何顺利安装并解决依赖问题
🔹 一、准备一台可以联网的同版本 Ubuntu
为了避免依赖不一致,下载和安装必须使用相同版本的 Ubuntu。
如果本地不是 Ubuntu,可以在 Docker 中临时拉一个 Ubuntu 容器作为下载机:
1 | docker run -it ubuntu:20.04 bash |
这样你就有了一个干净的 Ubuntu 20.04 环境。
🔹 二、两种下载方式及区别
1. apt-get install --download-only
下载软件及依赖到系统缓存目录 /var/cache/apt/archives/,但不会安装。
1 | sudo apt-get install --download-only -y make |
👉 优点:简单,APT 自动处理依赖。
👉 缺点:需要从缓存目录手动拷贝包,不集中。
2. apt-get download + apt-rdepends
显式列出依赖并逐个下载到当前目录。
1 | mkdir ~/deb-packages && cd ~/deb-packages |
👉 优点:所有 .deb 文件都在一个目录里,方便打包。
👉 缺点:可能会多下可选依赖。
🔹 三、打包并拷贝到离线机器
在容器或联网环境中,下载好的包放在目录 ~/deb-packages/。
1. 压缩打包
1 | tar -czvf deb-packages.tar.gz ~/deb-packages |
2. 拷贝到虚拟机 / 离线机器
如果是 宿主机 ↔ 虚拟机,可以用
scp:1
scp deb-packages.tar.gz user@vm-ip:/opt/
如果是 Docker 容器 → 宿主机:
1
docker cp <container_id>:/root/deb-packages.tar.gz .
再通过 U 盘、共享目录等方式带到离线机器。
3. 解压
在离线机器上:
1 | cd /opt/ |
🔹 四、离线安装软件及依赖
方法 1:直接用 dpkg
1 | sudo dpkg -i *.deb |
方法 2(推荐):建立本地仓库
这样 APT 会自动解决安装顺序,比 dpkg 稳定。
1 | # 安装工具 |
🔹 五、总结
- 下载方式:
- 临时使用 →
apt-get install --download-only - 打包带走 →
apt-get download $(apt-rdepends …)
- 传输方式:
- 容器 → 宿主机 → 离线机,可以用
docker cp、scp、U 盘。
- 安装方式:
- 简单直接 →
dpkg -i *.deb && apt-get install -f - 更优雅 → 搭建本地仓库,
apt-get install自动解决依赖。
这样,不管你的服务器是否联网,都能顺利完成软件安装 🚀。
作者:
胖胖不胖
版权声明:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 不止于python
感谢您的支持,我会继续努力!
微信支付
支付宝