Ubuntu 使用 YUM 离线安装的可行方案
一、重要说明
- Ubuntu 默认使用 APT/dpkg 管理软件包;YUM/DNF 属于 RHEL/CentOS/Fedora 系列。若只是临时需要离线安装,优先建议直接使用 APT 的离线方法(见文末“更推荐的方式”)。如确需使用 YUM,可在 Ubuntu 上安装 YUM,但存在仓库元数据、依赖解析与系统一致性风险,需谨慎评估。
二、方案一 在 Ubuntu 上安装并使用 YUM 进行离线安装(不推荐)
- 步骤概览
- 准备环境(联网)
- 安装基础工具与 YUM 依赖:
- sudo apt update
- sudo apt install -y rpm yum python3-yum-metadata-parser
- 下载并安装 YUM(示例版本,可按需调整):
- wget https://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz
- tar xvf yum-3.2.28.tar.gz && cd yum-3.2.28
- 若报缺少配置,可先 touch /etc/yum.conf 再执行安装
- ./yummain.py install yum
- 配置 YUM 仓库(离线环境无法联网,需提前准备本地/内网仓库元数据)
- 将内网仓库的 repodata/ 与 RPM 包 放到本地目录(如 /opt/offline-yum),并创建 /etc/yum.repos.d/offline.repo:
- [offline]
- name=Offline YUM
- baseurl=file:///opt/offline-yum
- enabled=1
- gpgcheck=0
- 下载离线包(在有网机器或已配置好本地源的机器)
- 安装下载插件:sudo yum install -y yum-utils
- 仅下载不安装:
- yum install --downloadonly --downloaddir=./pkgs
- 或下载包及其依赖:
- yumdownloader --resolve --destdir=./pkgs
- 拷贝到离线机器并安装
- 拷贝 pkgs/ 目录到离线机
- 本地安装:
- sudo yum localinstall ./pkgs/*.rpm
- 风险提示
- 使用 rpm/yum 在 Debian 系上可能与 APT/dpkg 数据库产生不一致,后续升级、冲突处理更复杂;仅在确有兼容性需求时采用。
三、方案二 更推荐的方式 使用 APT 在 Ubuntu 离线安装
- 步骤概览
- 在有网机器下载(不安装)
- 下载到缓存目录:sudo apt-get install -d
- 或直接下载到指定目录:apt download
- 查看并递归获取依赖(示例):
- apt depends --recurse --no-recommends | grep -v i386 | grep “^\w”
- apt-get download $(apt depends --recurse --no-recommends | grep -v i386 | grep “^\w”)
- 拷贝到离线机
- 离线安装
- 进入目录后执行:sudo apt install ./*.deb
- 说明
- APT 是 Ubuntu 原生工具,依赖解析与系统一致性更好,推荐优先采用。
四、常见问题与处理
- 已安装版本冲突导致 YUM 本地安装失败
- 现象:Error: Package … requires … 但已安装版本不一致
- 处理:优先使用与系统版本匹配的 RPM;必要时先移除冲突包(谨慎,可能影响系统组件),或使用 rpm 的 –force --nodeps(高风险,可能导致运行期异常,不推荐)。