RPM安装、反安装和升级软件包

来源:互联网 发布:英菲克爬山虎软件下载 编辑:程序博客网 时间:2024/05/19 23:00
简单介绍一下R P M的使用。
1.     R P M安装软件包最简单的安装命令如下:
rpm -ivh foo-1.0-1.i386.rpm
foo ####################################
R P M会输出该软件包的名称,并且显示一个状态条。安装软件很简单,但是有时会给出一些出错消息:

如果该软件包已经安装,就会看到下面的出错信息:
$ rpm -ivh foo-1.0-1.i386.rpm
foo package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed
如果想强行安装就加上选项 replacepkgs ,这个选项强迫R P M重新安装这个软件。

b.“Conflicting Files
如果该软件包包含某些其他软件包安装过的文件,就会看到下面的出错信息:
# rpm -ivh foo-1.0-1.i386.rpm
foo             /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed
如果想覆盖原先的文件,使用 r e p l a c e f i l e s选项就可以。

c.“Unresolved Dependency
R P M的软件包能够查询该软件的“依赖”关系,即正确运行该软件需要其他哪些软件包,所以R P M在安装之前会先查询,如果系统没有安装需要的软件包,就会看到下面的出错信息:
$ rpm -ivh bar-1.0-1.i386.rpm
failed dependencies:
foo is needed by bar-1.0-1
要继续安装,就必须先安装相应的软件包,在上例中就是 f o o这个软件包,要不然就使用n o d e p s选项强行安装,不过,这样安装的结果十有八九不能运行。

2. R P M反安装软件包
要反安装软件包f o o,只需要下面这行命令:
$ rpm -e foo
注意软件包名是f o o,而不是R P M文件名foo-1.0-1.i386.rpm ”。如果该软件包是别的软件包运行时需要的,就会看到下面的出错信息:
$ rpm -e foo
removing these packages would break dependencies:
foo is needed by bar-1.0-1
如果要强行反安装,就使用 --nodeps 选项,不过这样相关的软件包就不能运行了。

3. R P M升级软件
升级软件类似于安装软件:
$ rpm -Uvh foo-2.0-1.i386.rpm
foo
值得注意的是 R P M会自动反安装相应软件包的老版本。如果老版本软件的配置文件同新版本的不兼容,R P M会自动将其保存为另外一个文件,会看到下面的信息:
saving /etc/foo.conf as /etc/foo.conf.rpmsave
这样,用户就可以自己手工去更改相应的配置文件。

另外,如果用户要安装老版本的软件,就会看到下面的出错信息:
$ rpm -Uvh foo-1.0-1.i386.rpm
foo      package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed
如果要强行安装就使用 - o l d p a c k a g e参数。

0 0
原创粉丝点击