yum的使用

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.yum的安装与配置
(1)yum的安装
检查yum是否已经安装:
[root@localhost ~]# rpm -qa|grep yum
如果没有任何显示,表示系统中还没有安装yum工具,yum安装包在centos系统光盘中可以找到,执行如下指令进行安装:
[root@localhost ~]# rpm -ivh yum-*.noarch.rpm
安装yum需要python-elementtree、python-sqlite、urlgrabber、yumconf等软件包的支持,这些软件包在Centos Linux系统安装光盘均可找到,如果在安装yum过程中出现软件包之间的依赖性,只需按照依赖提示寻找相应软件包安装即可,直到yum包安装成功。

下面是某个环境的安装示例:
[root@localhost ~]# rpm -ivh yum-2.4.3-1.c4.noarch.rpm
warning: yum-2.4.3-1.c4.noarch.rpm: V3 DSA signature: NOKEY, key ID
443e1821
error: Failed dependencies:
python-elementtree is needed by yum-2.4.3-1.c4.noarch
python-sqlite is needed by yum-2.4.3-1.c4.noarch
urlgrabber is needed by yum-2.4.3-1.c4.noarch
yumconf is needed by yum-2.4.3-1.c4.noarch
[root@localhost ~]# rpm -ivh python-elementtree-1.2.6-4.2.1.i386.rpm warning: python-elementtree-1.2.6-4.2.1.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:python-elementtree ######################################## ### [100%]
root@localhost ~]# rpm -ivh sqlite-3.3.3-1.2.i386.rpm
warning: sqlite-3.3.3-1.2.i386.rpm: V3 DSA signature: NOKEY, key ID
443e1821
Preparing... ########################################### [100%]
1:sqlite ########################################### [100%]
[root@localhost ~]# rpm -ivh python-sqlite-1.1.7-1.2.i386.rpm
warning: python-sqlite-1.1.7-1.2.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:python-sqlite ########################################### [100%]
[root@localhost ~]# rpm -ivh python-urlgrabber-2.9.8-2.noarch.rpm warning: python-urlgrabber-2.9.8-2.noarch.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:python-urlgrabber ######################################### ## [100%]
root@localhost ~]# rpm -ivh centos-yumconf-4-4.5.noarch.rpm
warning: centos-yumconf-4-4.5.noarch.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:centos-yumconf ######################################### ## [100%]
[root@localhost ~]# rpm -ivh yum-2.4.3-1.c4.noarch.rpm
warning: yum-2.4.3-1.c4.noarch.rpm: V3 DSA signature: NOKEY, key ID
443e1821
Preparing... ########################################### [100%]
1:yum ########################################### [100%]
(2)yum的配置
yum工具安装完毕,接下来的工作是进行yum的配置,yum的配置文件有主配置文件/etc/yum.conf、资源库配置目录/etc/yum.repos.d,yum安装后,默认的一些资源库配置可能无法使用,因此需要进行修改,下面是
/etc/yum.repos.d/CentOS-Base.repo资源库配置文件各项的详细含义:
[root@localhost ~]#/etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-4 - Base
#name 就是发行版的名称,其格式表示“操作系统名和释出版本”,“base”是表明此段寻找的是base包信息。

baseurl=/centos/4/os/$basearch/
#baseurl”表示yum在互联网上查找升级文件的URL地址。

其中“$basearch”代
表了系统的硬件构架如“i386”、“x86-64等,同时,yum在资源更新时,会检查baseurl/repodata/repomd.xml文件。

“repomd.xml”是一个索引文件,它的作用是提供了更新rpm包文件的下载信息和SHA校验值。

“repomd.xml”包括了3个文件,分别为“other.xml.gz”、”filelists.xml.gz”和”primary.xml.gz”,表示的含义依次是“其它更新包列表”、“更新文件集中列表”和“主要更新包列表”。

gpgcheck=1
#gpgcheck表示是否启用gpg检查,1表示启用,0表示不启用校验,如果启用,就是需要在配置文件里注明GPG-RPM-KEY的位置,可以看到下面gpgkey字段,指定了GPG-RPM-KEY验证文件的位置。

#released updates
[update]
#本段是updates更新模块要用到的部分配置。

name=CentOS-4 - Updates
baseurl=/centos/4/updates/$basearch/
gpgcheck=1
gpgkey=/centos/RPM-GPG-KEY-centos4
#gpgkey指定GPG密钥的地址
#packages used/produced in the build but not released
#本段指定的是尚未发布的软件包部分(addons)配置
[addons]
name=CentOS-4 - Addons
baseurl=/centos/4/addons/$basearch/
gpgcheck=1
gpgkey=/centos/RPM-GPG-KEY-centos4
#additional packages that may be useful
#本段指定的是有用的额外软件包部分(extras)配置
[extras]
name=CentOS-4 - Extras
baseurl=/centos/4/extras/$basearch/
gpgcheck=1
gpgkey=/centos/RPM-GPG-KEY-centos4
#additional packages that extend functionality of existing packages
#本段指定的是扩展的额外软件包部分(centosplus)配置
[centosplus]
name=CentOS-4 - Plus
baseurl=/centos/4/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=/centos/RPM-GPG-KEY-centos4
#contrib - packages by Centos Users
#这里是contrib部分
[contrib]
name=CentOS-4 - Contrib
baseurl=/centos/4/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=/centos/RPM-GPG-KEY-centos4
2.yum的特点
安装方便,自动解决增加或删除rpm包时遇到的依赖性问题。

