yum在做什么
使用redhat,fedora的linuxer一定为rpm著名的dependency hell感到头疼(这也是所有基于rpm的分发所共有的问题)。 foo is needed by bar,bar is needed by foo。 要安装软件,你得费点力气理清所有的依赖性问题。 rpm的几个搜索网站成为了经常访问的地方。 如果不幸遇到循环依赖,那就只能瞪大眼睛了。 时- -添加--nodeps参数后,眼睛看不见,不在意,但这样安装的软件,能保证正常使用吗? 你能保证这样卸载软件不会影响其他软件的运行吗? 恐怕没有人能给出肯定的回答。 到了这个时候,帽子们看到debian的apt,暗自羡慕。 好在这些已经成为过去了。 基于rpm的发行版还提供了软件包管理工具,例如apt,用于自动解决依赖关系。 其中之一是apt4rpm,这基本上是debian系统apt在rpm发行版中的移植。 但是,你知道使用Redhat和Fedora的linuxer吗? 此外,还有与apt功能相似的rpm包管理系统。 那是yum。 Fedora系统已经附带,Redhat也有相应的rpm下载。 与apt相比,yum的功能一点也不弱,也有很多比apt更好的地方。 例如,yum附带在Fedora系统中,因此可以使用Fedora官方的软件源完成各种官方公告的各种升级。 对于第三方软件源的支持,yum也不错。 大多数支持apt的资料档案库注释也支持yum,如freshrpms、fedora.us和livna。 另外,yum有比较详细的log,可以看到什么时候升级安装了什么软件包等。 yum的代码比apt更简单等。
一、什么是yum
yum=Yellow dog Updater,Modified的主要功能是方便RPM软件包的添加/删除/更新。 这将自动解决软件包相关性问题。
更容易管理大量系统的更新问题
注:为什么要用yum而不是apt,最简单的理由是Fedora有
二. yum的特点
*可以同时配置多个存储库。 (资料档案库) ) ) )。
*简明的配置文件(/etc/yum.conf ) ) ) ) ) ) ) ) ) ) ) )。
自动解决添加或删除rpm软件包时出现的相关性问题
*使用方便
保持与RPM数据库的一致性
三. yum安装
Fedora会带来
#rpm -ivh yum-2.0.4-2.noarch.rpm
四. yum配置
注意:修改并添加:配置文件的存储库,以缩短下载时间,增加可更新的rpm软件包,并使用/etc/yum.conf中的所有内容替换它
[main]
cachedir=/csdl/cache/yum
调试级别=2
logfile=/csdl/log/yum.log
pkgpolicy=newest
distroverpkg=fedora-release
tolerant=1
exactarch=1
[fedora-us-1]
name=fedora core1----fedorausmirror
base URL=FTP ://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/OS
[fedora-us-1-updates]
name=fedora core1updates---- fedorausmirror
base URL=FTP ://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/updates
[fedora-us-1-stable]
name=fedoraLinux(stable ) for Fedora Core 1 -- Fedora US mirror
base URL=FTP ://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/stable
[freshrpms]
name=fedora Linux $ releasever-$ basearch-freshrpms
base URL=http://ayo.freshrpms.net/fedora/Linux/$ releasever/$ basearch/freshrpms
五. yum APP
注意:首次使用:yum或yum资源库进行更新时,yum会自动下载所有必需的headers并将其放在/csdl/cache/yum目录中。 这可能需要一些时间。
检查可更新的rpm软件包
#yum check-update
安装rpm软件包,以便xmms可以播放mp3
#yum install xmms-mp3
安装mplayer,自动安装相关软件
#yum install mplayer
删除licq包,同时删除与该包有倚赖性的包#yum remove licq
注:同时会提示删除licq-gnome,licq-qt,licq-text,非常方便
系统更新(更新所有可以升级的rpm包,包括kernel)
#yum -y update
每天定期执行系统更新
#chkconfig yum on
#service yum start
六. yum指令详解
*rpm包的更新
检查可更新的rpm包
#yum check-update
更新所有的rpm包
#yum update
更新指定的rpm包,如更新kernel和kernel source
#yum update kernel kernel-source
大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
#yum upgrade
*rpm包的安装和删除
安装rpm包,如xmms-mp3
#yum install xmms-mp3
删除rpm包,包括与该包有倚赖性的包
#yum remove licq
注:同时会提示删除licq-gnome,licq-qt,licq-text
*yum暂存(/csdl/cache/yum/)的相关参数
清除暂存中rpm包文件
#yum clean packages
清除暂存中rpm头文件
#yum clean headers
清除暂存中旧的rpm头文件
#yum clean oldheaders
清除暂存中旧的rpm头文件和包文件
#yum clean或#yum clean all
注:相当于yum clean packages + yum clean oldheaders
*rpm包列表
列出资源库中所有可以安装或更新的rpm包
#yum list
列出资源库中特定的可以安装或更新以及已经安装的rpm包
#yum list mozilla
#yum list mozilla*
注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包
列出资源库中所有可以更新的rpm包
#yum list updates
列出已经安装的所有的rpm包
#yum list installed
列出已经安装的但是不包含在资源库中的rpm包
#yum list extras
注:通过其它网站下载安装的rpm包
*rpm包信息显示(info参数同list)
列出资源库中所有可以安装或更新的rpm包的信息
#yum info
列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息
#yum info mozilla
#yum info mozilla*
注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息
列出资源库中所有可以更新的rpm包的信息
#yum info updates
列出已经安装的所有的rpm包的信息
#yum info installed
列出已经安装的但是不包含在资源库中的rpm包的信息
#yum info extras
注:通过其它网站下载安装的rpm包的信息
*搜索rpm包
搜索匹配特定字符的rpm包
#yum search mozilla
注:在rpm包名,包描述等中搜索
搜索有包含特定文件名的rpm包
#yum provides realplay
七. 安全的更新freshrpms.net的rpm包
安装freshrpms.net的GPG key #rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt
编辑/etc/yum.conf,增加以下信息到尾部
[freshrpms]
name=Fedora Linux $releasever - $basearch - freshrpms
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
gpgcheck=1
注:
检查GPG Key
# rpm -qa gpg-pubkey*
显示Key信息
#rpm -qi gpg-pubkey-e42d547b-3960bdf1
删除Key
#rpm -e gpg-pubkey-e42d547b-3960bdf1