yum使用教程

11.3  使用yum

当杜克大学的开发人员在基于RPM的分发版上遇到“依赖性地狱”时,他们打算解决这个问题。他们同样看到了本章前面讲到的依赖性消息。他们想利用这些消息自动发现和安装那些所依赖的程序包,而不用我们所讨论的非常详细的rpm命令。

此前开发人员已改写了来自Debian Linux的apt程序包管理器。具体情况是,Conectiva(现在的Mandriva)Linux的开发人员把apt移植到这个基于RPM的分发版上。但杜克大学的开发人员没有采用apt,他们把目光投向了Yellowdog Updater。这个被称为yup的工具最初是为Yellowdog Linux开发的。但它效率不高。杜克大学的开发人员找到了一个只从每个RPM程序包剥离头文件的方法,因此效率大为提高。因为该工具是yup的修改版本(因为GPL的缘故,这是允许的),所以他们把此工具叫做Yellowdog Updater, Modified,或者简单地叫做yum。

Red Hat的总部在北卡罗莱纳州立大学的校园内。杜克大学距离它大约20英里。他们为Red Hat和Fedora Core改写yum也是很自然的事情。

yum配置文件从/etc/yum.conf开始,它指向/etc/yum.repos.d目录中与各个信息库关联的文件。我们将详细分析每个文件的默认版本,包括对文件的一些自定义操作。

11.3.1  /etc/yum.conf配置文件

第一个yum配置文件是/etc/yum.conf。我们将分析该文件的默认版本。首先,[main]指令是必需的,没有它yum就无法工作。

[main]

cachedir指令指定头文件、程序包和yum数据库信息下载的位置:

cachedir=/var/cache/yum

debuglevel指令指定调试信息的细节,如果有问题,可以提高级别:

debuglevel=2

logfile和pkgpolicy指令很直观。如果有问题,首先要看logfile。pkgpolicy指令保证更新实际下载了程序包的最新版本。Updates信息库中的很多程序包存在不同版本。distroverpkg指令用Fedora Core的当前版本指定/etc中的该文件:

tolerant指令允许yum在出现错误时继续运行,比如不需要更新的程序包。exactarch指令允许只更新具体的体系结构。例如,不允许从i386.rpm到i686.rpm的更新。obsolete指令支持在不同Fedora Core版本之间的升级。gpgcheck指令用于检查所选信息库的GPG密钥。plugins指令支持基于Python的插件,如在/usr/share/yum-cli目录中所列出的。

这5个指令的值非0即1。把指令设为0表示禁用该项。最后一个默认指令metadata_expire用于指定信息库数据库的有效期,单位为秒。

metadata_expire=1800

当运行yum命令时,它将从所选的信息库下载头文件数据库。根据上面的指令,如果在30分钟内再次运行yum,它不会再下载头文件数据库。

11.3.2  /etc/yum.repos.d/中的文件

该目录的默认版本中有7个文件。每个文件如表11-2所示关联一个前面讲过的信息库。

表11-2                                             /etc/yum.repos.d文件

 

文    件

 

信  息  库

 

fedora-core.repo

 

指向Fedora Core主程序包

 

fedora-development.repo

 

指向Development(Rawhide)信息库;不用于生产系统

 

fedora-extras.repo

 

指向Fedora Extras信息库

 

fedora-extras-development.repo

 

指向Fedora Extras的Development(Rawhide)信息库;不用于生产系统

 

fedora-legacy.repo

 

在转变为遗留状态后,应用于Fedora Core Updates

 

fedora-updates.repo

 

指向Fedora Core Updates

 

fedora-updates-testing.repo

 

指向将传送至Fedora Core Updates的开发程序包;不用于生产系统

这些文件中的节模式是相同的。除了fedora-legacy.repo之外,每个文件都包括3节,对应主文件、调试程序包和源RPM。它们包括了以下列出的全部或大部分指令:

name  指定信息库的名称。多数情况下包括两个指令。$releasever指令使用/etc/yum.conf的distroverpkg指令。$basearch指令使用unmae -i识别基础的体系结构。

mirrorlist  Fedora Core使用mirrorlist文件。默认设置连接世界上一个随机的信息库。

mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever

为了尽量减少延迟,可将其改为在地理上较近的一个镜像。有关完整的列表,可参见http://fedora. redhat.com/download/mirrors/。例如,如果在美国东部,就检查fedora-core-5.us.east文件。如果认为这个镜像合适,则把指令修改为:

mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-5.us.east

或者可以使用一个或几个baseurl指令。

baseurl可以使用baseurl指令指向一个具体的信息库,甚至指向局域网上的一个信息库。为了使用mirrorlist,该指令默认是禁用的。当使用默认设置时,它会连接到美国中部的服务器:

baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/

如果希望使用baseurl指令,那么要寻找并指定一个地理上较近的镜像。例如,如果位于加州的硅谷,可以使用圣琼斯州立大学的信息库:

baseurl=ftp://mirror.engr.sjsu.edu/pub/fedora/linux/core/$releasever/$basearch/os/

可以用多个baseurl指令指向不同的站点。或者,如果在局域网上配置了一个镜像,那么可以直接指向它。例如,如果通过NFS共享并在本地/inst目录上挂接了该信息库,baseurl指令可以像下面一样简单:

baseurl=file:///inst/

第23章将用更多的篇幅介绍本地信息库。

enabled  enabled指令可以设置为0或1。如果设置为0,就不使用对应的mirrorlist或baseurl指令。

gpgcheck  gpgcheck指令可以设置为0或1。如果设置为1,yum将根据GPG密钥检查程序包。

gpgkey  gpgkey指令可以设置为0或1。如果设置为1,它将在一个文件(如RPM-GPG-KEY-fedora)中检查GPG密钥的URL。

该目录中的每个文件分为3节,对应普通RPM、调试RPM和源RPM。

11.3.3  分析fedora-core.repo

利用/etc/yum.repos.d目录中的fedora-core.repo文件,才可以访问Fedora Core信息库。从图11-4中可以看出,该文件指向3个不同的URL,分别对应普通程序包、调试RPM和源RPM。

