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

发布时间:2026/7/12 19:05:12

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高级技巧使用--workers4参数加速大型仓库的元数据生成添加--checksumsha256增强完整性校验对于多架构环境使用--repomyrepo创建独立仓库2.3 离线安装与验证配置目标机器的yum源指向本地仓库cat /etc/yum.repos.d/local.repo EOF [local] nameLocal Repository baseurlfile:///opt/offline_packages enabled1 gpgcheck0 EOF安装软件包并验证yum --disablerepo\* --enablerepolocal install gcc-c rpm -qa | grep gcc-c关键参数说明--disablerepo\*禁用所有远程仓库--enablerepolocal仅启用本地仓库--nogpgcheck如需跳过GPG验证仅限可信环境3. 实战10个核心依赖包离线部署以下是经过验证的10个常用软件包及其依赖关系主包名称典型依赖数总下载大小关键依赖项gcc-c5-8~50MBlibstdc-devel, glibc-develhttpd4-6~3MBapr, apr-utilpostgresql10-15~30MBlibicu, libxsltpython3-devel3-5~15MBpython3-libs, tkinteropenssl-devel2-3~5MBopenssl-libs, zlibnginx3-5~2MBpcre, gddocker-ce8-12~80MBcontainerd, libseccompnodejs6-10~25MBnpm, v8-enginemysql-server12-18~150MBprotobuf, libaioansible5-8~10MBsshpass, paramiko下载这些包的完整命令yum install --downloadonly --downloaddir/opt/offline_packages \ gcc-c httpd postgresql python3-devel openssl-devel \ nginx docker-ce nodejs mysql-server ansible4. 高级技巧与故障排除依赖树分析工具repoquery --requires --resolve package空间优化策略使用--excludekernel*跳过内核相关包添加--archlistx86_64,noarch限定架构通过yumdownloader替代完整安装命令下载特定包常见错误解决方案依赖缺失错误yum deplist package | grep provider版本冲突处理yum versionlock exclude package仓库缓存更新yum clean all yum makecache性能优化建议并行下载yum-plugin-fastestmirror增量更新createrepo --update仓库签名gpg --gen-keycreaterepo --gpgkey对于大规模部署可考虑将本地仓库配置为网络共享NFS/HTTP便于多台机器访问。在企业环境中建议结合SaltStack或Ansible实现自动化批量部署。

相关新闻

SmartPack-Kernel-Manager未来路线图:5大令人期待的功能与改进

SmartPack-Kernel-Manager未来路线图:5大令人期待的功能与改进

2026/7/12 19:05:12

SmartPack-Kernel-Manager未来路线图:5大令人期待的功能与改进 【免费下载链接】SmartPack-Kernel-Manager Source code of SmartPack-Kernel Manager, the Ultimate Tool to Manage your Kernel 项目地址: https://gitcode.com/gh_mirrors/smar/SmartPack-Kernel…

CCManager终极指南:一站式管理Claude Code与多AI助手会话的革命性工具

CCManager终极指南:一站式管理Claude Code与多AI助手会话的革命性工具

2026/7/12 19:05:12

CCManager终极指南:一站式管理Claude Code与多AI助手会话的革命性工具 【免费下载链接】ccmanager Coding Agent Session Manager for Claude Code / Gemini CLI / Codex CLI / Cursor Agent / Copilot CLI / Cline CLI / OpenCode / Kimi CLI 项目地址: https://…

【电路笔记 信号】传输线方程:从RLGC推导传输线特性阻抗

【电路笔记 信号】传输线方程:从RLGC推导传输线特性阻抗

2026/7/12 19:05:12

传输线频域常微分方程组: dV(x)dx−Z⋅I(x)— (式1)\frac{dV(x)}{dx} -Z \cdot I(x) \quad \text{--- (式1)}dxdV(x)​−Z⋅I(x)— (式1) dI(x)dx−Y⋅V(x)— (式2)\frac{dI(x)}{dx} -Y \cdot V(x) \quad \text{--- (式2)}dxdI(x)​−Y⋅V(x)— (式2)其中&#xf…

《深入理解计算机系统》读书笔记07: 存储器层次结构

《深入理解计算机系统》读书笔记07: 存储器层次结构

2026/7/12 20:45:16

作者: andylin02 学习章节: 第 6 章 存储器层次结构 关键词: 随机访问存储器(SRAM/DRAM);非易失性存储器(ROM/Flash);局部性原理;存储器层次结构;高速缓存;直接映射;组相联;全相联&a…

嵌入式软件代码开发或者代码优化的一些方法(持续更新)

嵌入式软件代码开发或者代码优化的一些方法(持续更新)

2026/7/12 20:45:16

一、消抖这段代码为例,消抖前判断一次,消抖后判断一次,Delay之后记得重新读取数据。uint8_t servo_change HAL_GPIO_ReadPin(GPIOE,trash_servo);uint8_t trash_change HAL_GPIO_ReadPin(GPIOE,monitor1);while (1){uint8_t new_servo_stat…

FreeCAD插件终极指南:打造你的专属3D建模工具箱

FreeCAD插件终极指南:打造你的专属3D建模工具箱

2026/7/12 20:45:16

FreeCAD插件终极指南:打造你的专属3D建模工具箱 【免费下载链接】FreeCAD Official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler. 项目地址: https://gitcode.com/GitHub_Trending/fr/freecad 想要将FreeCAD从基础建…

服务器双机热备软件推荐

服务器双机热备软件推荐

2026/7/12 20:45:16

在当今的这个年代,信息安全十分重要,今天推荐一款牛逼的服务器双机热备软件PanguHA,它是我目前用过的软件中配置最方便的,界面也是花里胡哨,在多台服务器上部署该款软件可以使多个节点形成一个集群,当某台服…

【Java从入门到入土】52:Java学习路线图:从入门到入土,再到重生

【Java从入门到入土】52:Java学习路线图:从入门到入土,再到重生

2026/7/12 20:45:16

【Java从入门到入土】52:Java学习路线图:从入门到入土,再到重生 Java作为长盛不衰的编程语言,凭借跨平台、高稳定性、丰富的生态体系,仍是后端开发的核心选择。但从“入门敲Hello World”到“架构级工程师”&#xff…

Windows CMD/PowerShell终端严重卡顿故障复盘|conhost僵尸进程导致CPU100%(附根治方案+监控脚本)

Windows CMD/PowerShell终端严重卡顿故障复盘|conhost僵尸进程导致CPU100%(附根治方案+监控脚本)

2026/7/12 20:35:16

我们是由枫哥组建的IT技术团队,成立于2017年,致力于帮助IT从业者提供实力,成功入职理想企业,我们提供一对一学习辅导,由知名大厂导师指导,分享Java技术、参与项目实战等服务,并为学员定制职业规…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/12 0:03:42

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/12 0:03:42

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…