yum安装工具的理解

在安装gtk+编译环境的过程中,你会发现,RPM软件包之间的依赖关系非常复杂。在实际管理过程中,这种依赖关系可能会更加复杂。因此非常有必要寻找一种自动化安装工具,让安装工具自己处理这些关系复杂的依赖关系。幸运的是Red Hat推出了一个名为Yellowdog Updater Modified的包管理器(通常简称为yum)。

一、yum简介

yum包管理器可以自行计算要安装软件包的依赖性,并自动安装软件包需要的软件包和库文件。

使用yum包管理器时,需要为其设置yum使用的软件源(软件源也称为软件仓库,其中包含了若干rpm安装包和yum工作的索引文件)。对于使用Fedora Core Linux发行版的用户而言,可以直接使用操作系统自带的yum源。使用Red Hat Enterprise Linux发行版的用户,如果未将系统注册到红帽网络,将无法使用官方的源。

二、配置yum

yum可以使用互联网或本地保存的安装包作为源。当用户指定安装某个软件时,yum将会查找源,并计算软件包的依赖性,然后安装软件包。yum安装软件包的整个过程都不需要用户参与,大大降低了安装软件包的难度。

1、yum的配置文件

yum使用的配置文件为/etc/yum.conf,这个文件是yum工作的核心配置文件。查看其配置文件内容如下:

复制代码
[root@localhost Server]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
复制代码

这个配置文件的内容十分简洁,每一行就是一个配置项。其中配置了yum的缓存目录、错误级别、日志文件等。通常不需要对这个文件中的内容做特殊的设置。

除了yum工作的配置文件外,还有源配置文件。这些文件通常为于目录/etc/yum.repos.d中,默认情况下该目录中只有一个配置文件rhel-debuginfo.repo。

查看yum源配置文件的内容:

复制代码
[root@localhost yum.repos.d]# cat rhel-debuginfo.repo 
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
复制代码

这个配置文件的内容比较简单,每行为一个配置项,并使用等号“=”为每个配置项赋值。这些配置项及其含义如下:

[name]:软件源的名称。

name:软件源的描述信息。

baseurl:软件源的位置。默认的软件源为Red Hat官方的软件源。

enabled:是否需要启用这个软件源,1为启用,0为禁用。

gpgcheck:是否需要验证GPG签名。GPG签名用于验证软件包是否来自Red Hat官方。

gpgkey:GPG签名的验证密钥信息存放位置。

2、使用DVD光盘配置软件源

RHL5.3的安装光盘分为DVD和CD两种,DVD安装光盘将所有需要的内容和安装文件都集中放置在一张光盘上,而CD安装光盘则分别存放在4张光盘内。

由于DVD光盘已经将所有需要的文件集中放置,因此可以直接将DVD光盘挂载到系统中,使用光盘建立yum源。

(1)在配置yum源之前,应该先备份其源配置文件:

#使用cp命令备份yum源配置文件
# cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/rhel-debuginfo.repo.bak

(2)挂载光驱到目录/mnt,以便于指定光驱目录为yum源:

[root@localhost ~]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only

(3)挂载完成后修改yum源配置文件,将文件rhel-debuginfo.repo的内容修改如下:

复制代码
[root@localhost ~]# cat /etc/yum.repos.d/rhel-debuginfo.repo 
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
#以上内容无变化

#以下为新写入内容
[cdrom]
name=Red Hat DVD
baseurl=file:///mnt/Server/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
复制代码

新建的软件源中,软件源的目录为/media/cdrom/Server。此处的“file://”与前面的“ftp://”类似,表示使用的协议,官方的源中使用的“ftp://”表示使用FTP协议。此处的“file://”表示使用本地文件系统,而其后的/media/cdrom/Server则表示源目录在本地文件系统上的具体位置。

配置好以上内容之后,使用DVD安装光盘建立的yum源就可以使用了。

3、使用CD安装光盘配置软件源

使用CD安装光盘时,由于安装文件分布在不同的光盘上,因此建立yum源之前,需要将4张安装光盘的安装文件都复制到硬盘的同一个目录中,然后在修改yum源配置文件。

(1)在本例中,先将所有光盘中的安装文件(即光盘上所有的“.rpm”结尾的文件)都复制到目录/mnt/cd_yum/rpm中。

(2)yum工作时依赖于几个索引文件,这几个索引文件被放置在光盘上的安装文件目录中的repodata子目录中。

[root@localhost ~]# ls /media/cdrom/Server/repodata/
comps-rhel5-server-core.xml  other.xml.gz    repomd.xml
filelists.xml.gz             primary.xml.gz  TRANS.TBL

上面这个示例命令假定光盘已经挂载到目录/media/cdrom。命令输出的几个文件filelists.xml.gz、other.xml.gz和repomd.xml,都是yum工作时必需的文件。如果在复制时没有复制到这几个文件,或者这几个文件的内容不准确,都会影响yum的正常使用。

用户复制安装文件时,可以一并复制这个目录,也可以使用createrepo命令重新创建这个目录中的文件。

(3)重新创建索引文件需要使用命令createrepo,默认情况下,系统并没有安装createrepo命令的软件包。可以使用以下名安装:

[root@localhost Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm 
warning: createrepo-0.4.4-2.fc6.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:createrepo             ########################################### [100%]

安装完成之后,就可以使用该命令建立索引文件了:

[root@localhost ~]# createrepo /mnt/cd_yum/rpm/

由于命令会搜索、分析所有软件包,并建立索引文件,因此这个命令会耗费大量时间。命令完成之后,将在目录/mnt/cd_yum/rpm中建立一个新的子目录repodata,并将新生成的索引文件放置在其中。

(4)完成以上步骤后,就可以修改yum源配置文件了。具体可以参考使用DVD建立yun源步骤中的配置文件,修改完成后就可以使用yum安装软件包了。

注意:使用安装光盘建立yum源,仅仅是为了安装软件包时方便,不能为系统更新软件,因此建议使用官方的yum源,以便于获取更多更新的软件包。

三、查询源上的软件包

【命令格式】

yum search package_name

四、利用yum安装软件包

【命令格式】

yum [-y] install soft_package_name

使用yum命令安装软件包时,可以使用选项y,该选项将会自动允许yum的所有操作而不提示用户。

五、利用yum卸载软件包

【命令格式】

yum [-y] remove soft_package_name

与安装软件包类似,选项y将授权yum自动操作。

注意:不建议使用yum工具自动卸载与系统相关的软件包。

六、安装、卸载软件包组

软件包组是发行版自定义的软件包集合,软件包组会显示在操作系统安装过程中的软件定制界面中。

【命令格式】

yum [grouplist | goupinstall | groupremove] group_name

grouplist:列出所有的软件包组。

goupinstall:安装指定的软件包组。

groupremove:卸载指定的软件包组。

posted @ 2017-04-29 09:29  小女子的测试之路  阅读(2233)  评论(0编辑  收藏  举报