业精于勤,荒于嬉
全部博文(763)
分类: LINUX
2013-01-05 10:26:11
yum是什么
yum = Yellow dog Updater, Modified
主要功能是更方便的添加/删除/更新RPM包.
它能自动解决包的倚赖性问题.
它能便于管理大量系统的更新问题
yum特点
可以同时配置多个资源库(Repository)
简洁的配置文件(/etc/yum.conf
自动解决增加或删除rpm包时遇到的倚赖性问题
使用方便
保持与RPM数据库的一致性
yum安装
CentOS自带(yum-*.noarch.rpm)
#rpm -ivh yum-*.noarch.rpm |
#rpm --import /usr/share/doc/centos-release-3(4)/RPM-GPG-KEY-CentOS-3(4) |
yum指令
注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长.
rpm包的更新
检查可更新的rpm包
#yum check-update |
#yum update |
#yum update kernel kernel-source |
#yum upgrade |
#yum install xmms-mp3 |
#yum remove licq |
#yum clean packages |
#yum clearn headers |
#yum clean oldheaders |
#yum clearn 或#yum clearn all |
#yum list |
#yum list mozilla #yum list mozilla* |
#yum list updates |
#yum list installed |
#yum list extras |
#yum info |
#yum info mozilla #yum info mozilla* |
#yum info updates |
#yum info installed |
#yum info extras |
注:通过其它网站下载安装的rpm包的信息
搜索rpm包
搜索匹配特定字符的rpm包
#yum search mozilla |
#yum provides realplay |
增加资源库
例如:增加rpm.livna.org作为资源库
安装Livna.org rpms GPG key
#rpm --import |
# rpm -qa gpg-pubkey* |
#rpm -qi gpg-pubkey-a109b1ec-3f6e28d5 |
[root@centos ~]# ls -l /etc |grep yum drwxr-xr-x 3 root root 4096 Apr 23 20:12 yum -rw-r--r-- 1 root root 286 Apr 4 2007 yum.conf drwxr-xr-x 2 root root 4096 Apr 4 2007 yum.repos.d [root@centos ~]# ls -l /etc/yum yum/ yum.conf yum.repos.d/ [root@centos ~]# ls -l /etc/yum.repos.d/ total 16 -rw-r--r-- 1 root root 2371 Apr 9 2007 CentOS-Base.repo -rw-r--r-- 1 root root 622 Apr 9 2007 CentOS-Media.repo |
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
vi /etc/yum.repos.d/CentOS-Base.repo
重点修改内容为[base][updates],其他内容可以根据需要再做修改。
# CentOS-Base.repo [base] #released updates #packages used/produced in the build but not released #additional packages that may be useful #additional packages that extend functionality of existing packages #contrib - packages by Centos Users |
提供一份国内可用的YUM list
[base] #released updates #packages used/produced in the build but not released #additional packages that extend functionality of existing packages #packages in testing |
修改完成后
rpm --import
yum update
设定本地光盘YUM 源
挂载光盘
#mount /dev/crom /media/
如挂在再别的文件夹下需修改配置文件
配置文件在 /etc/yum.repos.d/CentOS-Media.repo。
将/etc/yum.repos.d/CentOS-Base.repo改下名,命令如下:
#mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
检查下配置文件的有没设置正确,命令如下:
#cat /etc/yum.repos.d/CentOS-Media.repo
# CentOS-Media.repo # # This repo is used to mount the default locations for a CDROM / DVD on # CentOS-5. You can use this repo and yum to install items directly off the # DVD ISO that we release. # # To use this repo, put in your DVD and use it with the other repos too: # yum --enablerepo=c5-media [command] # # or for ONLY the media repo, do this: # # yum --disablerepo=\* --enablerepo=c5-media [command] [c5-media] name=CentOS-$releasever - Media baseurl=file:/media gpgcheck=0 |
错误信息
: [Errno 5] OSError: [Errno 2] No such file or directory: '/CentOS/repodata/repomd.xml' Trying other mirror. Error: Cannot open/read repomd.xml file for repository: c5-media |
添加/删除/更新软件
1.仅安装指定的软件
命令:yum install
yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。
2.用YUM删除软件包
命令:yum remove
同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
3.列出所有可更新的软件清单
命令:yum check-update
4.更新所有已安装软件
命令:yum update
5.仅更新指定的软件
命令:yum update
用YUM查询软件信息
1.使用YUM查找软件包
命令:yum search
比如我们要安装一个Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到gaim,kopete等等,并从中选择。
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。
2.列出所有可安裝的软件清单
命令:yum list
3.列出所有可更新的软件包
命令:yum list updates
4.列出所有已安装的软件包
命令:yum list installed
5.列出所有已安装但不在 Yum Repository 內的软件包
命令:yum list extras
6.列出所指定的软件包
命令:yum list
7.使用YUM获取软件包信息
命令:yum info
8.列出所有软件包的信息
命令:yum info
9.列出所有可更新的软件包信息
命令:yum info updates
10.列出所有已安裝的软件包信息
命令:yum info installed
11.列出所有已安裝但不在 Yum Repository 內的软件包信息
命令:yum info extras
12.列出软件包提供哪些文件
命令:yum provides
清除YUM缓存
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除。
1.清除缓存目录(/var/cache/yum)下的软件包
命令:yum clean packages
2.清除缓存目录(/var/cache/yum)下的 headers
命令:yum clean headers
3.清除缓存目录(/var/cache/yum)下旧的 headers
命令:yum clean oldheaders
4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)