13.3 为基于RPM的Linux系统安装软件包及其依赖程序
yum install [package]
虽然rpm
命令的功能强大,但使用一段时间后,当试图安装需要依赖其他东西的软件包时,就会很快遇到问题,也就是所谓的“依赖关系地狱(dependency hell)”问题。为了安装软件包A,还需要下载和安装软件包B和C,但为了安装C,还需要下载和安装软件包D和E,但为了安装E……唉,没完没了!
早在几年前,基于Debian的Linux系统(本章稍后会介绍这个系统)就用功能强大而有用的apt
解决了这个问题。基于RPM的Linux系统也能够使用apt
,但经常使用的是相对来说比较新但还不是很成熟的yum
。yum
起初是为基于RPM的Yellow Dog这一发行版的Linux系统开发的(因此这也是yum
这个名称的来源,它是“Yellow Dog Updater, Modified”的简称),现在它已经得到广泛地使用,但在功能和可用性上仍然落后于apt
。不过,因为很多系统附带了yum
,所以本书将介绍一下。
yum
命令是rpm
的一个包装器,可以安装、升级和卸载软件包。除此以外,它还可以自动处理软件包之间的依赖性。例如,如果想安装前面例子中的软件包A,yum
就可以自动下载和安装A、B、C等软件包。以后,如果想在系统中删除A,yum
也可以卸载它,如果系统中没有其他软件包需要B和C,yum
也一并卸载它们。
用yum
安装软件也相当容易。假设你想安装一个媒体播放器XMMS(不足为奇,这个名字代表的是X Multimedia System)。为了安装XMMS,还需要再安装几个它依赖的其他软件。有了yum
,这一安装过程就不像手工用rpm
逐一安装它们时那么麻烦了。首先,不需要亲自查找和下载xmms软件包,因为yum
会为你自动下载好XMMS和其他所有的依赖包。
美中不足的是,yum
在进行处理时,它的输出内容极为啰嗦。以下列举的输出已经删减了大量内容,但还是显得有些冗长。无论如何,这些内容应该可以帮你了解使用yum
时,能够看到的大致内容。
# yum install xmms
Setting up Install Process
Setting up repositories
update 100% |======================| 951 B 00:00
base 100% |======================| 1.1 kB 00:00
Resolving Dependencies
--> Populating transaction set with selected
➥packages. Please wait.
---> Downloading header for xmms to pack into transaction set.
xmms-1.2.10-9.i386.rpm 100% |==========| 24 kB 00:00
--> Restarting Dependency Resolution with new changes.
---> Downloading header for gtk+ to pack into transaction set.
gtk%2B-1.2.10-33.i386.rpm 100% |==========| 23 kB 00:00
Dependencies Resolved
Package Arch Version Repository Size
Installing:
xmms i386 1:1.2.10-9 base 1.9 M
Installing for dependencies:
libogg i386 2:1.1.2-1 base 16 k
libvorbis i386 1:1.1.0-1 base 185 k
Total download size: 3.3 M
Is this ok [y/N]:
输入y
以后,yum
就会下载和安装软件包,并继续报告它正在进行的每一步操作。
Downloading Packages:
...
(5/6): libogg-1.1.2-1.i38 100% |==========| 16 kB 00:00
(6/6): libvorbis-1.1.0-1. 100% |==========| 185 kB 00:00
Running Transaction Test
Running Transaction
Installing: libogg ########## [1/6]
Installing: libvorbis ########## [2/6]
...
Installed: xmms.i386 1:1.2.10-9
Dependency Installed: gdk-pixbuf.i386
➥1:0.22.0-17.el4.3 gtk+.i386 1:1.2.10-33 libogg.i386
➥2:1.1.2-1 libvorbis.i386 1:1.1.0-1 mikmod.i386 0:3.1.6-32.EL4
哎呦,总算完了! XMMS终于安装完成,可以使用了。接下来,再看看当你不喜欢XMMS时,如何删除它。