如何在Linux中添加yum

时间:2020-03-05 15:25:52  来源:igfitidea点击:

本文将向我们展示如何在yum(yellodog updater修改)中添加存储库,这是基于Red Hat的Linux发行版的默认包管理器。
我们还将讨论存储库的内容以及我们需要设置的原因。

包中的依赖性

Linux中的软件包通常依赖于其他包以正确运行。
例如,GZIP包,压缩/解压缩实用程序至少需要shell(如'sh'或者'bash')和要安装的libc库。
有许多GNOME实用程序,如GNOME-TERMING,GNOME-SYSTEM-MONITOR,GNOME-PANEL等其他需要GNOME的其他(许多Linux中的默认图形环境,包括RHEL)。

依赖问题

那么它是如何影响什么?
在上面的示例中,将无法安装GNOME终端包,直到安装所有依赖项(或者已解决)。
这些依赖项可能具有自己的依赖项,其可能又可以依赖一些依赖性,等等遵循依赖性的层次结构。
手动解决这些依赖项将需要花费大量的时间和精力。

Yum

那么Yum其中适合大局?
YUM为我们解析了这些依赖关系,因此新软件包的安装是快速简便的。

软件存储库

存储库是一个大型集合或者软件包池。
yum需要存储库来解析依赖关系并安装包。
互联网上有许多存储库。
我们可以在网络上拥有自己的存储库。
存储库信息包含在XML文件中。
这些文件包含在名为"repodata"的目录中。
只要我们关注这些存储库的配置yum,我们不需要为他们打扰它们。
更新这些存储库文件是管理员的任务。
yum使用这些文件来缓存存储库信息。
出于本文的目的,使用RHEL-5.6服务器。

yum配置

yum配置文件位于"/etc/yum.repos.d/"目录中。
存储库中的当前文件是:

[root@redhat-server ~]# ls -l /etc/yum.repos.d/
total 16
-rw-r--r-- 1 root root 561 Dec 14 2010 rhel-debuginfo.repo
-rw-r--r-- 1 root root 222 Dec 14 2010 rhel-source.repo

存储库配置文件必须以上述两个文件为".repo"结尾。
让我们检查其中一个文件的布局:

[root@redhat-server ~]# cat /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - Source
baseurl=ftp://ftp.redhat.com/redhat/linux/enterprise/$releasever/en/os/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[存储库]:第一行,方形括号中是存储库的唯一ID。
对于每个存储库必须不同,只有一个单词。

名称:这是存储库的描述。

BaseURL:这是存储库的位置URL。
这是"Repodata"目录的路径。
存储库可以是"FTP"或者"HTTP"存储库。
它也可以位于机器本身(本地存储库)。

已启用:'1'值启用和'0'禁用存储库。

GPGCheck:yum是否应该检查包装的GPG签名。

GPGKey:用于存储库的GPG密钥文件的URL。
如果GPGCheck的上述值为"0"或者缺少该条目,则此选项没有含义。

添加我们自己的存储库

要添加yum存储库,请让我们创建名为"Rhel-local.repo"的文件。
我的存储库位于本地"/转储"目录中。

[root@redhat-server ~]# cat > /etc/yum.repos.d/rhel-local.repo
[rhel-ftp]
name=Local repository
baseurl=file:///dump
enabled=1
gpgcheck=0
[root@redhat-server ~]#

其中我们不想检查签名,所以gpgcheck是'0'。
如果存储库位于FTP或者HTTP或者任何其他服务器,则只需更改基本URL即可。

现在,要确保正确设置此存储库,可以运行"yum列表"命令,该命令将列出已安装的列表以及来自存储库的可用包。
此命令的输出非常大,因此在以下命令中,使用"grep"和'head'进行过滤结果:

[root@redhat-server ~]# yum list | grep rhel-ftp | head
This system is not registered with RHN.
RHN support will be disabled.
Deployment_Guide-as-IN.noarch 5.2-11 rhel-ftp
Deployment_Guide-bn-IN.noarch 5.2-11 rhel-ftp
Deployment_Guide-de-DE.noarch 5.2-11 rhel-ftp
Deployment_Guide-es-ES.noarch 5.2-11 rhel-ftp
Deployment_Guide-fr-FR.noarch 5.2-11 rhel-ftp
Deployment_Guide-gu-IN.noarch 5.2-11 rhel-ftp
Deployment_Guide-hi-IN.noarch 5.2-11 rhel-ftp
Deployment_Guide-it-IT.noarch 5.2-11 rhel-ftp
Deployment_Guide-ja-JP.noarch 5.2-11 rhel-ftp
Deployment_Guide-kn-IN.noarch 5.2-11 rhel-ftp

将更多的存储库添加到yum

通过添加更多的存储库,如DAG,UPDATE和RPMFORGE添加更多的存储库,使yum更加强大。
为yum添加另外的存储库执行以下步骤:

#cd /etc/yum.repos.d
#vi dag.repo //the add the following lines in that file//
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

在此之后,保存文件并运行以下命令:

# yum check-update

与CentOS 7中的存储库合作

我们可以在Centos网页的可用存储库中提供的列表中找到一些最有用的存储库,有关如何安装它们的说明。

对于某些存储库,我们必须遵循上面的说明和其他人,我们必须安装如下所示的包:

例如,要安装最流行的第三方存储库,epel(Enterprise Linux的另外软件包),可以简单地运行以下命令:

# yum install epel-release

然后,涡欧基尔中的包将在系统上使用。
请记住,我们可以始终通过运行以下命令查看系统使用的存储库列表:

# yum repolist

此外,如果要在特定存储库中搜索包,则可以使用以下命令:

# yum --disablerepo="*" --enablerepo="epel" search znc