图11-4  fedora-core.repo文件

与普通RPM关联的程序包是稳定的,可以使用从安装CD或DVD复制的文件。如果使用mirrorlist指令,使用位于http://fedora.redhat.com/download/mirrors/上的fedora-core-5.*文件。注意国家代码扩展名,例如,如果在英国,可以根据现有的fedora-core-4.UK创建自己的fedora-core-5.uk。

从Fedora Core 5 DVD把文件(包括.disinfo)复制到本地的/inst目录,该目录链接到/var/www/html。可以用下面的指令从网络上的其他Fedora Core 5系统定向baseurl指令:

baseurl=http://fedoracore64/inst/

假设网络中的连接是可靠的,那么不需要任何其他baseurl指令。一旦发布一个Fedora Core版本,它就是最后的,所有的修改都针对其他信息库,如Updates和Extras。

11.3.4  理解fedora-updates.repo

Fedora Core Updates信息库是关键的目录。它包括指向程序包更新的连接,保证能得到最新的安全补丁、bug解决办法和经过测试的特性。从图11-5中可以看出,它指向3个不同的URL,分别对应普通程序包、调试RPM和源RPM。

图11-5  fedora-updates.repo文件

如果设置mirrorlist指令,使用位于http://fedora.redhat.com/download/mirrors/的fedora-core-5.*文件。注意国家代码扩展名。例如,如果在日本,可以使用updates-released-fc5.jp。虽然这些文件在编写本书时还没有针对具体国家的版本,但你仍能够根据其所在国家或地区的镜像创建自己本地版本的fedora-core-5文件。

11.3.5  使用fedora-extras.repo

Fedora Core Extras信息库包括指向非关键程序包的连接。它包括指向程序包更新的连接,保证用户能得到最新的安全性补丁、bug解决办法和经过测试的特性。从图11-6中可以看出,它指向3个不同的URL,分别对应普通程序包、调试RPM和源RPM。

图11-6  fedora-extras.repo

如果使用自己的mirrorlist指令,需要自己创建镜像。与Core和Updates不同的是,该文件没有根据地理位置进行自定义的版本。若想禁止对该信息库的访问,只要在文件的所有节中设置下面的指令即可:

enabled=0

11.3.6  决定是否应激活fedora-development.repo

不要激活该信息库,除非需要访问开发程序包。该信息库是为Fedora Core的测试版发布启用的。

如果使用mirrorlist指令,检查位于http://fedora.redhat.com/download/mirrors/上的fedora-core- rawhide.*文件。你也许注意到了,该信息库(或者Updates-Testing或Extras Development信息库)没有版本号。Fedora Core开发仍是独立于具体发布版本的。

注意国家代码扩展名。例如,如果在捷克,就使用fedora-core-rawhide.cz。如果想禁止对该信息库的访问,则可在该文件的所有节中均设置下列指令:

enabled=0

11.3.7  决定是否应激活fedora-updates-testing.repo

不要激活该信息库,除非非常需要更新。前面说过,这些是即将包括在Updates信息库中的测试程序包。

如果使用mirrorlist指令,可检查位于http://fedora.redhat.com/download/mirrors/上的updates-testing.*文件。注意国家代码扩展名。例如,如果在西班牙,就使用updates-testing.es。如果想禁止对该信息库的访问,则可在该文件的所有节中均设置下列指令:

enabled=0

11.3.8  决定是否应激活fedora-extras-development.repo

不要激活该信息库,除非需要访问与Extras信息库关联的开发程序包。

如果使用mirrorlist指令,则需要自己创建镜像。与其他一些信息库不同的是,该文件没有根据地理位置进行自定义的版本。若想禁止对该信息库的访问,只要在文件的所有节中设置下面的指令即可:

enabled=0

11.3.9  激活fedora-legacy.repo的时机

fedora-legacy.repo文件与众不同。首先,除非使用的Fedora Core版本成为Fedora Core Legacy项目的一部分,否则该文件没有什么用处。按目前的约定,Fedora Core 5将在Fedora Core 7的第2次测试版发布期间成为Fedora Core Legacy项目的一部分。该文件最初属于Fedora Core 5的fedora-release RPM。

如果在Fedora Core成为遗留系统之后,仍在使用它,在该文件的[legacy-updates]节中设置enabled=1。可以看出,它使用mirrorlist指令。在编写本书时,该指令只指向默认的http://fedoralegacy.org服务器。如果在Fedora Core 5成为遗留系统后仍是如此,就应该用适当的镜像创建自己的文件。

http://www.fedoralegacy.org/download/fedoralegacy-mirrors.php上提供了可用镜像的完整列表。

11.3.10  第三方信息库

还有不少很出色的为Fedora Core开发的第三方信息库。当需要对无线网卡的提供支持时,可连接到Atrpms信息库:http://atrpms.net。当想播放DVD电影时,可访问http://FreshRPMs.net。表11-3中是当前第三方信息库的列表。不是所有的信息库都会在发布最新版的Fedora Core时进行更新。

表11-3                                                     第三方信息库   

 

信  息  库

 

URL

 

Atrpms

 

http://atrpms.net

 

CCRMA

 

http://ccrma.stanford.edu/planetccrma/software/

 

Dag Wieers

 

http://dag.wieers.com/home-made/apt/

续表

 

信  息  库

 

URL

 

Dries

 

http://dries.ulyssis.org/rpm

 

FreshRPMS

 

http://freshrpms.net/

 

Livna

 

http://rpm.livna.org/

 

NewRPMS

 

http://newrpms.sunsite.dk/

 

RPMforge

 

http://rpmforge.net/

 

警告

 

如果需要访问多个第三方信息库,则一定要当心。虽然这些信息库的开发人员会对照Fedora Core检查他们的程序包列表,但有人说在连接多个第三方信息库时遇到过“依赖性地狱”之类的问题。

