搜集了一些 yum命令的用法
yum 命令详解:
Redhat和Fedora的软件安装命令是 rpm,但是用rpm安装软件最大的麻烦就是需要手动寻找安装该软件所需要的一系列依赖关系,超级麻烦不说,要是软件不用了需要卸载的话由于卸载掉了某个依赖关系而导致其他的软件不能用是非常恼人的。令人高兴的是, Fedora终于推出了类似于ubuntu中的apt 的命令yum,令Fedora 的软件安装变得简单容易。 Yum 有以下特点:
*可以同时配置多个资源库 (Repository)
*简洁的配置文件(/etc/yum.conf)
*自动解决增加或删除rpm包时遇到的倚赖性问题
*使用方便
*保持与RPM数据库的一致性
yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做 yup(yellow dog updater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。 yum的宗旨是自动化地升级,安装 /移除rpm包,收集 rpm包的相关信息,检查依赖性并自动提示用户解 决。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是 http或ftp站点,也可以是本地软件池,但必须包含 rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等 .正是收集了这些header并加以分析,才能自动化地完成余下的任务。
1.yum的一切配置信息都储存在一个叫 yum.conf的配置文件中,通常位于 /etc目录下,这是整个yum系统的重中之重,我在的F9中查看了这一文件,大家一起来看下:
[hanlong@localhost F9常用文档]$ sudo more /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
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
下面简单的对这一文件作简要的说明:
cachedir:yum缓存的目录, yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
debuglevel:除错级别,0──10,默认是2
logfile:yum的日志文件,默认是 /var/log/yum.log。
exactarch,有两个选项1和0, 代表是否只升级和你安装软件包 cpu体系一致的包,如果设为 1,则如你安装了一个i386的rpm ,则yum不会用686 的包来升级。
gpgchkeck= 有1和 0两个选择,分别代表是否是否进行 gpg校验,如果没有这一项,默认好像也是检查的。
2.好了,接下来就是yum的使用了,首先用yum来升级软件,yum的操作大都须有超级用户的权限,当然可以用 sudo。
yum update,这一步是必须的,yum会从服务器的header目录下载 rpm的header,放在本地的缓存中,这可能会花费一定的时间,但比起 yum 给我们带来方便,这些时间的花费又算的了什么呢? header下载完毕,yum会判断是否有可更新的软件包,如果有,它会询问你的意见,是否更新,还是说 y吧,把系统始终up to date总是不错的,这时yum开始下载软件包并使用调用rpm安装,这可能要一定时间,取决于要更新软件的数目和网络状况,万一网络断了一下有无跟新,如果有,就用 yum update进行跟新,时刻保持系统为最新,堵住一切发现的漏洞。用 yum update packagename对某个单独包进行升级。
现在简单的把 yum软件升级的一些命令罗列一下:,也没关系,再进行一次就可以了。升级完毕,以后每天只要使用 yum check-update检查
(更新:我在安装wine的时候是用rpm一个一个安装的,先安装以来关系,然后在安装 wine的主包,但是刚刚在论坛上发现来一个好的帖子,就 yum的本地安装。参数是-localinstall
$yum localinstall wine-*
这样的话, yum会自动安装所有的依赖关系,而不用 rpm一个一个的安装了,省了好多工作。
还有一个与他类似的参数:
$yum localupdate wine-*
如果有 wine的新版本,而且你也下载到来本地,就可以这样本地更新 wine了。)
1.列出所有可更新的软件清单
命令: yum check-update
2.安装所有更新软件
命令: yum update
3.仅安装指定的软件
命令: yum install
4.仅更新指定的软件
命令: yum update
5.列出所有可安裝的软件清单
命令: yum list
3.使用yum安装和卸载软件,有个前提是 yum安装的软件包都是rpm格式的。
安装的命令是, yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装 ;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断
删除的命令是, yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
1.用YUM安装软件包
命令: yum install
2.用YUM删除软件包
命令: yum remove
4.用yum查询想安装的软件
我们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时 yum的查询功能就起作用了。你可以用 yum search keyword这样的命令来进行搜索,比如我们要则安装一个 Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索, yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm 包,于是我们可能得到 gaim,kopete等等,并从中选择。
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用 yum info packagename这个指令来获取信息。
1.使用YUM查找软件包
命令: yum search
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
5.清除YUM缓存
yum 会把下载的软件包和header存储在cache 中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用 yum clean指令进行清除,更精确的用法是 yum clean headers清除header, yum clean packages清除下载的 rpm包,yum clean all 清除所有
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)
以上所有命令参数的使用都可以用 man来查看:
1、安装图形版yumex:yum install yumex 。
2、安装额外的软件仓库:
rpm.livna.org 的软件包仓库:
rpm -ivh http://livna-dl.reloumirrors.net … ease-7-2.noarch.rpm
freshrpms.net 的软件包仓库:
rpm –ivh http://ftp.freshrpms.net/pub/fre … 1.1-1.fc.noarch.rpm
三. yum安装
Fedora自带
#rpm -ivh yum-2.0.4-2.noarch.rpm
五. yum应用
注:当第一次使用yum或 yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/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暂存(/var/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
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的repository 注,也能支持 yum,比如说freshrpms,fedora.us,livna等等。此外yum有一个比较详细的 log,可以查看何时升级安装了什么软件包等。 yum的代码较apt更为精简等。
如果没有安装 ,先我们要到下面的地址下载与自己系统相对应的版本的 yum:
http://ayo.freshrpms.net/
比如我用的是 Fedora core 4.0 就下载如下的包安装:
[root@localhostbeinan]# rpm -ivh freshrpms-release-1.1-1.fc.noarch.rpm
warning: freshrpms-release-1.1-1.fc.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e42d547b
Preparing... ########################################### [100%]
1:freshrpms-release ########################################### [100%]