首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Ubuntu 离线安装软件及依赖的完整方法(容器打包 + 本地源)

Ubuntu 离线安装软件及依赖的完整方法(容器打包 + 本地源)

作者头像
不止于python
发布2025-09-02 10:18:36
发布2025-09-02 10:18:36
59000
代码可运行
举报
文章被收录于专栏:不止于python不止于python
运行总次数:0
代码可运行

🚀 准备开始吧!

在生产环境、内网环境或者无法联网的服务器上,我们经常需要 离线安装软件。 这篇文章教你从零开始: 👉 如何在联网环境中下载软件包及依赖 👉 如何拷贝到离线机器 👉 如何顺利安装并解决依赖问题


🔹 一、准备一台可以联网的同版本 Ubuntu

为了避免依赖不一致,下载和安装必须使用相同版本的 Ubuntu。

如果本地不是 Ubuntu,可以在 Docker 中临时拉一个 Ubuntu 容器作为下载机:

代码语言:javascript
代码运行次数:0
运行
复制
docker run -it ubuntu:20.04 bash
apt-get update
apt-get install -y apt-utils apt-rdepends dpkg-dev

这样你就有了一个干净的 Ubuntu 20.04 环境。


🔹 二、两种下载方式及区别

1. apt-get install --download-only

下载软件及依赖到系统缓存目录 /var/cache/apt/archives/,但不会安装。

代码语言:javascript
代码运行次数:0
运行
复制
sudo apt-get install --download-only -y make
ls /var/cache/apt/archives/

👉 优点:简单,APT 自动处理依赖。 👉 缺点:需要从缓存目录手动拷贝包,不集中。


2. apt-get download + apt-rdepends

显式列出依赖并逐个下载到当前目录。

代码语言:javascript
代码运行次数:0
运行
复制
mkdir ~/deb-packages && cd ~/deb-packages
apt-get download $(apt-rdepends make | grep -v "^ ")

👉 优点:所有 .deb 文件都在一个目录里,方便打包。 👉 缺点:可能会多下可选依赖。


🔹 三、打包并拷贝到离线机器

在容器或联网环境中,下载好的包放在目录 ~/deb-packages/

1. 压缩打包

代码语言:javascript
代码运行次数:0
运行
复制
tar -czvf deb-packages.tar.gz ~/deb-packages

2. 拷贝到虚拟机 / 离线机器

• 如果是 宿主机 ↔ 虚拟机,可以用 scp

代码语言:javascript
代码运行次数:0
运行
复制
scp deb-packages.tar.gz user@vm-ip:/opt/

• 如果是 Docker 容器 → 宿主机

代码语言:javascript
代码运行次数:0
运行
复制
docker cp <container_id>:/root/deb-packages.tar.gz .

• 再通过 U 盘、共享目录等方式带到离线机器。

3. 解压

在离线机器上:

代码语言:javascript
代码运行次数:0
运行
复制
cd /opt/
tar -xzvf deb-packages.tar.gz
cd deb-packages

🔹 四、离线安装软件及依赖

方法 1:直接用 dpkg

代码语言:javascript
代码运行次数:0
运行
复制
sudo dpkg -i *.deb
sudo apt-get install -f   # 自动修复依赖

方法 2(推荐):建立本地仓库

这样 APT 会自动解决安装顺序,比 dpkg 稳定。

代码语言:javascript
代码运行次数:0
运行
复制
# 安装工具
sudo apt-get install -y dpkg-dev

# 在 deb 包目录生成索引
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

# 添加本地源
echo "deb [trusted=yes] file:/opt/deb-packages ./" | sudo tee /etc/apt/sources.list.d/local.list

# 更新索引
sudo apt-get update

# 安装软件(APT 自动处理依赖)
sudo apt-get install make

🔹 五、总结

  1. 1. 下载方式
    • • 临时使用 → apt-get install --download-only
    • • 打包带走 → apt-get download $(apt-rdepends …)
  2. 2. 传输方式
    • • 容器 → 宿主机 → 离线机,可以用 docker cpscp、U 盘。
  3. 3. 安装方式
    • • 简单直接 → dpkg -i *.deb && apt-get install -f
    • • 更优雅 → 搭建本地仓库,apt-get install 自动解决依赖。

这样,不管你的服务器是否联网,都能顺利完成软件安装 🚀。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀 准备开始吧!
    • 🔹 一、准备一台可以联网的同版本 Ubuntu
    • 🔹 二、两种下载方式及区别
      • 1. apt-get install --download-only
      • 2. apt-get download + apt-rdepends
    • 🔹 三、打包并拷贝到离线机器
      • 1. 压缩打包
      • 2. 拷贝到虚拟机 / 离线机器
      • 3. 解压
    • 🔹 四、离线安装软件及依赖
      • 方法 1:直接用 dpkg
      • 方法 2(推荐):建立本地仓库
    • 🔹 五、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档