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

技能,轻松,解决,rpm,软件包,依赖,问题 · 浏览次数 : 0

小编点评

## 软件安装问题解决方案 **1. 使用 repotrack 分析软件依赖项目** - 运行 `repotrack` 命令分析软件的依赖项目。 - 下载所有依赖项的 RPM 包。 **2. 使用 yumdownloaderyumdownloader 下载依赖包** - 使用 `yumdownloaderyumdownloader` 命令下载只下载需要的依赖包。 - 使用 `--downloadonly` 和 `--resolve`选项控制下载方式。 **3. 使用光盘镜像安装软件** - 如果软件版本较新,可以使用光盘镜像安装。 - 使用 `localrepo` 创建本地 yum源并使用 `yum install` 安装软件。 **4. 其他方法** - 使用 `repotrack` 或 `yumdownloaderyumdownloader` 后,可以使用 `yum` 命令安装软件。 - 使用 `yum` 命令安装软件时,可以使用 `--disable-auto-refresh` 选项避免软件自动更新。

正文

https://zhuanlan.zhihu.com/p/504348343

 

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

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

yum deplist net-tools 

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

yum deplist samba

 

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

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

1.repotrack

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

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

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

执行这条命令后,可以发现系统将MariaDB-server所有的依赖项目全部都下载下来了,如果目标服务器再缺少依赖,再从里面找包,岂不是轻轻松松。

 

2.yumdownloader

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

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

由于我的服务器已经安装过这款软件了,所有下载项目只有一个。如果你是新机器的话,则下载下来的依赖项会更多。

 

image

3.使用光盘镜像

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

尾巴

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

与[转帖]运维必会神技能:轻松解决rpm软件包的依赖问题相似的内容:

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

https://zhuanlan.zhihu.com/p/504348343 在公司的网络或者是客户的网络环境中,经常会有只能使用局域网而不能使用访问互联网的情况,其目的也很显然,为了更好的保护数据安全。 但在这种情况下,对于运维而言,如果突然要安装一款软件的话,就会变得很困难,因为它往往有很多依赖

[转帖]运维必知必会的监控知识体系全梳理

https://cloud.tencent.com/developer/article/1951090?areaSource=104001.189&traceId=7WZNP412yK3vh7ebw4th0 监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用

[转帖]运维工作常用SQL命令大全【收藏版】

运维工作常用SQL命令大全【收藏版】 https://www.modb.pro/db/65429 1、查看表空间使用率 set line 220select total.tablespace_name,round(total.MB, 2) as Total_MB,round(total.MB - f

[转帖]运维界的瑞士军刀?MobaXterm全能型工具箱,你值得拥有

https://zhuanlan.zhihu.com/p/93355343 上期为大家推荐了FinalShell远程连接工具,有很多朋友留言表示软件臃肿,启动速度慢且吃内存等缺点,向我推荐MobaXterm软件。今天我们就来简单评测一下这款软件,看看到底怎么样? MobaXterm官网上有家庭版与专

[转帖]运维面试高频知识点

https://www.cnblogs.com/apink/p/16304036.html Docker 什么是docker? docker是基于Golang语言进行开发的一个开源应用容器引擎,换言之就是运行在宿主机上的一个sandboxed process,但是它与宿主机的其它进程是相互隔离的,是

[转帖]Linux 运维工具

Linux系统是目前仅次于Windows系统的一个开源系统,并且拥有比Windows系统更广泛的应用范围,从航天到军事、从科研到金融、从手机到电脑,你能够在任何一个需要操作系统的地方看到Linux的身影。 实际上Linux并不是一个真正的系统,它仅仅是一个有着上万行代码的系统内核,最初版本也只能够在

[转帖] Linux运维必备的13款实用工具

1、查看进程占用带宽情况-Nethogs Nethogs 是一个终端下的网络流量监控工具可以直观的显示每个进程占用的带宽。 下载:http://sourceforge.net/projects/nethogs/files/nethogs/0.8/nethogs-0.8.0.tar.gz/downlo

[转帖]IoT运维 - 如何部署一套高可用K8S集群

https://zhuanlan.zhihu.com/p/579983530 如何部署一套高可用k8s集群,下面直接演示一下 环境 ip角色主机名 192.168.3.20 kubectl、ansible deploy 192.168.3.21 etcd1 etcd1 192.168.3.22 et

[转帖]Redis 运维实战 第09期:Redis 规范

https://cloud.tencent.com/developer/article/1986835 这是专栏《Redis 运维实战》的最后一篇,感谢您的阅读。也感谢 9 篇文章的审稿人:无为,提出了多个修改建议,让文章内容更全面。 由于能力有限,系列文章难免会存在错误或者遗漏,如果您有任何建议,

[转帖]Redis 运维实战 第08期:监控

https://cloud.tencent.com/developer/article/1986832 Redis 在很多互联网公司都充当着非常核心的角色,因此,监控 Redis 以保证其稳定显得格外重要。这节内容就来聊聊 Redis 的一些常见监控项。 1 连接检测 连接失败检测:当监控组件无法连