yum相关命令

来源:互联网 发布:阿里云ecs安装nginx 编辑:程序博客网 时间:2024/06/05 08:59
一、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 试试