答案是肯定的,yum 在线管理就可以自动处理 RPM 包的依赖性问题,从而大大简化 RPM 包的安装过程。但需要注意的是,首先,yum 安装的还是 RPM 包,其次,yum 安装是需要有可用的 yum 服务器存在的,当然这个 yum 服务器可以在网上,也可以使用光盘在本地搭建。
yum 可以方便地进行 RPM 包的安装、升级、査询和卸载,而且可以自动解决依赖性问题,非常方便和快捷。但是,一定要注意 yum 的卸载功能。yum 在卸载软件的同时会卸载这个软件的依赖包,但是如果卸载的依赖包是系统的必备软件包,就有可能导致系统崩溃。除非你确实知道 yum 在自动卸载时会卸载哪些软件包,否则最好不要执行 yum 卸载。
yum源搭建
yum 源既可以使用网络 yum 源,也可以使用本地光盘作为 yum 源。要使用网络 yum 源,你的主机必须是正常联网的。
当然,要使用 yum 进行 RPM 包安装,那么必须安装 yum 软件。查看命令如下:
[root@localhost ~]# rpm -qa | grep yum
yum-metadata-parser-1.1.2-16.el6.i686
yum-3.2.29-30.el6.centos.noarch
yum-utils-1.1.30-14.el6.noarch
yum-plugin-fastestmirror-1.1.30-14.el6.noarch
yum-plugin-security-1.1.30-14.el6.noarch
如果没有安装,则需要手工使用 RPM 包方式安装。
网络yum源服务器搭建
在主机网络正常的情况下,CentOS 的 yum 是可以直接使用的,不过我们需要了解一下 yum 源配置文件的内容。
yum 源配置文件保存在 /etc/yum.repos.d/ 目录中,文件的扩展名一定是"*.repo"。也就是说,yum 源配置 文件只要扩展名是"*.repo"就会生效。
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo
CentOS-Media.repo
CentOS-Debuginfo.repo.bak、
CentOS-Vault.repo
这个目录中有 4 个 yum 源配置文件,默认情况下 CentOS-Base.repo 文件生效。我们打开这个文件看看,命令如下:
[root@localhost yum.repos.d]# vim /etc/yum.repos.d/ CentOS-Base.repo
[base]
name=CentOS-$releasever – Base
mirrorlist=http://mirrorlist.centos.org/? release= $releasever&arch=$basearch&repo=os
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
…省略部分输出…
在 CentOS-Base.repo 文件中有 5 个 yum 源容器,这里只列出了 base 容器,其他容器和 base 容器类似。
我们解释一下 base 这个容器:
- [base]:容器名称,一定要放在[]中。
- name:容器说明,可以自己随便写。
- mirrorlist:镜像站点,这个可以注释掉。
- baseurl:我们的 yum 源服务器的地址。默认是 CentOS 官方的 yum 源服务器,是可以使用的。如果你觉得慢,则可以改成你喜欢的 yum 源地址。
- enabled:此容器是否生效,如果不写或写成 enabled 则表示此容器生效,写成 enable=0 则表示此容器不生效。
- gpgcheck:如果为 1 则表示 RPM 的数字证书生效;如果为 0 则表示 RPM 的数字证书不生效。
- gpgkey:数字证书的公钥文件保存位置。不用修改。
yum 源配置文件默认不需要进行任何修改就可以使用,只要网络可用就行。
以本地光盘作为 yum 源服务器
如果 Linux 主机不能联网,yum 就不能使用吗? yum 已经考虑到这个问题,所以在 /etc/yum.repos.d/ 目录下 还有一个 CentOS-Media.repo 文件,这个文件就是以本地光盘作为 yum 源服务器的模板文件,只需要进行简单的修改即可。
1) 放入 CentOS 安装光盘,并挂载光盘到指定位置。命令如下:
[root@localhost ~]# mkdir /mnt/cdrom
#创建cdrom目录,作为光盘的挂载点
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device/dev/srO is write-protected, mounting read-only
#挂载光盘到/mnt/cdrom目录下
2) 修改其他几个 yum 源配置文件的扩展名,让它们失效,因为只有扩展名是"*.repo"的文件才能作为 yum 源配置文件。当然也可以删除其他几个 yum 源配置文件,但是如果删除了,当你又想用网络作为 yum 源时,就没有了参考文件,所以最好还是修改扩展名。 命令如下:
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv CentOS-Base, repo CentOS-Base.repo.bak
[root@localhost yum.repos.d]#mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Vault.repo CentOS-Vault.repo.bak
3) 修改光盘 yum 源配置文件 CentOS-Media.repo,参照以下方修改:
[root@localhost yum.repos.d]# vim CentOS-Media.repo
[c6-media]
name=CentOS-$releasever – Media
baseurl=file:///mnt/cdrom
#地址为你自己的光盘挂载地址
#file:///media/cdrom/
#file:///media/cdrecorder/
#注释这两个的不存在地址
gpgcheck=1
enabled=1
#把enabled=0改为enabled=1, 让这个yum源配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
配置完成,现在可以感受一下yum的便捷了。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/21874.html