今天学习点Fedora Yum命令,学习Fedora Yum命令时要了解如何编译调式及运行Fedora Yum命令。Fedora 中的 Fedora Yum命令详解。总所周知,Redhat和Fedora的软件安装命令是rpm。
但是用rpm安装软件***的麻烦就是需要手动寻找安装该软件所需要的一系列依赖关系,超级麻烦不说,要是软件不用了需要卸载的话由于卸载掉了某个依赖关系而导致其他的软件不能用是非常恼人的。令人高兴的是,Fedora终于推出了类似于 ubuntu中的apt的Fedora Yum命令,令Fedora的软件安装变得简单容易。Fedora Yum命令有以下特点:
*可以同时配置多个资源库(Repository)
*简洁的配置文件(/etc/yum.conf)
*自动解决增加或删除rpm包时遇到的倚赖性问题
*使用方便
*保持与RPM数据库的一致性
Fedora Yum命令,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。Fedora Yum命令的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。Fedora Yum命令的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。
一.Fedora Yum命令的一切配置信息都储存在一个叫yum.conf的配置文件中,通常位于/etc目 录下,这是整个Fedora Yum命令系统的重中之重,我在的F10中查看了这一文件,大家一起来看下:
- [main]
- cachedir=/var/cache/yum
- keepcache=0
- debuglevel=2
- logfile=/var/log/yum.log
- exactarch=1
- obsoletes=1
- gpgcheck=1
- plugins=1
- installonly_limit=3
下面简单的对这一文件作简要的说明:cachedir:Fedora Yum命令缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。debuglevel:除错级别,0──10,默认是2logfile:yum的日志文件,默认是/var/log/yum.log。exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用686的包来升级。gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。
二.好了,接下来就是Fedora Yum命令的使用了,首先用yum来升级软件,Fedora Yum命令的操作大都须有超级用户的权限,当然可以用sudo。yum update,这一步是必须的,Fedora Yum命令会从服务器的header目录下载rpm的header,放在本地的缓存中,这可能会花费一定的时间,但比起yum 给我们带来方便,这些时间的花费又算的了什么呢?header下载完毕,Fedora Yum命令会判断是否有可更新的软件包,如果有,它会询问你的意见,是否更新,还是说 y吧,把系统始终up to date总是不错的,这时Fedora Yum命令开始下载软件包并使用调用rpm安装,这可能要一定时间,取决于要更新软件的数目和网络状况,万一网络断了,也没关系,再进行一次就可以了。升级完毕,以后每天只要使用yum check-update检查一下有无跟新,如果有,就用yum update进行跟新,时刻保持系统为***,堵住一切发现的漏洞。用yum update packagename 对某个单独包进行升级。
现在简单的把Fedora Yum命令软件升级的一些命令罗列一下:
1.列出所有可更新的软件清单
命令:yum check-update
2.安装所有更新软件
命令:yum update
3.仅安装指定的软件
命令:yum install
4.仅更新指定的软件
命令:yum update
5.列出所有可安裝的软件清单
命令:yum list
三.使用Fedora Yum命令安装和卸载软件,有个前提是Fedora Yum命令安装的软件包都是rpm格式的。安装的命令是,yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么***,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
1.用YUM安装软件包
命令:yum install
2.从硬盘安装 rpm 包并使用 yum 解决依赖
yum localinstall application_name
3.用YUM删除软件包
命令:yum remove
四.用Fedora Yum命令查询想安装的软件我们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时Fedora Yum命令的查询功能就起作用了。你可以用 yum search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到 gaim,kopete等等,并从中选择。有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。
1.使用Fedora 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
13.系统中有哪些yum源
命令:yum repolist
五.清除Yum缓存Fedora 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来查看
5.启用/禁用一个软件仓库
yum –enablerepo=repo_name (repo_name 代表仓库名,下同)
yum –disablerepo=repo_name
6.导入 Fedora GPG 秘匙
Fedora 有两个基本的软件仓库,名为 “fedora” 和 “updates” 。要使用它们并且在安装那些未签名的软件包时避免发生错误,你必须导入它们的 GPG 密匙,打开一个终端并且输入如下命令:
rpm –import /etc/pki/rpm-gpg/*
【编辑推荐】