Linux离线安装rpm包教程
时间:2026-01-25 15:00:46 137浏览 收藏
在文章实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《Linux离线安装rpm包方法详解》,聊聊,希望可以帮助到正在努力赚钱的你。
离线安装.rpm包应优先用dnf install或yum localinstall自动处理依赖;若依赖齐全可用rpm -ivh;需长期维护则建本地仓库;仅紧急时用--nodeps强制安装。

如果您在无网络连接的Linux系统中需要安装.rpm格式软件包,但直接使用rpm命令提示依赖缺失或安装失败,则需采用能处理依赖关系或规避依赖检查的离线安装策略。以下是解决此问题的步骤:
一、使用rpm命令直接安装(适用于无依赖或已满足依赖环境)
该方法执行最底层的包安装操作,不查询或安装任何依赖项,仅适合确认所有依赖均已存在或可接受依赖缺失风险的场景。
1、将.rpm文件上传至目标Linux主机,例如存放在/tmp目录下。
2、打开终端,切换为root用户或使用sudo权限执行安装命令。
3、运行:sudo rpm -ivh /tmp/package_name.rpm,其中-i表示安装,-v启用详细输出,-h显示进度条。
4、若提示Failed dependencies,说明依赖未满足,此时不应强行继续,应转向其他方案。
二、使用yum localinstall命令(RHEL/CentOS 7及更早版本)
该命令会读取.rpm文件头信息,自动解析所需依赖,并尝试从本地已缓存或同目录下的其他.rpm包中匹配并安装,是离线环境下推荐的依赖感知型安装方式。
1、确保所有待安装主包及其全部依赖包均置于同一目录,例如/opt/rpms。
2、进入该目录:cd /opt/rpms。
3、执行:sudo yum localinstall *.rpm 或指定单个包:sudo yum localinstall package_name.rpm。
4、yum将扫描当前目录内所有.rpm文件,构建本地依赖图,并按顺序安装主包与依赖包。
三、使用dnf install命令(Fedora / CentOS 8+ / RHEL 8+)
dnf是yum的现代替代工具,依赖解析能力更强,支持更精准的依赖求解和冲突检测,在离线环境中表现更稳定可靠。
1、将所有.rpm包(含依赖)统一存放于某路径,如/mnt/offline-rpms。
2、执行:sudo dnf install /mnt/offline-rpms/*.rpm。
3、dnf将自动识别包间依赖关系,并提示将要安装的全部包列表。
4、输入y确认后,dnf将依次完成安装,无需额外配置仓库。
四、构建本地YUM/DNF仓库后安装
当需频繁安装多个不同软件或长期维护离线环境时,创建本地仓库可实现类似在线源的便捷管理,使yum install或dnf install 软件名命令可用,而非仅限于文件路径安装。
1、安装createrepo工具(需提前在联网机下载其.rpm及依赖,或从系统安装介质获取)。
2、在rpm包所在目录执行:createrepo /path/to/rpms,生成repodata元数据。
3、创建仓库配置文件/etc/yum.repos.d/local.repo,内容包含baseurl=file:///path/to/rpms且enabled=1。
4、运行:sudo yum makecache(RHEL7/CentOS7)或sudo dnf makecache(RHEL8+/CentOS8+)刷新元数据。
5、此后即可使用:sudo yum install package_name 或 sudo dnf install package_name 完成安装。
五、强制忽略依赖安装(仅限紧急绕过场景)
该方式跳过所有依赖校验,可能导致软件无法运行或系统不稳定,仅应在明确知晓后果且无其他选择时使用。
1、确认目标.rpm包路径,例如/tmp/app.rpm。
2、执行:sudo rpm -ivh --nodeps --force /tmp/app.rpm。
3、--nodeps禁用依赖检查,--force覆盖已存在文件或冲突包。
4、安装完成后,需手动验证程序是否可执行,必要时通过ldd $(which binary)检查动态库缺失情况。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
265 收藏
-
137 收藏
-
409 收藏
-
427 收藏
-
445 收藏
-
184 收藏
-
284 收藏
-
478 收藏
-
237 收藏
-
373 收藏
-
122 收藏
-
302 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习