λ
可以同时配置多个资源库(Repository)λ
配置文件简单明了(/etc/yum.conf、/etc/yum.repos.d/CentOS-Base.repo)λ保持与RPM数据库的一致性λ
注意:yum会自动下载所有所需的升级资源包并默认放置在/var/cache/yum目录下,当第一次使用yum或yum资源库更新时,软件升级所需的时间可能较长。

3.yum的日常用法
(1)通过yum安装和删除RPM包
安装rpm包,如dhcpλ
[root@localhost ~]#yum install dhcp
删除rpm包,包括与该包有依赖性的包λ
[root@localhost ~]#yum remove licq
注意:同时会提示删除licq-gnome,licq-qt,licq-text
(2)通过yum工具更新软件包
检查可更新的rpm包:λ
[root@localhost ~]#yum check-update
更新所有的rpm包:λ
[root@localhost ~]#yum update
更新指定的rpm包,如更新kernel和kernel source:λ
[root@localhost ~]#yum update kernel kernel-source
大规模的版本升级,与yum update不同的是,陈旧的淘汰的包也会升级:λ[root@localhost ~]#yum upgrade
(3)通过yum查询RPM包信息
列出资源库中所有可以安装或更新的rpm包的信息:λ
[root@localhost ~]#yum info
列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息:λ
[root@localhost ~]#yum info vsftpd
[root@localhost ~]#yum info perl*
注意:可以在rpm包名中使用匹配符,如上面例子是列出所有以perl开头的rpm 包的信息。

列出资源库中所有可以更新的rpm包的信息:λ
[root@localhost ~]#yum info updates
列出已经安装的所有的rpm包的信息:λ
[root@localhost ~]#yum info installed
列出已经安装的但是不包含在资源库中的rpm包的信息:λ
[root@localhost ~]#yum info extras
注:也就是通过其它网站下载安装的rpm包的信息。

列出资源库中所有可以更新的rpm包:λ
[root@localhost ~]#yum list updates
列出已经安装的所有rpm包:λ
[root@localhost ~]#yum list installed
列出已经安装的但不包含在资源库中的rpm包:λ
[root@localhost ~]#yum list extras
注:也就是通过其它网站下载安装的rpm包。

列出资源库中所有可以安装或更新的rpm包:λ
[root@localhost ~]#yum list
列出资源库中特定的可以安装或更新以及已经安装的rpm包:λ
[root@localhost ~]#yum list sendmail
[root@localhost ~]#yum list gcc*
注意:可以在rpm包名中使用匹配符,如上面例子是列出所有以gcc开头的rpm 包。

搜索匹配特定字符的rpm包的详细信息:λ
[root@localhost ~]#yum search wget
注意:可以通过“search”在rpm包名,包描述中进行搜索。

搜索包含特定文件名的rpm包:λ
[root@localhost ~]#yum provides realplay
(4)通过yum操作暂存信息(/var/cache/yum)
清除暂存的rpm包文件:λ
[root@localhost ~]#yum clean packages
清除暂存的rpm头文件:λ
[root@localhost ~]#yum clean headers
清除暂存中旧的rpm头文件:λ
[root@localhost ~]#yum clean oldheaders
清除暂存中旧的rpm头文件和包文件:λ
[root@localhost ~]#yum clean 或
[root@localhost ~]#yum clean all
注意:上面的两条命令相当于yum clean packages + yum clean oldheaders。

4.Redhat Linux下用yum升级系统
yum也可以升级Redhat Linux系统,在Redhat Linux系统安装盘中默认没有yum的安装包,由于Redhat Linux与Centos Linux基本一致,因此可以用同版本同内核的Centos Linux的yum包在Redhat Linux上进行安装。

安装过程在上面章节已经讲述,这里不在多说。

由于使用的是Centos Linux的yum包在Redhat Linux下进行的安装,因此在Redhat Linux下需要增加资源库,定义yum的非官方库文件,让一些必需的软件包通过yum也能够安装。

首先建立dag.repo,定义非官方库:
[root@localhost ~]# vi /etc/yum.repos.d/dag.repo
[dag]
name=Dag RPM Repository for RHEL4
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el4/en/$basearch/dag/
enabled=1
gpgcheck=1
接着导入非官方库的GPG:
[root@localhost ~]# rpm --import \
http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-centos4
注意:此步骤很重要,如果没有导入授权的RPM-GPG-KEY,在使用yum升级安装软件时就会提示软件不合法,结合上下文可以看出,在Centos下进行yum 配置的时候,并没有涉及到导入RPM-GPG-KEY,那是因为连接的资源库为Centos官方的库,而升级的系统也是Centos,当然无需授权,而这里我们升级的系统是Redhat Linux,而用的资源文件是Centos的,所以必须导入Centos 的RPM-GPG-KEY,系统才认为升级的包是合法的。

最后,就可以使用非官方定义的rpm包升级系统:
[root@localhost ~]#yum update。

相关文档
最新文档