举个例子,要为(使用Atheros芯片组的)无线网卡下载MadWiFi驱动程序,可执行下面的步骤从系统连接到ATrpms信息库:

(1)在文本编辑器中打开一个新的atrpms.repo文件。

(2)把下面这节内容添加到文件中。注意它与本章讨论的该目录中的其他文件的相似性。

 

注意

 

无论选择什么第三方信息库,都要检查它们Web站点上的指示。信息库的位置时常发生变化。

(3)保存文件。但是还有一种启用信息库的方法。如果想用一个命令启用信息库,可使用yum命令的--enabled开关。例如,如果要启用ATrpms Stable信息库,则可使用下面的开关:

--enabled=atrpms-stable

(4)可以用下面的命令搜索新的信息库中的内容:

$ sudo yum list | grep atrpms

或者,也可以下载并安装所选的程序包。这里因为是在寻找MadWiFi驱动程序,所以运行了下面的命令:

$ sudo yum install madwifi

下一小节将进一步讨论yum命令。

(5)继续执行第三方程序包中的其他指令。在MadWiFi的Web站点http://madwifi.org上提供了更多的信息。

11.3.11  在命令行中使用yum

yum命令有几个图形前端,我们将在后面讲述。但在了解这些工具之前,应该对yum命令本身以及它的功能多一些了解。有时只能访问命令行界面,比如更新机柜中的服务器。了解几个关键的yum命令是非常有帮助的。

一旦配置好,就可以几种方式使用yum,以更新在/etc/yum.repos.d中配置的服务器。下面列出了几个可以使用的命令。第一次运行一个命令时,它将把适用的头文件下载到相关的/var/cache/yum目录中。

yum install/yum update  如果在运行时没有引用具体的程序包,yum update命令就会寻找所有已安装程序包的更新。自然这个过程会花费相当长的时间。如果引用具体的程序包,它会在配置的信息库中寻找较新的程序包,并下载和安装可用的更新。例如,图11-7演示了Firefox Web浏览器的更新过程。

图11-7  用yum更新

但这种场合用yum install firefox更轻松一些,如果已经安装了这个程序包,命令就默认会安装更新。

yum info[packagename]  如果想了解程序包的信息,可运行yum info packagename命令。比如,如果运行yum info kernel,会看到已安装的和可用的Linux内核,包括版本号和体系结构。

不要只是运行yum info,至少不要经常运行。如果运行yum info命令,它会搜索所有可用和安装的程序包的信息。但是这个输出也许能作为数据库使用。

yum remove [packagename]  用yum remove packagename命令删除程序包很容易。它和rpm -e packagename一样好用。

yum list  yum list | less命令可用于搜索在/etc/yum.repos.d文件中列出的服务器,返回程序包名、关联的CPU体系结构、版本号和服务器。图11-8中是一个示范结果。

图11-8  用yum列出程序包

yum clean [options]  如果/var/cache/yum中的yum缓冲区过满,可以用yum clean packages、yum clean headers和yum clean metadata等命令清空缓冲区。前两个命令不用解释。最后一个命令用于清除对远程信息库的连接数据。最后,还有一个yum clean all命令能够清除前3个命令清除的所有内容。

yum provides [file]  如果想知道一个文件属于哪个程序包,可以使用yum provides filename命令。它需要提供文件的完整路径。

yum search [word]  如果不确定应安装什么程序包,但对程序包有一点了解,可以使用yum search word命令。

yum check-update  yum check-update命令对照配置的信息库中的可用更新检查系统上安装的程序包,并返回可用更新的列表。

yum grouplist  yum grouplist命令根据本章前面定义的程序包组发现已安装的和可用的程序包组。

yum groupinfo [groupname]  如果想查找程序包组中的单个程序包,可运行yum groupinfo [groupname]命令。如果组名包含多个单词,可用引号括起组名。例如,运行yum groupinfo "Printing Support"会返回如图11-9所示的结果。

还有其他的yum命令能帮助安装和删除程序包组内的所有RPM。虽然可以使用yum groupinstall "GNOME Desktop Environment"这样的命令,但它不会提供命令行界面一般能够提供的控制程度。

然而,有几个非常重要的选项。根据我的经验,最重要的是--exclude,它能控制下载和安装什么程序包。例如,如果运行yum update,就会下载和安装系统中所有已安装程序包的更新。但这个不受约束的命令也会更新Linux内核。但出于下面的原因可能不想更新内核:

·    它会干扰自定义的内核。

·    它会取消与具体内核关联的特殊驱动程序,如无线驱动程序。

·    还没有用新内核测试过硬件。

图11-9  用yum发现程序包组内的单个程序包

yum默认会更新但不会安装新内核。学习了第13章就会知道,这意味着仍可以引导进老的内核。但是,如果每次有新的内核就安装它们的话,GRUP引导加载程序会变得混乱,/boot目录也会变得过满。因而,如果想更新系统但不下载或安装新内核,可以运行下面的命令:

$ sudo yum update --exclude=kernel*

如果想暂时启用一个信息库,就必须使用--enablerepo开关。例如,如果在前面讲过的atrpms.repo文件中设置了enabled=0,可用下面的命令暂时激活该文件,以便下载和安装MadWiFi RPM:

$ sudo yum install madwifi --enablerepo=atrpms*

--enablerepo开关会处理/etc/yum.repos.d目录中每个文件的节标题。可以看出,atrpms*是一个包含通配符的搜索条件,搜索的是[atrpms-stable]标题。表11-4介绍了其他几个有趣的开关。

表11-4                                                       yum的开关

 

开    关

 

描    述

 

-t

 

遇到错误也继续运行yum,比如在要安装的程序包列表中有一个拼写错误的程序包

 

-C

 

完全从缓冲区的程序包运行yum,缓冲区默认为/var/yum/cache

 

-c

 

使用(默认的/etc/yum.conf之外的)不同的配置文件

 

-R

 

设置以分钟计算的等待时间。yum命令可以在此时间内的一个随机时间点运行

 

-d

 

代替/etc/yum.conf中的调试级别

 

-e

 

