一、 yum常用命令

1.列出所有可更新的软件清单

命令:yum check-update

2.安装所有更新软件

命令:yum update

3.仅安装指定的软件

命令:yum install

4.仅更新指定的软件

命令:yum update

5.列出所有可安裝的软件清单

命令:yum list

用YUM安装删除软件

装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。

安装的命令是,yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。

删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。

1.用YUM安装软件包

命令:yum install

2.用YUM删除软件包

命令:yum remove

用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

清除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)


二、 RHEL/CentOS使用yum update更新时不升级内核的方法

RHEL/CentOS/Fedora使用yum update更新时,默认会升级内核。但有些国内的VPS在升级内核后会无法正常启动,一般国外的vps不会出现这种问题。在生产环境中也不要轻易的升级内核,除非你确定升级内核后不会出现麻烦的问题。



如果不想升级内核而只更新其他软件包,有两种方法:


1、修改yum的配置文件 vim /etc/yum.conf,在[main]的最后添加exclude=kernel*

2、直接在yum的命令后面加上如下的参数:

yum --exclude=kernel* update

这两种方法好像都不行啊!!!


三、yum配置文件

yum.conf文件一般位于/etc目录下,一般其中只包含main部分的配置选项。其内容大致为:

[main]

cachedir=/var/cache/yum

#cachedir:yum更新软件时的缓存目录,默认设置为/var/cache/yum

debuglevel=2

#debuglevel:Debug信息输出等级,范围为0-10,缺省为2

logfile=/var/log/yum.log

#logfile:存放系统更新软件的日志的目录。用户可以到/var/log/yum.log文件去查询自己在过去的日子里都做了哪些更新。

pkgpolicy=newest

#包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同 时存 在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。一般都是选newest。

distroverpkg=redhat-release

#指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。

tolerant=1

#如果值为1,则yum会忽略任何的有关包的错误。举例来说,当执行yum来安装baz时,如果baz包已经安装在系统中了,则yum会继续重复安装baz,而不会报错。默认值为1。

exactarch=1

#设置为1,则yum只会安装和系统架构匹配的软件包,例如,yum不会将i686的软件包安装在适合i386的系统中。默认为1

retries=20

#网络连接发生错误后的重试次数,如果设为0,则会无限重试。默认值为6

obsoletes=1

#此选项在进行发行版跨版本升级的时候会用到。

gpgcheck=1

#有1和0两个选择,分别代表是否是否进行gpg校验。这个选项如果设置在[main]部分,则对每个repository都有效。默认值为0.

# PUT YOUR REPOS HERE OR IN separate files named file.repo

# in /etc/yum.repos.d

【yum.conf中的变量】

$releasever:代表发行版本的版本号。如果系统是fedora core 6的话,则返回6

$basearch:显示基本架构类型。如果系统为i386或i686等,则均返回i386


四、升级中的一些错误

1.Error: yum conflicts with yum-rhn-plugin < 0.5.3-30.el5 错误解决办法

 [root@localhost yum.repos.d]#yum remove yum-rhn-plugin

 [root@localhost yum.repos.d]#yum -y update

2. [Errno 256] No more mirrors to try

  执行一下:#yum clean all 试试