转:Linux 中 RPM 命令参数使用详解

在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就给大家介绍一下它的具体使用方法。转自:http://www.pconline.com.cn/pcjob/system/linux/others/0411/502888.html

1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看:

rpm -qpi Linux-1.4-6.i368.rpm

系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。

2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:

rpm -qpl Linux-1.4-6.i368.rpm

3.选择安装方式后,开始安装。我们可以用rpm-ivh Linux-1.4-6.i368.rpm命令安装此软件。在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在 -ivh后加一参数“-replacepkgs”:

rpm -ivh -replacepkgs Linux-1.4-6.i368.rpm

4.有时我们卸载某个安装过的软件,只需执行rpm-e <文件名>命令即可。

5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm -uvh <文件名>,注意:此时的文件名必须是要升级软件的升级补丁

6.另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。当找到含有你所需软件的站点并与此网站连接后,执行下面的命令即可实现在线安装,譬如在线安装Linux-1.4-6.i368.rpm,可以用命令:

rpm -i ftp://ftp.pht.com/pub/linux/redhat/…-1.4-6.i368.rpm

7.在我们使用电脑过程中,难免会有误操作,若我们误删了几个文件而影响了系统的性能时,怎样查找到底少了哪些文件呢?RPM软件包提供了一个查找损坏文件的功能,执行此命令:rpm -Va即可,Linux将为你列出所有损坏的文件。你可以通过Linux的安装光盘进行修复。

8.Linux系统中文件繁多,在使用过程中,难免会碰到我们不认识的文件,在Windows下我们可以用“开始/查找”菜单快速判断某个文件属于哪个文件夹,在Linux中,下面这条命令行可以帮助我们快速判定某个文件属于哪个软件包:

rpm -qf <文件名>

9.当每个软件包安装在Linux系统后,安装文件都会到RPM数据库中“报到”,所以,我们要查询某个已安装软件的属性时,只需到此数据库中查找即可。注意:此时的查询命令不同于1和8介绍的查询,这种方法只适用于已安装过的软件包!命令格式:

rpm -参数 <文件名>

《转:Linux 中 RPM 命令参数使用详解》有2个想法

  1. RPM强制卸载:
    rpm卸载参数–test : 卸载测试 –nodeps : 不检查依赖 –noscripts : 不执行脚本程序 –notriggers : 不执行触发程序 –justdb : 仅修改数据库 –force 强制
    RPM卸载软件包,并不是简单地将原来安装的文件逐个删除,那样做的话,可能会出现这样或那样的问题。如,A软件包依靠B软件包做某些工作,若B软件包卸载了,则A软件包就不能正常运行了。RPM为用户安全考虑,会做某些检查,尽可能排除出错的情况。
    RPM在卸载软件包时,分步骤进行如下操作:
    1. 检查依赖(Denpendency)
    检查依赖的目的,在于确保当前没有任何软件包依赖于当前要卸载的软件包。
    2. 执行卸载前触发脚本程序(Triggerun)
    3. 执行卸载前脚本程序(Preuninstall)
    本程序为软件包制作者设定,完成卸载前的一些工作,具体如,要卸载的软件包中某个
    程序当前正在运行时,脚本程序必须杀掉它,否则无法正确卸载。
    4. 检查配置文件(Configfiles)
    RPM卸载软件包前会检查包中的配置文件是否修改了,如果修改了,RPM要换个名字保存
    该文件,文件名一般是“原文件名+.rpmsave”。(这是RPM软件包管理的特色之一)
    5. 真正卸载
    即按照软件包中的文件列表,将文件逐个删除。要注意的是,如果其中有文件属于别的
    软件包(即两个软件包拥有一个名字相同的文件),则RPM并不删除。
    6. 执行卸载后脚本程序(Postuninstall)
    本程序主要是完成卸载的善后工作,如将系统配置文件inetd.conf修改一下,去掉安装
    时添加的东西等等。
    7. 更新RPM数据库
    卸载后,RPM删除该软件包在数据库中的所有信息。
    8. 执行卸载后触发脚本程序(Triggerpostun)

  2. RPM强制安装:
    rpm -i –force –nodeps +rpm包名
    可以忽略所有依赖关系和文件问题,什么包
    都能安装上,但这种强制安装的软件包不能保证完全发挥功能

评论已关闭。