news 2026/7/12 19:04:47

yum 3.4.3 离线部署实战:仅下载 10 个依赖包的 3 步离线安装方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
yum 3.4.3 离线部署实战:仅下载 10 个依赖包的 3 步离线安装方案

yum 3.4.3 离线部署实战:仅下载 10 个依赖包的 3 步离线安装方案

在企业级Linux运维中,离线环境下的软件部署一直是系统管理员面临的棘手问题。特别是在生产服务器、内网环境或安全隔离区域,网络访问受限的情况下,如何高效完成软件安装成为关键挑战。本文将深入探讨yum 3.4.3版本中--downloadonly选项的高级应用,提供一套完整的离线部署解决方案。

1. 离线部署的核心原理与准备工作

yum作为RPM包管理器,其离线部署能力主要依赖于三个核心功能:--downloadonly下载选项、localinstall本地安装命令以及createrepo仓库创建工具。这三者协同工作,构成了离线部署的技术基础。

为什么选择yum而非直接使用rpm?关键在于依赖关系自动处理。直接使用rpm安装时,管理员需要手动解决所有依赖包,这在复杂软件环境中几乎不可行。而yum的localinstall能够自动解析本地仓库中的依赖关系,大幅降低部署复杂度。

准备工作中需要特别注意:

  • 确保在线环境与离线环境的操作系统版本完全一致
  • 确认yum版本为3.4.3(可通过yum --version查看)
  • 准备足够的存储空间,建议预留至少5GB用于存放下载的rpm包

提示:使用df -h命令检查磁盘空间,特别是/var目录的可用空间,因为yum默认将包下载到/var/cache/yum。

2. 三步骤离线部署方案详解

2.1 精准下载依赖包

在联网机器上执行下载操作时,推荐使用以下优化命令:

mkdir -p /opt/offline_packages yum install --downloadonly --downloaddir=/opt/offline_packages \ --installroot=/tmp/empty_root \ --releasever=$(rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release)) \ gcc-c++ make cmake httpd mariadb-server postgresql \ python3-devel openssl-devel zlib-devel

参数解析:

  • --downloaddir:指定自定义下载目录,避免污染默认缓存
  • --installroot:使用空目录防止意外安装
  • --releasever:精确匹配当前系统版本

常见问题处理:

  • 若出现"没有可用软件包"错误,尝试先运行yum clean all && yum makecache
  • 对于"无法解析主机"错误,检查/etc/yum.repos.d/下的仓库配置

2.2 创建本地yum仓库

将下载的rpm包传输到目标机器后,需要建立本地仓库索引:

# 安装createrepo工具(在线环境) yum install -y createrepo # 在离线环境中创建仓库元数据 cd /opt/offline_packages createrepo --database --update .

仓库目录结构应如下:

/opt/offline_packages/ ├── repodata/ │ ├── filelists.xml.gz │ ├── other.xml.gz │ └── primary.xml.gz └── *.rpm

高级技巧:

  • 使用--workers=4参数加速大型仓库的元数据生成
  • 添加--checksum=sha256增强完整性校验
  • 对于多架构环境,使用--repo=myrepo创建独立仓库

2.3 离线安装与验证

配置目标机器的yum源指向本地仓库:

cat > /etc/yum.repos.d/local.repo <<'EOF' [local] name=Local Repository baseurl=file:///opt/offline_packages enabled=1 gpgcheck=0 EOF

安装软件包并验证:

yum --disablerepo=\* --enablerepo=local install gcc-c++ rpm -qa | grep gcc-c++

关键参数说明:

  • --disablerepo=\*:禁用所有远程仓库
  • --enablerepo=local:仅启用本地仓库
  • --nogpgcheck:如需跳过GPG验证(仅限可信环境)

3. 实战:10个核心依赖包离线部署

以下是经过验证的10个常用软件包及其依赖关系:

