怎么让linux支持yum,如何安装和使用'yum-utils'来维护Yum并提高其性能

不管Fedora的开始采用DNF作为新的包管理器和默认的包管理库,它不会取代旧的好的yum包管理的其他副产品的发行版(如Red Hat企业版Linux(RHEL)和CentOS)好,直到它已被证明是可靠的,Yum和更坚实的(根据Fedora项目的wiki,为2015年11月15日的,DNF仍处于测试的状态)。 因此,你的yum管理技能将竭诚为您服务以及为仍相当一段时间。

0a6b8e81cc6fd649acd0065a5fd07001.png

使用'yum-utils'来维护YUM并提高其性能

出于这个原因,在本指南中,我们将向您介绍Yum-utils的 ,那与Yum整合以多种方式扩大其机功能实用程序的集合,从而使其功能更强大,使用更方便。

在RHEL / CentOS中安装yum-utils

Yum-utils的是包含在基本回购(这是默认启用)在任何基于Fedora的分布,使安装它是因为这样做很容易:# yum update && yum install yum-utils

所有由Yum-utils的提供的实用程序与主包,我们将在下一节中自动安装。

探索实用程序由yum-utils包提供

Yum-utils的提供的工具列在其手册页:# man yum-utils

以下是我们认为你有兴趣在这些Yum公用事业10:

1.调试软件包

debuginfo软装要求安装调试的debuginfo软包(和它们的依赖) 在崩溃的情况下,或者在开发使用某个软件包的应用程序。

为了调试一个包(或任何其他可执行程序),我们还需要安装GDB(GNU调试器) ,并用它在调试模式下启动程序。

例如:# gdb $(which postfix)

上面的命令将启动一个gdb的外壳 ,我们可以输入操作来执行。 例如, 运行 (如下面的图像中)将启动该程序,而BT(未示出)将显示栈跟踪(也称为回溯 )的程序,这将提供的函数调用导致一个列表程序执行的某一点(使用这些信息,开发人员和系统管理员都可以知道在崩溃的情况下出了什么问题)。

其他可用的动作及其预期结果列于男人GDB。

9a626de2247e7afea62ed45f643427ed.png

在Linux中调试软件包

2.查找已安装软件包的存储库

下面的命令显示该库中已安装的软件包 ... 是从安装:# find-repos-of-install httpd postfix dovecot

d381e921e2baa8f240ece4e8246cc5c7.png

在Linux中查找已安装软件包的存储库

如果不带参数运行, 发现-回购-的安装将返回当前已安装的软件包的完整列表。

3.删除重复或孤立的包

包清理管理(从比当前配置的存储库之外的来源安装的程序)包清理,重复,孤儿软件包和其他依赖不一致,包括删除,如下例所示老的内核:# package-cleanup --orphans

# package-cleanup --oldkernels

904848088a3b2e076c104292a5ed3f32.png

在Linux中删除重复或孤立的包

你不必担心最后一个命令损坏你的内核。 它只会影响不再需要的旧内核包(当前运行的版本之前的版本)。

4.找出包依赖列表

回购图返回在所有可从配置的仓库中的包点格式全包的依赖列表。 另外, repo-graph可如果与使用存储库返回相同的信息--repoid=选项。

例如,让我们查看更新存储库中每个软件包的依赖关系:# repo-graph --repoid=updates | less

97d9e504e6c5a2809f7d9c67da41af12.png

查找软件包依赖性列表

在上面的命令,我们发送回购图的输出少,方便的可视化,但你可以或者重定向到一个本地文件供以后检查:# repo-graph --repoid=updates > updates-dependencies.txt

在这两种情况下,我们可以看到,iputils软件包依赖于systemd和OpenSSL-库 。

5.检查未解决的依赖关系的列表

repoclosure读取配置的存储库的元数据,检查列入其中,并为每个包未解决的依赖性的显示列表包的依赖关系:# repoclosure

d120cf6f6acbae01e8ae0fdac21be12f.png

显示未解析的依赖关系的列表

6.如何检查目录中的最新或最旧的软件包

repomanage查询用rpm包的目录,并在目录中返回最新或最早的软件包列表。 这个工具可以派上用场,如果您有您储存不同的程序的几个.rpm的包目录。

当不带参数执行,repomanage返回最新的软件包。 如果与运行--old标志,它将返回最早的包:# ls -l

# cd rpms

# ls -l rpms

# repomanage rpms

56137da76f58d726281fe29adac1f59b.png

检查目录中最新的最旧RPM软件包

请注意,改变rpm包的名称将不会影响如何repomanage的作品。

7.查询Yum存储库以获取有关软件包的信息

repoquery查询Yum库,并得到有关包的其他信息,无论是安装或没有(相关性,包含的文件包中,更多)。

例如, HTOP(Linux的过程监控)当前未安装此系统上,你可以看到如下:# which htop

