架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11435|回复: 6

[linux] CentOS 7 离线安装 rpm 包自动解决依赖

[复制链接]
发表于 2021-6-16 14:56:10 | 显示全部楼层 |阅读模式
当生产环境由于安全原因处于断网状态的时候。通过本地源的方式,使用yum能够自动安装软件,并且自动处理好依赖关系。
然而该方法最最关键的一个问题是——怎么获取该软件及其依赖包,供本地源使用?

当安装软件的依赖包较少的话,通过手动的方式,一个个查找并下载,也许是一个可以考虑的方案,而当一个软件有上百个依赖、并且依赖上又有依赖,这时候你再试试?


Linux 包搜索下载地址:https://pkgs.org/


首先,安装 yum-plugin-downloadonly 插件,命令如下:

下载 libgdiplus-devel 及其依赖

(注意:下载的依赖是检测当前系统缺少的依赖,所以,一定要两台相同服务器的系统环境
QQ截图20210616145440.jpg

其中 --downloaddir 指定下载的 rpm 包的存储位置,后跟需要 yum 安装的软件名称,支持多个。

有网机器下载好rpm包后,拷贝到没有网络的服务器上,然后进行安装。命令如下:


或则
(完)





上一篇:Linux devel 包和非 devel 包的区别
下一篇:.NET/C# 判断类型是否是可空类型
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2021-6-16 15:07:39 | 显示全部楼层
通过 yumdownloader  下载

如果只想通过yum下载软件的安装包,但是不需要进行安装的话,可以使用 yumdownloader 命令。

yumdownloader 命令在软件包 yum-utils 里面。

先安装 yum-utils :


查看 yum-utils 软件包里面都有哪些命令:

(包中包含  /usr/bin/yumdownloader 命令)

获取 libgdiplus-devel 安装包及依赖

QQ截图20210616150728.jpg
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2021-6-16 23:36:39 | 显示全部楼层
感谢分享,支持!
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2021-10-15 15:08:00 | 显示全部楼层
yum install --downloadonly --downloaddir=/tmp/ [package-name]-[version].[architecture]

# 例如:

yum install --downloadonly --downloaddir=/tmp/ cri-tools-1.0.0_beta.1-0
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2021-10-15 15:18:42 | 显示全部楼层
通过命令行方式查询包的版本



码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2021-10-21 09:03:28 | 显示全部楼层


1.--nodeps 就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了--nodeps你就能装上了。

2.--force 就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用--force强制安装。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2021-12-18 11:58:29 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-28 21:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表