主包名称典型依赖数总下载大小关键依赖项
gcc-c++5-8~50MBlibstdc++-devel, glibc-devel
httpd4-6~3MBapr, apr-util
postgresql10-15~30MBlibicu, libxslt
python3-devel3-5~15MBpython3-libs, tkinter
openssl-devel2-3~5MBopenssl-libs, zlib
nginx3-5~2MBpcre, gd
docker-ce8-12~80MBcontainerd, libseccomp
nodejs6-10~25MBnpm, v8-engine
mysql-server12-18~150MBprotobuf, libaio
ansible5-8~10MBsshpass, paramiko

下载这些包的完整命令:

yum install --downloadonly --downloaddir=/opt/offline_packages \ gcc-c++ httpd postgresql python3-devel openssl-devel \ nginx docker-ce nodejs mysql-server ansible

4. 高级技巧与故障排除

依赖树分析工具:

repoquery --requires --resolve <package>

空间优化策略:

  • 使用--exclude=kernel*跳过内核相关包
  • 添加--archlist=x86_64,noarch限定架构
  • 通过yumdownloader替代完整安装命令下载特定包

常见错误解决方案:

  1. 依赖缺失错误

    yum deplist <package> | grep provider
  2. 版本冲突处理

    yum versionlock exclude <package>
  3. 仓库缓存更新

    yum clean all && yum makecache

性能优化建议:

  • 并行下载:yum-plugin-fastestmirror
  • 增量更新:createrepo --update
  • 仓库签名:gpg --gen-key+createrepo --gpgkey

对于大规模部署,可考虑将本地仓库配置为网络共享(NFS/HTTP),便于多台机器访问。在企业环境中,建议结合SaltStack或Ansible实现自动化批量部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/12 19:04:44

AI测试学习路线图 2026版:从智能体到性能测试的6阶段进阶路径

AI测试学习路线图 2026版&#xff1a;从智能体到性能测试的6阶段进阶路径 过去三年&#xff0c;我面试过上百位测试工程师&#xff0c;发现一个有趣现象&#xff1a;传统功能测试岗位的薪资天花板始终徘徊在15K左右&#xff0c;而掌握AI测试能力的候选人起薪就是20K。这个差距在…

作者头像 李华
网站建设 2026/7/12 19:02:08

Seekr高级搜索技巧:利用预定义字段和过滤器精准定位目标信息

Seekr高级搜索技巧&#xff1a;利用预定义字段和过滤器精准定位目标信息 【免费下载链接】seekr A multi-purpose OSINT toolkit with a neat web-interface. 项目地址: https://gitcode.com/gh_mirrors/se/seekr Seekr是一款功能强大的开源OSINT工具包&#xff0c;提供…

作者头像 李华
网站建设 2026/7/12 19:02:04

(8)FPGA-CNN池化层

池化层池化层&#xff08;Pooling Layer&#xff09;是卷积神经网络&#xff08;CNN&#xff09;中常用的下采样模块&#xff0c;其作用是在保留主要特征信息的同时降低特征图的空间分辨率&#xff0c;从而减少计算量和参数数量&#xff0c;提高模型的鲁棒性。常见的池化方式包…

作者头像 李华
网站建设 2026/7/12 19:00:19

OpenWhispr未来路线图:即将推出的功能与改进预览

OpenWhispr未来路线图&#xff1a;即将推出的功能与改进预览 【免费下载链接】openwhispr Voice-to-text dictation app with local (Nvidia Parakeet/Whisper) and cloud models (BYOK). Privacy-first and available cross-platform. 项目地址: https://gitcode.com/gh_mir…

作者头像 李华
网站建设 2026/7/12 18:59:43

5大核心功能重塑你的B站体验

5大核心功能重塑你的B站体验 【免费下载链接】BiliRoamingX-integrations BiliRoamingX integrations and patches powered by ReVanced. 项目地址: https://gitcode.com/gh_mirrors/bi/BiliRoamingX-integrations BiliRoamingX是一款基于ReVanced框架的B站Android客户端…

作者头像 李华