# rpm -qa | grep htop

92af6d37342dd5bc8ff818e6917b733f.png

查询RPM包

现在假设我们要列出HTOP的相关性,与包含在默认安装的文件一起。 为此,请分别执行以下两个命令:# repoquery --requires htop

# repoquery --list htop

0999b7d891b48b74e9cebadd23ac9db6.png

列出RPM软件包的依赖关系

8.将所有已安装的RPM软件包转储到Zip文件中

Yum调试转储让你甩了你已经安装的所有软件包的完整列表,任何储存库,重要的配置和系统信息到一个压缩文件中所有可用的软件包。

如果你想调试已经发生的问题,这可以派上用场。 对于我们的方便, Yum调试转储名称的文件作为yum_debug_dump- - .txt.gz,这使我们能够跟踪随时间的变化。# yum-debug-dump

c571bd7a4a97c31e4aee2ff67f3faaf4.png

将已安装的RPM软件包转储到文件

与任何压缩的文本文件,我们可以使用zless命令查看其内容:# zless yum_debug_dump-mail.linuxnewz.com-2015-11-27_08:34:01.txt.gz

01796729f6a8447da26793ab45e4d651.png

查看压缩文本文件的内容

如果您需要恢复Yum调试转储提供的配置信息,您可以用yum调试,恢复这样做:# yum-debug-restore yum_debug_dump-mail.linuxnewz.com-2015-11-27_08:34:01.txt.gz

6ec446fbaff25de34f8bd7d9e3c18608.png

恢复Yum转储文件

9.从Yum存储库下载源RPM

从库yumdownloader下载源RPM文件,包括他们的依赖。 用于创建要从具有受限Internet访问的其他计算机访问的网络存储库。

Yumdownloader允许你不仅下载二进制的RPM也是那些来源(如果与使用--source选项)。

例如,让我们创建一个名为HTOP-文件 ,我们将存储安装使用rpm程序所需要的RPM(S)。 要做到这一点,我们需要使用--resolve与yumdownloader一起开关:# mkdir htop-files

# cd htop-files

# yumdownloader --resolve htop

# rpm -Uvh

034084b7e68f2a96f381ee0e128410e4.png

从Yum存储库下载RPM

10.将远程Yum存储库同步到本地目录

reposync密切相关yumdownloader(事实上,他们支持几乎相同的选项),但提供了一个相当大的优势。 而不是下载二进制或源RPM文件,它将远程存储库同步到本地目录。

让我们来同步知名EPEL软件库到一个名为EPEL本地当前工作目录中的子目录:# man reposync

# mkdir epel-local

# reposync --repoid=epel --download_path=epel-local

3631661feee5c262cd11c425cbedd078.png

将EPEL存储库同步到目录

请注意,这个过程将需要为它正在下载8867包相当长的一段:

3b2bfb10278dd9c5276f97e71cd37639.png

同步远程Yum存储库

一旦同步完成,让我们来检查我们的新创建的使用EPEL软件库的镜子使用的磁盘空间量杜命令 :# du -sch epel-local/*

695f6acb823f127e42d0ea643a376be8.png

检查Yum存储库磁盘空间

现在,如果你想保持这种EPEL镜像或用它来安装,而不是使用一台远程包是给你的。 在第一种情况下,请记住,您将需要相应地修改/etc/yum.repos.d/epel.repo。

11.修复未完成或中止的Yum交易

Yum完成事务是赶上一个系统上未完成或中止Yum交易,并尝试完成他们的yum-utils的计划的一部分。

例如,当我们更新通过yum包管理器的Linux服务器有时会抛出其内容如下的警告信息:还有未完成的交易。 您可以考虑首先运行yum-complete-transaction来完成它们。

要解决这样的警告消息,并解决这些问题, Yum完成事务命令进入画面,完成未完成的事务,它发现在交易的所有*并可以发现交易完成*文件的不完整或中止Yum交易/无功/ lib中/Yum目录。

运行Yum完成事务命令完成,未完成交易的yum:# yum-complete-transaction --cleanup-only

现在yum命令将运行没有不完整的事务警告。# yum update

注意 :这个技巧是我们的忠实读者先生的一个建议 托马斯在评论部分在这里 。

概要

在这篇文章中,我们已经介绍了一些通过Yum-utils的提供的最有用的工具。 有关完整列表,你可以参考手册页( man yum-utils )。

此外,这些工具有一个单独的手册页(见男子reposync,例如),这是文件的主要来源应该是指,如果你想更多地了解他们。

如果你花一分钟来检查的yum-utils的的手册页,也许你会发现另一种工具,你想我们更深入地覆盖在一个单独的文章。 如果是这样,或者如果您对本文有任何问题,意见或建议,请随时通过使用下面的评论表向我们发送备注,让我们知道哪一个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值