如何在Linux中添加yum
本文将向我们展示如何在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