CentOS如何使用Yum管理包

时间:2020-02-23 14:38:55  来源:igfitidea点击:

每个Linux发行版都有一种管理软件包的方法。
除了从源编译它来安装软件外,Centos还使用两个包管理命令:低级RPM和高级yum命令。

yum个高级包管理器,它在后台使用RPM包管理工具。

在CentOS上使用YUM安装包

为了说明,让我们安装一个名为httpd的包,它是Apache Web服务器。
我们将使用yum安装httpd,如下所示:

yum install httpd

发出该命令后,大量文本通过,系统会提示我们按"Y"继续。

在完成之前,请查看上述文本:我们可以看到包名称,IT的架构,版本,存储库和大小。
此外,我们可以看到它是将五个其他包作为依赖项安装,总计6安装的包。

rpm vs yum:当我们通过RPM安装包时,我们可能需要其他包。
这些称为依赖项。
它有时会导致依赖地狱,因为例如package_a具有称为package_b的依赖项,而且包依次具有package_b作为依赖关系。
package_c可以使我们猜测,package_d作为依赖项等。
所以我们不需要下载package_a,但也需要package_b,package_c等。
某些包可能需要多达100个依赖项。
额外问题是我们需要安装依赖于人类包的依赖项包的确切版本。
Yum照顾所有这些。

按Y,再次按下,结束。

安装完成

一个有用的提示:如果我们确定我们正在进行的内容,那么我们可以通过使用-y切换到yum命令自动接受所有内容。
例如:

yum -y install httpd

存储库

存储库是Internet上的位置,其中存储了所有包。
这些显然在某处配置。
在CentOS中,存储库存储为/etc/yum.repos.d文件夹中的文件。
我们可以看看它的内容。

/etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo

在我们安装最少的CentOS时,已经在某些内部的存储库(或者"repos"),该文件定义为与.Repo结尾的文件。

在CentOS 6中,我们不需要使用yum管理包来下载RPM包,因为它可在默认存储库中使用。
所以让我们试着通过yum安装它。
例子:

yum -y install epel-release

现在让我们再次查看/etc/yum.repos.d/的内容。

ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo epel.repo epel-testing.repo

我们可以看到新的文件epel.repo和epel-testing.repo。
它们定义了与CentOS,Redhat,Scientific Linux和少数Redhat克莱隆的额外包装的存储库。
甚至有一种方法来显示所有Repos和许多包,它们包含一个yum命令,yum drevolist。

yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.t-2.net
* epel: mirrors.netix.net
* extras: centos.t-2.net
* updates: centos.t-2.net
repo id repo name status
base CentOS-6 - Base 6,713
epel Extra Packages for Enterprise Linux 6 - x86_64 12,506
extras CentOS-6 - Extras 43
updates CentOS-6 - Updates 319
repolist: 19,581

我们可以在此处查看EPEL存储库包含惊人的12,514软件包。

列出已安装的软件包

我在CHM文章中向我们展示了如何列出已安装的软件包,具有RPM -QA。

我们还可以使用List安装选项列出这些yum。

yum list installed

列出已安装的软件包

其输出比通过RPM命令获得的输出不同。
由我们决定使用哪一个。

删除软件包

删除包很容易,只需在使用yum时使用擦除选项,然后使用包名称。

yum erase -y epel-release

类似于RPM,我们不必指定包的版本,只是包的名称。

让我们再次安装它,因为我们将在文章中再次需要它。

yum -y install epel-release

搜索软件包

我们可以使用搜索选项搜索已安装的存储库中的软件包,然后是模式。
它将仅搜索包名称和摘要,但如果没有匹配项,它将在描述和URL中搜索。
例如,要搜索具有httpd在其名称/摘要/描述/url中的包,我们应该执行:

yum search httpd

很多包都会显示其中一些没有httpd在包名中。
相反,我们将在描述中看到它,例如mod_auth_mellon。

使用yum搜索httpd

我们可能已经注意到搜索是不区分大小写的,因此我们不必担心我们是否正在寻找httpd,httpdor httpd。

检索包信息

在安装之前,我们可以通过使用yum search后跟包名来获得有关某个包的更多信息。
让我们尝试用httpd包。

yum info httpd

此显示各种信息:其名称,架构,精确版本和释放,大小以及安装其所在的repo等事物。

它只显示有关完全称为httpd.since的包的信息,它可以生成多个结果,我们希望有关Startwithhttpd的所有包的信息,我们也可以使用疯狂的字符。

yum info httpd*