yum安装命令的使用方法
#yum check-update

#yum remove 软件包名

#yum install 软件包名

#yum update 软件包名

参数 说明

check-update    显示可升级的软件包

clean    删除下载后的旧的header。和clean all相同

clean oldheaders    删除旧的headers

clean packages    删除下载后的软件包

info    显示可用软件包信息

info 软件包名    显示指定软件包信息

install 软件包名    安装指定软件包

list    显示可用软件包

list installed    显示安装了的软件包

list updates    显示可升级的软件包

provides 软件包名    显示软件包所包含的文件

remove 软件包名    删除制定的软件包,确认判定指定软件包的依存关系。

search 关键字    利用关键字搜索软件包。搜索对象是,RPM文件名,Packager(包),Dummary,Description的各型

update    升级所有的可升级的软件包

update 软件包名    升级指定的软件包

yum -y install httpd  ← 在线安装httpd Apache服务器及相关组件

yum -y install php  ← 在线安装PHP

yum -y install mysql-server  ← 安装MySQL

yum -y install php-mysql  ← 安装php-mysql

什么是 yum?

yum 是 yellowdog updater modified 的缩写。yellowdog 是个 Linux 的 distribution,RH 将这种升级技术利用到自己的 distribution 形成了现在的 yum,感觉上 yum 和 apt 的原理类似,但是 apt 是编译代码,执行效率远高于使用 python 写成的 yum。这是 yum 的主页。

yum 的理念是使用一个中央仓库(repository)管理一部分甚至一个 distribution 的应用程式相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了 Linux 用户一直头痛的 dependencies 的问题。这一点上,yum 和 apt 相同。apt 原为 debian 的 deb 类型软件管理所使用,但是现在也能用到 RH 门下的 rpm 了。

一般这类软件通过一个或多个配置文档描述对应的 repository 的网络地址,通过 http 或 ftp 协议在需要的时候从 repository 获得必要的信息,下载相关的软件包。这样,本地用户通过建立不同的 repository 的描述说明,在有 Internet 连接时就能方便进行系统的升级维护工作。另外,假如需要使用代理,能够用 http_proxy 和 ftp_proxy 这些 shell 里面标准环境变量的设定。

repository 是用 yum-arch 或 createrepo 命令创建的,也能够用别人已有的 repository 作为映像,这里部探讨怎样建立一个 repository。

yum 的基本操作

yum 的基本操作包括软件的安装(本地,网络),升级(本地,网络),卸载,另外更有一定的查询功能。

设定好了本地的 yum 之后,就能够很方便的进行安装(现在假设就用 fc5 自带的 yum 进行安装),如我们需要安装虚拟机 bochs,能够使用

# yum install bochs

假如本地有相关的 rpm 文档,能够用

# yum localinstall ur.rpm

前者导致 yum 搜索现有 repository 中的数据(一般先会连接到这些 repository 下载更新数据),假如发现有此软件,则会通过分析其 dependencies 然后下载并安装所需软件。

假如需要卸载,能够使用

# yum remove bochs



# yum erase bochs

这也会消解对应的 dependencies,如删除 firefox 会把 R 同时删掉,因为 R 依赖于 firefox

更新某个软件能够用

# yum update firefox

假如不带后面的程式名,将会升级任何能够升级的软件。过时的软件假如需要处理(如删掉)能够添加 --obsolete 参数,或使用 upgrade。假如需要更自动化一些的操作(避免回答一些问题)还能够增加一些参数,如

# yum -y upgrade

假如做完一次系统级的升级,将会下载大量 rpm 等等东西,这将占用较多的硬盘,能够使用

# yum clean packages

将相关的 rpm 文档删除,其他的一些有 headers, packages, cache, metadata, all

查看什么 rpm 提供某个程式能够使用

$yum provides /bin/rpm

而使用

$yum list rpm

会列出 rpm 相关的信息,而

$yum list info

给出周详的说明,能够用

$yum search rpm

获得一切能找到的和 rpm 相关的程式,搜索的对象是每个程式的描述部分。

更周详的参数说明请查阅相关的 man pages。在 yum-utils 里面能够找到叫 yumdownloader 的程式。使用他能够方便下载,如 srpm 等包

$yumdownloader --source firefox

怎样使用 yum 升级我的 fc?

升级的核心部分很简单,首先,需要让 yum 能用新的 repository,fc 管理自己版本也用了一个 rpm,能够用如下命令更新这个包

# rpm -Uvh http://download.fedora.redhat.com/pub/fedora\

/linux/core/5/i386/os/Fedora/RPMS/fedora-release-5-5.\

noarch.rpm

此后就是用 yum 把 fc4 相关的程式更新到 fc5,

# yum -y upgrade

注意,由于某些自己安装的程式没有相关的 repository 程式替代,因此很可能干扰这个过程,如 qterm,原来的 repository 里面没有,偷懒的办法自然是先找到相关的 repository 并添加到 yum 的配置文档,笨拙的方法是先卸载这些东西... 进行了漫长的等待之后(我做的那次下载了 1.5Gb+ 的东西),就能够看着一个一个的软件更新了,然后重启,用新内核 boot 成功就几乎大功告成了。

也许有一些应用软件无法处理老版本的配置文档,需要手动配置一下基本就行了。我的 fc5 就这样从 fc4 上长了出来~

FC 本身有一个关于升级的 FAQ,能够参考。

怎样配制 yum 添加新的 repository?

这主要需要关心 yum 的配置文档。他的主配置文档在 /etc/yum.conf,其说明能够参考这里。

其中重要的有 repository 的相关信息,在 fc5 里面,repository 的信息是分开存储的,一般在 /tec/yum.repos.d/ 里面,一般一个 repository 写成一个文档,如 fedora-core.repo。

网上一般提供 yum 升级的 repository 都会提供类似的说明,如 DAG,他提供了可供安装的 rpm,装上后 yum 就配置好了,能够直接用上面的命令执行系统维护,又如 dries,能够建立一个 dries.repo 文档,内容是



name=Extra Fedora rpms dries - $releasever - $basearch

baseurl=http://ftp.belnet.be/packages/dries.ulyssis.org/redhat/el3/en/i386/dries

这个一般看见就明白了,恕不赘述。

一些其他的工具

在 yum-utils 里面更有一些有用的工具,如 package-cleanup 用于清除本地安装的 rpm,更有维护 repository 的一些工具,如 repo-graph,repo-rss,repoclosure,repomanage,repoquery,reposync,repotrack, yum-builddep。