设置错误消息的级别。如果配置脚本,应将级别设置为0

 

-y

 

对所有问题都回答“是”

自动运行yum

标准的yum服务也许不是默认启动的。可以用sudo /sbin/chkconfig yum on命令配置yum自动启动。当执行该命令时,它将每天自动运行有关的cron作业。第14章将讨论chkconfig和cron这两种系统。所幸标准的/etc/cron.daily/yum.cron作业中的命令很简单。第一个命令用于查看yum服务是否在运行:

if [ -f /var/lock/subsys/yum]; then

下面的命令用于寻找任何已安装的yum程序包,然后查找并安装可用的更新:

/usr/bin/yum -R 120 -e 0 -d 0 -y update yum

/usr/bin/yum -R 10 -e 0 -d 0 -y shell /etc/yum/yum-daily.yum

至于对yum-daily.yum的引用,该文件中有三个命令:

首先运行yum update命令;用ts run命令执行事务,安装下载的RPM;最后,退出yum shell。

 

 

 

==============================================================================

==============================================================================

yum 是 yellowdog updater modified 的缩写。yellowdog 是一个 Linux 的 distribution,RH 将这种升级技术用到自己的 distribution 形成了现在的 yum(原理和 apt 类似,但 apt 是编译代码,执行效率远高于用 python 写的 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 作为镜像。

  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 文件,内容是

  [dries]

  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。

================================================================================================================================================================================

 

 

 

作者:北南南北

来自:LinuxSir.Org

提要:我们用的是Redhat/Fedora通过在线安装更新软件包,除了系统自带的up2date以外,我们还有更为强大的在线升级工具 yum 和 apt-get 可用。主要资源有 freshrpms.net和 rpm.livna.org ;

在本文中,我们主要解介绍 Fedora core 4.0 通过软件包管理工具yum来在线安装更新软件;关于apt工具应用,我们会在另外一篇中介绍;

一、 yum 的使用;

有些初学Linux的弟兄可能问,为什么不用系统自带的图形化工具up2date来升级,却要用 yum呢。其实大家用一用就知道了,up2date 真是奇慢无比,而且经常失去响应;造成机器假死的情况。所以我们还是试一试yum ;另外freshrpms.net 可能比官方站更快的更新升级源,也没有理由不用 yum;

1、首先我们要到下面的地址下载与自己系统相对应的版本的 yum;

http://ayo.freshrpms.net/

比如我用的是Fedora core 4.0 就下载如下的包安装;

[root@localhost beinan]# rpm -ivh freshrpms-release-1.1-1.fc.noarch.rpm

warning: freshrpms-release-1.1-1.fc.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e42d547b

Preparing... ########################################### [100%]

1:freshrpms-release ########################################### [100%]

2、安装软件举例;

比如我要安装能听mp3的 bmp-mp3,只要输入下面的命令行即可,系统就自己工作了;

[root@localhost beinan]# yum install bmp-mp3

 

内容全景如下:

[root@localhost beinan]# yum install bmp-mp3

Setting up Install Process

Setting up repositories

updates-released          100% |=========================|  951 B    00:00

extras                    100% |=========================| 1.1 kB    00:00

base                      100% |=========================| 1.1 kB    00:00

freshrpms                 100% |=========================|  951 B    00:00

Reading repository metadata in from local files

primary.xml.gz            100% |=========================|  42 kB    00:03

freshrpms : ################################################## 122/122

Added 122 new packages, deleted 0 old in 0.72 seconds

Parsing package install arguments

Resolving Dependencies

--> Populating transaction set with selected packages. Please wait.

---> Downloading header for bmp-mp3 to pack into transaction set.

bmp-mp3-0.9.7-1.2.fc4.i38 100% |=========================| 2.9 kB    00:00

---> Package bmp-mp3.i386 0:0.9.7-1.2.fc4 set to be updated

--> Running transaction check

--> Processing Dependency: libid3-3.8.so.3 for package: bmp-mp3

--> Processing Dependency: libbeep.so.2 for package: bmp-mp3

--> Processing Dependency: bmp >= 0.9.7 for package: bmp-mp3

--> Restarting Dependency Resolution with new changes.

--> Populating transaction set with selected packages. Please wait.

---> Downloading header for id3lib to pack into transaction set.

id3lib-3.8.3-11.fc4.i386. 100% |=========================|  38 kB    00:05

---> Package id3lib.i386 0:3.8.3-11.fc4 set to be updated

---> Downloading header for bmp to pack into transaction set.

bmp-0.9.7-10.fc4.i386.rpm 100% |=========================|  14 kB    00:03

---> Package bmp.i386 0:0.9.7-10.fc4 set to be updated

--> Running transaction check

Dependencies Resolved

=============================================================================

Package                 Arch       Version          Repository        Size

=============================================================================

Installing:

bmp-mp3                 i386       0.9.7-1.2.fc4    freshrpms          95 k

Installing for dependencies:

bmp                     i386       0.9.7-10.fc4     extras            912 k

id3lib                  i386       3.8.3-11.fc4     extras            752 k

Transaction Summary

=============================================================================

Install      3 Package(s)

Update       0 Package(s)

Remove       0 Package(s)

Total download size: 1.7 M

Is this ok [y/N]: y

Downloading Packages:

(1/3): id3lib-3.8.3-11.fc 100% |=========================| 752 kB    01:04

(2/3): bmp-0.9.7-10.fc4.i 100% |=========================| 912 kB    02:14

(3/3): bmp-mp3-0.9.7-1.2. 100% |=========================|  95 kB    00:05

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

  Installing: bmp                          ######################### [1/3]

  Installing: id3lib                       ######################### [2/3]

  Installing: bmp-mp3                      ######################### [3/3]

Installed: bmp-mp3.i386 0:0.9.7-1.2.fc4

Dependency Installed: bmp.i386 0:0.9.7-10.fc4 id3lib.i386 0:3.8.3-11.fc4

Complete!

 

注:yum优点:软件包依赖关系自行解决,比如上面的,我们可以看到本来我们只安装的是bmp-mp3,结果yum 安装也安装了 id3lib ;bmp

二、yum的一点小用法;

1、查询软件包;

面对成千上万的软件,我们可能无从下手,有时也不知道它的文件名;这时就要用到查询;我们可以用 yum list 来列出yum升级源上的包有文件;然后我们再来查看 info

有以下几个组合可以用;比如;

[root@localhost beinan]# yum list |more

加上一个管道 |,然后 more 一下,就能把所有的包分页显示出来。然后按一下空格键就能看下一页了。在显示的软件列表中,会有软件名称、版本、是否安装等;仔细的看一下吧。熟悉了就好了。也没有什么难的。

 

[root@localhost beinan]# yum list |more

Setting up repositories

Reading repository metadata in from local files

Installed Packages

4Suite.i386                              1.0-8.b1               installed

Canna.i386                               3.7p3-13               installed

Canna-devel.i386                         3.7p3-13               installed

 

如果想知道软件的详细信息,可能得用上info参数了。比如:

用法:

[root@localhost beinan]# yum info 软件名

比如:

 

[root@localhost beinan]# yum info bmp-mp3

Setting up repositories

updates-released          100% |=========================|  951 B    00:00

extras                    100% |=========================| 1.1 kB    00:00

base                      100% |=========================| 1.1 kB    00:00

freshrpms                 100% |=========================|  951 B    00:00

Reading repository metadata in from local files

Installed Packages

Name   : bmp-mp3

Arch   : i386

Version: 0.9.7

Release: 1.2.fc4

Size   : 234 k

Repo   : freshrpms

Summary: MP3 playback plugin for the Beep Media Player

Description:

This package contains an MP3 playback plugin for BMP (Beep Media Player),

a media player that uses a skinned user interface based on Winamp 2.x skins,

and is based on ("forked off") XMMS.

 

在上面的例子中,如果Repo : freshrpms是这样的,表示您的系统没有安装这个软件,如果显示的是:Repo : installed,表示已经安装了。

查询软件包,也可以再加参数 grep ,比如我们想查询升级源上是否有内核的新版本,则我们可以用下面的命令查询;当然您也可以用 [root@localhost beinan]# yum search kernel |more ,也就是yum --help提供的参数,也是一样的;

[root@localhost beinan]# yum list |grep kernel

我们看一下机器工作的结果,如下:

 

[root@localhost beinan]# yum list |grep kernel

GFS-kernel.i686                          2.6.11.8-20050601.1526 installed

cman-kernel.i686                         2.6.11.5-20050601.1526 installed

dlm-kernel.i686                          2.6.11.5-20050601.1526 installed

gnbd-kernel.i686                         2.6.11.2-20050420.1331 installed

kernel.i686                              2.6.11-1.1369_FC4      installed

kernel-devel.i686                        2.6.11-1.1369_FC4      installed

kernel-doc.noarch                        2.6.11-1.1369_FC4      installed

GFS-kernel.i586                          2.6.11.8-20050601.1526 base

GFS-kernel-debuginfo.i686                2.6.11.8-20050601.1526 updates-released

GFS-kernel-debuginfo.i586                2.6.11.8-20050601.1526 updates-released

GFS-kernel-smp.i686                      2.6.11.8-20050601.1526 base

GFS-kernel-xen0.i686                     2.6.11.8-20050601.1526 base

GFS-kernel-xenU.i686                     2.6.11.8-20050601.1526 base

cman-kernel.i586                         2.6.11.5-20050601.1526 updates-released

cman-kernel.i686                         2.6.11.5-20050601.1526 updates-released

cman-kernel-debuginfo.i586               2.6.11.5-20050601.1526 updates-released

cman-kernel-debuginfo.i686               2.6.11.5-20050601.1526 updates-released

cman-kernel-smp.i686                     2.6.11.5-20050601.1526 updates-released

cman-kernel-xen0.i686                    2.6.11.5-20050601.1526 updates-released

cman-kernel-xenU.i686                    2.6.11.5-20050601.1526 updates-released

dlm-kernel.i686                          2.6.11.5-20050601.1526 updates-released

dlm-kernel.i586                          2.6.11.5-20050601.1526 updates-released

dlm-kernel-debuginfo.i586                2.6.11.5-20050601.1526 updates-released

dlm-kernel-debuginfo.i686                2.6.11.5-20050601.1526 updates-released

dlm-kernel-smp.i686                      2.6.11.5-20050601.1526 updates-released

dlm-kernel-xen0.i686                     2.6.11.5-20050601.1526 updates-released

dlm-kernel-xenU.i686                     2.6.11.5-20050601.1526 updates-released

gnbd-kernel.i686                         2.6.11.2-20050420.1331 updates-released

gnbd-kernel.i586                         2.6.11.2-20050420.1331 updates-released

gnbd-kernel-debuginfo.i586               2.6.11.2-20050420.1331 updates-released

gnbd-kernel-debuginfo.i686               2.6.11.2-20050420.1331 updates-released

gnbd-kernel-smp.i686                     2.6.11.2-20050420.1331 updates-released

gnbd-kernel-xen0.i686                    2.6.11.2-20050420.1331 updates-released

gnbd-kernel-xenU.i686                    2.6.11.2-20050420.1331 updates-released

kernel.i586                              2.6.12-1.1398_FC4      updates-released

kernel.i686                              2.6.12-1.1398_FC4      updates-released

kernel-debuginfo.i686                    2.6.12-1.1398_FC4      updates-released

kernel-debuginfo.i586                    2.6.12-1.1398_FC4      updates-released

kernel-devel.i586                        2.6.12-1.1398_FC4      updates-released

kernel-devel.i686                        2.6.12-1.1398_FC4      updates-released

kernel-doc.noarch                        2.6.12-1.1398_FC4      updates-released

kernel-smp.i686                          2.6.12-1.1398_FC4      updates-released

kernel-smp-devel.i686                    2.6.12-1.1398_FC4      updates-released

kernel-xen0.i686                         2.6.12-1.1398_FC4      updates-released

kernel-xen0-devel.i686                   2.6.12-1.1398_FC4      updates-released

kernel-xenU.i686                         2.6.12-1.1398_FC4      updates-released

kernel-xenU-devel.i686                   2.6.12-1.1398_FC4      updates-released

上面的确显示出一大堆与内核有关的, installed表示我们的系统已经安装了;

咱们看前一列吧,看一下名字就能猜个差不多;比如 doc 肯定和内核文档有关了;smp是多处理器的内核;其它的我不懂了,请想知道的弟兄用 info来看吧。

比如我们用的机器是单处理器的X86机,想看一下是否有新内核可用。所以咱们试一下下面的这个。看是否已经有了新内核可以升级的;

[root@localhost beinan]# yum info kernel.i686

[root@localhost beinan]# yum info kernel.i686

Setting up repositories

updates-released          100% |=========================|  951 B    00:00

extras                    100% |=========================| 1.1 kB    00:00

base                      100% |=========================| 1.1 kB    00:00

freshrpms                 100% |=========================|  951 B    00:00

Reading repository metadata in from local files

Installed Packages

Name   : kernel

Arch   : i686

Version: 2.6.11

Release: 1.1369_FC4

Size   : 37 M

Repo   : installed

Summary: Linux 内核(Linux 操作系统的核心)。

Description:

kernel 软件包包含 Linux 内核 (vmlinuz),Red Hat Linux

操作系统的核心。内核处理操作系统的基本功能:

分配内存、处理分配、设备的输入和输出等等。

Available Packages

Name   : kernel

Arch   : i686

Version: 2.6.12

Release: 1.1398_FC4

Size   : 14 M

Repo   : updates-released

Summary: The Linux kernel (the core of the Linux operating system)

Description:

The kernel package contains the Linux kernel (vmlinuz), the core of any

Linux operating system.  The kernel handles the basic functions

of the operating system:  memory allocation, process allocation, device

input and output, etc.

 

通过上面的信息,我们可以看到 2.6.11的是已经安装了,因为已经显示的是Repo : installed ,下面还有一个Version: 2.6.12 ,告诉我们是Repo : updates-released,看来这个是升级用的了。

所以是否升级就看我们的了。

[root@localhost beinan]# yum update kernel

升级内核全景如下:

 

[root@localhost beinan]# yum update  kernel

Setting up Upgrade Process

Setting up repositories

updates-released          100% |=========================|  951 B    00:00

extras                    100% |=========================| 1.1 kB    00:00

base                      100% |=========================| 1.1 kB    00:00

freshrpms                 100% |=========================|  951 B    00:00

Reading repository metadata in from local files

Resolving Dependencies

--> Populating transaction set with selected packages. Please wait.

---> Downloading header for kernel to pack into transaction set.

kernel-2.6.12-1.1398_FC4. 100% |=========================| 174 kB    00:18

---> Package kernel.i686 0:2.6.12-1.1398_FC4 set to be installed

--> Running transaction check

Dependencies Resolved

=============================================================================

Package                 Arch       Version          Repository        Size

=============================================================================

Installing:

kernel                  i686       2.6.12-1.1398_FC4  updates-released   14 M

Transaction Summary

=============================================================================

Install      1 Package(s)

Update       0 Package(s)

Remove       0 Package(s)

Total download size: 14 M

Is this ok [y/N]:

 

是不是升级,只需要在 Is this ok [y/N]:行的后面输入y或者N;y是yes,就是点头同意的意思;N就是摇头No的意思。

对于软件包的查询,还有,比如:

[root@localhost beinan]# yum list available 列出所有升级源上的包;

[root@localhost beinan]# yum list updates 列出所有升级源上的可以更新包;

[root@localhost beinan]# yum list installed 列出已经安装的包;

 

yum 的命令支持通配符; 比如;

[root@localhost beinan]# yum list mp* |more

Setting up repositories

Reading repository metadata in from local files

Installed Packages

mpage.i386                               2.5.4-5                installed

Available Packages

mpc.i386                                 0.11.2-3               extras

mpeg2dec.i386                            0.4.0-5b.2.fc4         freshrpms

mpeg2dec-devel.i386                      0.4.0-5b.2.fc4         freshrpms

mpg321.i386                              0.2.10-6.2.fc4         freshrpms

mplayer.i386                             1.0-0.16.pre7.2.fc4    freshrpms

mplayer-docs.i386                        1.0-0.16.pre7.2.fc4    freshrpms

mplayer-fonts.noarch                     1.1-3.fc               freshrpms

mplayer-skins.noarch                     1.7-1.fc               freshrpms

[root@localhost beinan]#

2.安装和升级软件包;

安装和升级分别是 install 和 update 参数;比如;

[root@localhost beinan]# yum update firefox

这样我们就可以升级 firefox了。

 

[root@localhost beinan]# yum update firefox

Setting up Update Process

Setting up repositories

updates-released          100% |=========================|  951 B    00:00

extras                    100% |=========================| 1.1 kB    00:00

base                      100% |=========================| 1.1 kB    00:03

freshrpms                 100% |=========================|  951 B    00:02

Reading repository metadata in from local files

Resolving Dependencies

--> Populating transaction set with selected packages. Please wait.

---> Package firefox.i386 0:1.0.6-1.1.fc4 set to be updated

--> Running transaction check

Dependencies Resolved

=============================================================================

Package                 Arch       Version          Repository        Size

=============================================================================

Updating:

firefox                 i386       1.0.6-1.1.fc4    updates-released   18 M

Transaction Summary

=============================================================================

Install      0 Package(s)

Update       1 Package(s)

Remove       0 Package(s)

Total download size: 18 M

Is this ok [y/N]:

 

如果不加参数的 update 会是什么呢??

[root@localhost beinan]# yum update

试着运行一下看看?会好长时间,对系统进行全面更新,我们要进行y和N了。

3.移除软件包要用到remove参数;比如;

[root@localhost beinan]# yum remove bmp-mp3

 

内容全景如下:

[root@localhost beinan]# yum remove bmp-mp3

Setting up Remove Process

Resolving Dependencies

--> Populating transaction set with selected packages. Please wait.

---> Package bmp-mp3.i386 0:0.9.7-1.2.fc4 set to be erased

--> Running transaction check

Dependencies Resolved

=============================================================================

Package                 Arch       Version          Repository        Size

=============================================================================

Removing:

bmp-mp3                 i386       0.9.7-1.2.fc4    installed         234 k

Transaction Summary

=============================================================================

Install      0 Package(s)

Update       0 Package(s)

Remove       1 Package(s)

Total download size: 0

Is this ok [y/N]:

按y就移除了;

三、yum的图形工具;

请参见:《软件在线升级更新yum 图形工具介绍》

四、yum的帮助;

在论坛中有好多,有兴趣的弟兄自己找找看吧;但也不要忘记了自救;呵。。。。

 

[root@localhost beinan]# yum --help

    Usage:  yum [options] < update | install | info | remove | list |

            clean | provides | search | check-update | groupinstall |

            groupupdate | grouplist | groupinfo | groupremove |

            makecache | localinstall | shell >

        Options:

        -c [config file] - specify the config file to use

        -e [error level] - set the error logging level

        -d [debug level] - set the debugging level

        -y - answer yes to all questions

        -R [time in minutes] - set the max amount of time to randomly run in

        -C run from cache only - do not update the cache

        --installroot=[path] - set the install root (default '/')

        --version - output the version of yum

        --exclude=package to exclude

        --disablerepo=repository id to disable (overrides config file)

        --enablerepo=repository id to enable (overrides config file)

        -h, --help  - this screen

 

还有更厉害的帮助;

[root@localhost beinan]#man yum

附录:

1、《Fedora/Redhat 在线安装更新软件包,yum 篇》

2、《软件在线升级更新yum 图形工具介绍》

3、《Freshrpms.net 资源介绍,及apt 和yum 的应用》

4、《Fedora Extras(Fedora 计划的扩充资源) rpm.livna.org软件仓库的介绍和应用》

5、《RPM 的介绍和应用》

6、《file.src.rpm 使用方法的简单介绍》

7、《如何编译安装源码包软件>

8、《Fedora/Centos/Redhat及相关RPM资源收集及介绍》

 

 

 

On 九月 16th, 2007 Anonymous (未验证) says:

咱们看前一列吧,看一下名字就能猜个差不多;比如 doc 肯定和内核文档有关了;smp是多处理器的内核;其它的我不懂了,请想知道的弟兄用 info来看吧。

 

 

缺少yum.conf

On 六月 17th, 2007 Fedorar says:

我用的是fedora6,已经安了yum,但用yum安装xmms时,提示:CRITICAL:yum.cli:Config Error: Error accessing file for config file:///etc/yum.conf,请南北兄赐教。

 

=============================================================================================================================================================================

====== 一、YUM简介 ======
yum(yellowdog updater modified)的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux用户头痛的dependencies的问题。//
//
yum通过一个或者多个配置文件描述对应的repository的网络地址,通过http或者ftp协议在需要的时候从repository获得必要的信息,下载相关的软件包。这样,本地用户通过建立不同的repository的描述说明,在有网络连接时就能方便进行系统的升级维护工作。

====== 二、YUM配置及应用 ======

===== 1.建立repository =====
repository可以使用createrepo命令创建,也可以用网络中已有的repository镜像,下面我们介绍如何建立一个repository(以httpd为例).





==== 1.1配置HTTP服务 ====
1、创建要存放RPM包的目录 //
<code>
#mkdir /data && mkdir /data/RPMS
</code>
2、将每张安装光盘上的GTES目录下所有的RPM包以及其他新的软件包复制到/data/RPMS目录下,如果您只想管理部分RPM包也可以只将需要的包复制到此目录://
<code>
#cp *.rpm /data/RPMS
</code>
3、将第一张安装光盘GTES/repodata/comps.xml文件复制到/data/下,然后执行createrepo命令://
<code>
#createrepo –v –p –g /data/comps.xml –o /data/RPMS /data/RPMS
</code>
该操作会创建/data/RPMS/repodata目录,并在其中生成有关/data/RPMS目录中rpm包的信息文件。类似下面的结果:
<code>
#ls –l /data/RPMS/repodata
-rw-r--r-- 1 root root  895280 04-24 14:24 comps.xml
-rw-r--r-- 1 root root 2050016 04-24 14:24 filelists.xml.gz
-rw-r--r-- 1 root root  113566 04-24 14:24 other.xml.gz
-rw-r--r-- 1 root root  750514 04-24 14:24 primary.xml.gz
-rw-r--r-- 1 root root    1140 04-24 14:24 repomd.xml
</code>
4、编辑/etc/httpd/conf/httpd.conf
<code>
DocumentRoot  “/var/www/html” 改为 DocumentRoot  “/data”
</code>
然后在文件最后添加下列几行://
<code>
<Directory "/data/RPMS">
      Options FollowSymLinks Indexes Includes
      AllowOverride None
</Directory>
</code>
5、重新启动httpd
<code>
#/etc/init.d/httpd restart
</code>





==== 1.2配置yum-updatesd服务 ====
1、编辑/etc/yum.conf
<code>
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=turbolinux-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1   ==>只需要将此处改为0,即不检查GPG签名。
plugins=1
metadata_expire=1800

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

</code>
2、重新启动yum-updatesd
<code>
/etc/init.d/yum-updatesd restart
</code>


===== 2.配置yum客户端 =====
要使用yum功能,我们仅仅需要配置一个yum客户端。如下://
1、编辑/etc/yum.conf
<code>
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=turbolinux-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1   ==>只需要将此处改为0,即不检查GPG签名。
plugins=1
metadata_expire=1800

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

</code>
2、编辑/etc/yum.conf或者在/etc/yum.repos.d/下新建以.repo为后缀的文件(如:gtes11.repo),在文件最后加入下列几行:
<code>
[repositoryid]
name = gtes11 packages updates
baseurl = http://yourwebservername/RPMS or yourwebserverip/RPMS 
如果repository在您本地系统上,也可以用下面的方式:
baseurl = file:///data/RPMS/                 
</code>
===== 3.yum应用 =====
当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长。//





==== 3.1 yum命令介绍 ====
下面我们介绍一下yum一些常用命令://
//
列出资源库中所有可以安装或更新的rpm包
<code>
#yum list
</code>
列出资源库中特定的可以安装或更新以及已经安装的rpm包
<code>
#yum list mozilla
</code>
可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包
<code>
#yum list mozilla*
</code>
搜索rpm包
<code>
#yum search mozilla
</code>
安装rpm包,同时自动安装其所依赖的软件包
<code>
#yum install mozilla
</code>
删除rpm包,同时删除倚赖于该包所有的软件包
<code>
#yum remove mozilla
</code>
检查有哪些可更新的rpm包
<code>
#yum check-update
</code>
更新指定的rpm包
<code>
#yum update mozilla
</code>
更新软件包(更新所有可以升级的rpm包,包括kernel)
<code>
#yum -y update
</code>
大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
<code>
#yum upgrade
</code>

yum缓存(/var/cache/yum/)的相关参数 //
清除缓存中rpm包文件
<code>
#yum clean packages
</code>
清除缓存中rpm头文件
<code>
#yum clean headers
</code>
清除缓存中旧的rpm头文件
<code>
#yum clean oldheaders
</code>
清除缓存中旧的rpm头文件和包文件
<code>
#yum clean 或#yum clean all (相当于yum clean packages + yum clean oldheaders)
</code>
//
<code>

注意:在您正确配置了repository及yum客户端后,使用yum时,如果报“<urlopen error unknown url type: media>”
这样的错误,很可能是您客户端yum缓存造成的。执行yum clean all后,基本上就可以解决。 
</code>




==== 3.2 图形工具 ====
1、添加/删除软件包工具//
Turbolinux提供了基于yum的图形化软件包添加/删除工具,选择“应用程序->系统工具->添加/删除软件”。如图1、图2://
{{软件包管:yum-add-remove.png}}//
图1//
{{软件包管:yum-add-remove2.png}}//
图2//
<code>
浏览 查看您系统上当前已安装的软件包组的情况。
搜索 查找某个软件包
列表 [所有软件包] 是您系统当前已安装的包和可用的包的总
     [已安装的软件包] 是您系统当前已安装的软件包
     [可用的软件包] 是您当前系统上没有安装和已删除的软件包 

注意:在您添加所选的包的同时,此工具会同时添加它所依赖的包;删除所选的包的同时,会删除依赖此包的一些包。
</code>
2、更新软件包工具 //
Turbolinux 还提供了一个图形化的软件更新的工具,选择"应用程序->系统工具->软件包更新工具"。如图3、图4//
{{软件包管:yum-updates.png|}}//
图3//
{{软件包管:yum-updates2.png}}//
图4//
<code>
如果您的repository有新的软件包,此工具会为您找到,点击[应用更新]即可更新此包。
</code>

 

=============================================================================================================================================================================

http://blog.163.com/yang_dan/blog/static/307681820073694044162/ 来自这里

yum应用

注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长.

//检查有哪些可更新的rpm包

#yum check-update

//安装rpm包,使xmms可以播放mp3

#yum install xmms-mp3

//安装mplayer,同时自动安装相关的软件

#yum install mplayer

//删除licq包,同时删除与该包有倚赖性的包

#yum remove licq

注:同时会提示删除licq-gnome,licq-qt,licq-text,非常方便

//系统更新(更新所有可以升级的rpm包,包括kernel)

#yum -y update

//每天定期执行系统更新

#chkconfig yum on

#service yum start

yum指令详解

*rpm包的更新

//检查可更新的rpm包

#yum check-update

//更新所有的rpm包

#yum update

//更新指定的rpm包,如更新kernel和kernel source

#yum update kernel kernel-source

//大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级

#yum upgrade

*rpm包的安装和删除

//安装rpm包,如xmms-mp3

#yum install xmms-mp3

//删除rpm包,包括与该包有倚赖性的包

#yum remove licq

注:同时会提示删除licq-gnome,licq-qt,licq-text

*yum暂存(/var/cache/yum/)的相关参数

//清除暂存中rpm包文件

#yum clean packages

//清除暂存中rpm头文件

#yum clearn headers

//清除暂存中旧的rpm头文件

#yum clean oldheaders

//清除暂存中旧的rpm头文件和包文件

#yum clearn 或#yum clearn all

注:相当于yum clean packages + yum clean oldheaders

*rpm包列表

//列出资源库中所有可以安装或更新的rpm包

#yum list

//列出资源库中特定的可以安装或更新以及已经安装的rpm包

#yum list mozilla

#yum list mozilla*

注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包

//列出资源库中所有可以更新的rpm包

#yum list updates

//列出已经安装的所有的rpm包

#yum list installed

//列出已经安装的但是不包含在资源库中的rpm包

#yum list extras

注:通过其它网站下载安装的rpm包

*rpm包信息显示(info参数同list)

//列出资源库中所有可以安装或更新的rpm包的信息

#yum info

//列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息

#yum info mozilla

#yum info mozilla*

注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息

//列出资源库中所有可以更新的rpm包的信息

#yum info updates

//列出已经安装的所有的rpm包的信息

#yum info installed

//列出已经安装的但是不包含在资源库中的rpm包的信息

#yum info extras

注:通过其它网站下载安装的rpm包的信息

*搜索rpm包

//搜索匹配特定字符的rpm包

#yum search mozilla

注:在rpm包名,包描述等中搜索

//搜索有包含特定文件名的rpm包

#yum provides realplay

 

 

 

yum -y --enablerepo livna install kmod-nvidia (安装NVIDIA显卡驱动命令)

yum -y --enablerepo livna install kmod-fglrx   (安装ATI显卡驱动命令)

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值