安装包的演示
让我们使用RPM来安装一个包。需要做的唯一事情就是在安装命令(rpm -i)的后面加上包文件的文件名:
# rpm –i eject-1.2-2.i386.rpm
#
到这里,前面一节所说的步骤都被执行了。现在包被安装好了。注意文件名不一定要遵循RPM文件的命名习惯:
# mv eject-1.2-2.i386.rpm baz.txt
# rpm –i baz.txt
#
在这种情况下,我们把包文件名 eject-1.2-2.i386.rpm 换成 baz.txt ,然后安装这个包。跟前面方法的结果是一样的:都是包 eject-1.2-2 被成功地安装了。不管文件名中是否含有包标签,在安装过程中RPM是不会使用包文件名的。RPM使用包文件的内容,这样即使包文件被保存到DOS软盘中而被截断文件名,安装也将成功进行。
URL ---- 指定包文件名的另一种方式
如果你曾在网上冲浪,毫无疑问你注意到了网页被标识的方式:
http://www.redhat.com/support/docs/rpm/RPM-HOWTO/RPM-HOWTO.html
这称作一个URL(Uniform Resource Locator)。RPM也能使用URL,它们看起来稍微有些不同。这里有一例:
ftp://ftp.redhat.com/pub/redhat/code/rpm/rpm-2.3-1.i386.rpm
这里,ftp:是表示这个URL是一个文件传输协议URL。如名字所示,这种类型的URL用来传输文件的。ftp.redhat.com这段指明了主机名称,或者说存有包文件的系统的名称。
这个URL剩余的部分(
/pub/redhat/code/rpm/rpm-2.3-1.i386.rpm)指明了包文件的路径和包文件名。
因此RPM有能力安装一个处于世界另一端的包文件,通过一行简单的命令完成:
# rpm –i fpt://ftp.gnomovision.com/pub/rpms/foobar-1.0-1.i386.rpm
#
这个命令将使用匿名FTP获取 foobar 1.0版的包文件并安装在你的系统中。当然,匿名的FTP(不需要用户名和口令)并非总是可行的。因此在URL中可能带有用户名和口令(放在主机名的前面):
ftp://smith:mypass@ftp.gnomovision.com/pub/rpms/foobar-1.0-1.i386.rpm
但是,直接敲入密码会让盯着你的屏幕的人知道你的密码,这种方式并不好。所以可以试一试这种格式:
ftp://smith@ftp.gnomovision.com/pub/rpms/foobar-1.0-1.i386.rpm
RPM将会提示你输入你的密码,然后你将给出密码:
# rpm –i ftp:// smith@ftp.gnomovision.com/pub/rpms/foobar-1.0-1.i386.rpm
Password for smith@ftp.gnomovision.com: mypass (not echoed)
#
在敲入一个正确的密码之后,RPM开始安装这个包。
在有些系统上,FTP看守程序不是运行在标准的21端口。通常这样作是为了加强安全。幸好可以在URL上指定一个端口:
ftp://ftp.gnomovision.com:1024/pub/rpms/foobar-1.0-1.i386.rpm
这个URL将向端口1024请求服务。另外一种指定端口的方式是使用选项:--ftpport。这个选项在后面讨论。
你可能从未见过的一个警告消息
根据环境的不同,下面这条消息或许极少出现,或许经常出现。当安装一个包时,RPM给出一条警告消息:
# rpm –i cdp-0.33-100.i386.rpm
warning: /etc/cdp-config saved as /etc/cdp-config.rpmorig
#
这是什么意思呢?它与RPM对config文件的管理有关。在上面这个例子中,RPM在安装路径上发现一个文件(/etc/cdp-config)不属于任何一个已经通过RPM安装的包。由于这个文件与cdp-0.33-100 包中文件同名,于是就出现了问题。
RPM将按照最好的方式解决这个问题。它执行两个步骤:
1. 将原来的文件改名为 cdp-config.rpmorig。
2. 安装含包cdp-0.33-100 的新的cdp-config 文件。
继续我们的例子。如果我们检查以下目录 /etc,我们就会确切地知道发生了什么:
# ls –al /etc/cdp*
-rw-r--r-- 1 root root 119 Jun 23 16:00 /etc/cdp-config
-rw-rw-r-- 1 root root 56 Jun 14 21:44 /etc/cdp-config.rpmorig
#
这是对这种聪明问题的一种可能最好的解决方式。这个包被安装时将带上这个个能正常工作的config文件。毕竟,这个原始的文件可能是供一个过时的不兼容版本的软件使用的。所以保存下来就为系统管理员研究它提供方便。系统管理员会决定是否继续使用这个文件。