运维必会神技能:轻松解决rpm软件包的依赖问题

在公司的网络或者是客户的网络环境中,经常会有只能使用局域网而不能使用访问互联网的情况,其目的也很显然,为了更好的保护数据安全。

但在这种情况下,对于运维而言,如果突然要安装一款软件的话,就会变得很困难,因为它往往有很多依赖项目。比如,我们来查看一下net-tools的依赖项有哪些:

yum deplist net-tools 
运维必会神技能:轻松解决rpm软件包的依赖问题

是不是看起来还好?那我们再来看一下samba服务有哪些依赖项目。

yum deplist samba

运维必会神技能:轻松解决rpm软件包的依赖问题这下就完全一页屏幕也显示不全了,可见依赖项目之多。也就是说,假设我们下载也单个samba的安装包,还必须把这些依赖解决才能正常把程序跑起来。但平常我们使用yum安装时,是无感的,其实由系统自动为我们解决了依赖,从网上下载安装了。

要解决离线状态下的软件安装问题,推荐使用以下几种方法:

1.repotrack

我这里也以上期讲到的Mariadb为例演示,以下操作需要在有网络的环境下进行。repotrack可以分析软件的依赖项目,并把依赖的rpm包下载下来。

# 安装yum-utils
yum -y install yum-utils

# 下载全量依赖包
repotrack MariaDB-server

执行这条命令后,可以发现系统将MariaDB-server所有的依赖项目全部都下载下来了,如果目标服务器再缺少依赖,再从里面找包,岂不是轻轻松松。运维必会神技能:轻松解决rpm软件包的依赖问题

2.yumdownloader

yumdownloader也是一款离线依赖包下载工具,与repotrack不同的是,它并不是全量下载,而是根据你机器的环境来决定的,比如你电脑已经安装了大多数依赖项目,那么下载下来的软件包数量就少,反之就更多。

yum -y install yum-utils
# 下载依赖包
yumdownloader --downloadonly --resolve MariaDB-server 

由于我的服务器已经安装过这款软件了,所有下载项目只有一个。如果你是新机器的话,则下载下来的依赖项会更多。运维必会神技能:轻松解决rpm软件包的依赖问题

运维必会神技能:轻松解决rpm软件包的依赖问题
image

3.使用光盘镜像

如果是安装一些常见的软件,也不需要软件太新,也可以使用原生系统光盘,采用制作本地yum源的方式实现,安装软件时,采用本地yum源解决依赖问题。相关的文章很多,我这里就不再重复演示了。

尾巴

我的建议是,使用一台全新安装的机器,运行yumdownloader得到关键的依赖项,拿到类似环境的服务器上,就能正常运行了。当然第一种方法更值得推荐,只是文件较多。

往期推荐:

  1. MariaDB 在Linux下的安装部署

  2. 技巧:Linux下如何快速大批量重命名

  3. 总结:shell命令统计字符串长度的4种实现方式


原文始发于微信公众号(运维贼船):运维必会神技能:轻松解决rpm软件包的依赖问题

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/177350.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!