linux 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系统的重中之重

[hanlong@localhost]$ 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会判断是否有可更新的软件包。如果有,它会询问你的意见,是否更新。把系统始终up to date总是不错的,这时yum开始下载软件包并使用调用rpm安装,这可能要一定时间,取决于要更新软件的数目和网络状况,万一网络断了,也没关系,再 进行一次就可以了。升级完毕,以后每天只要使用yum check-update检查一下有无跟新,如果有,就用yum update进行跟新,时刻保持系统为最新,堵住一切发现的漏洞。用yum update packagename 对某个单独包进行升级。

yum的命令形式一般是如下:yum [options] [command] [package ...]

[command]为所要进行的操作,[package ...]是操作的对象。

[options]

-h(帮助)

-y(当安装过程提示选择全部为"yes")

-q(不显示安装的过程)

部分常用的命令

自动搜索最快镜像插件:yum install yum-fastestmirror

安装yum图形窗口插件:yum install yumex

查看可能批量安装的列表: yum grouplist

1 安装

yum install 全部安装

yum install package1 安装指定的安装包package1

yum groupinsall group1 安装程序组group1

2 更新和升级

yum check-update 检查可更新的程序

yum update 全部更新

yum update package1 更新指定程序包package1

yum upgrade package1 升级指定程序包package1

yum groupupdate group1 升级程序组group1

3 查找和显示

yum list 显示所有已经安装和可以安装的程序包

yum list package1 显示指定程序包安装情况package1

yum info package1 显示安装包信息package1

yum groupinfo group1 显示程序组group1信息

yum search string 根据关键字string查找安装包

4 删除程序

yum remove package1 删除程序包package1

yum groupremove group1 删除程序组group1

yum deplist package1 查看程序package1依赖情况

yum provides command1 查找command1所属哪个package

5 清除缓存

yum clean packages 清除缓存目录下的软件包

yum clean headers 清除缓存目录下的 headers

yum clean oldheaders 清除缓存目录下旧的 headers

yum clean, yum clean all 清除缓存目录下的软件包及旧的headers

(= yum clean packages; yum clean oldheaders)

比如,要安装游戏程序组,首先进行查找:

# yum grouplist

可以发现,可安装的游戏程序包名字是"Games and Entertainment",这样就可以进行安装:

# yum groupinstall "Games and Entertainment"

所有的游戏程序包就自动安装了。在这里Games and Entertainment的名字必须用双引号选定,因为linux下面遇到空格会认为文件名结束了,因此必须告诉系统安装的程序包的名字是"Games and Entertainment"而不是"Games"。

此外,还可以修改配置文件/etc/yum.conf选择安装源。可见yum进行配置程序有多方便了吧。更多详细的选项和命令,当然只要在命令提示行下面: man yum

现在简单的把yum软件升级的一些命令罗列一下:

(更新:我在安装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也会查询数据库,给出解决依赖关系的提示。

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

Yum yum 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 清除所有

以上所有命令参数的使用都可以用man来查看

posted @ 2017-09-06 17:33  Sam007  阅读(803)  评论(0编辑  收藏  举报