Username: Password:

Fedora/Redhat在线安装更新软件包yum篇
来源:linux宝库作者:linux宝库 发布时间:2007-09-30 00:00:00


  在本文中,我们主要解介绍 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

  

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