RPM包管理工具的使用

RPM Package Manager是一个强大的命令行驱动的包管理系统,它能够完成计算机软件包的安装、卸载、验证、查询和更新。Fedora和Red Hat Linux使用RPM作为系统的包管理工具,而一些升级工具(如yum,update,apt等)使用rpmlib来访问系统上的rpm数据。在本篇文章中使用package.rpm来表示将要安装的RPM包,使用package表示安装过后的软件包。

(1)软件包的安装

安装一个软件包,最简单的命令可以表示如下:

rpm -i package.rpm,这里选项-i表示安装参数(install)。

复杂一点的命令可以表示如下:

rpm -ivh package.rpm,这里选项-i表示安装参数(install),选项-v表示打印安装过程的详细信息(verbose),而选项-h表示在安装包解压过程中打印50个hash标记(#),该选项通常与-v一同使用。

你可以使用-test选项来模拟或者测试一个安装过程,使用该选项使得管理工具并不真正安装该包,仅仅是检查并报告可能发生的冲突。具体命令可以表示如下:

rpm -ivh --test package.rpm

你可以使用--repackage选项来在安装程序清除文件之前对文件进行重新打包,以便以后恢复。打包文件按照一定的格式来命名并被放置在指定的位置。具体的命令如下:

rpm -ivh --repackage package.rpm

(2)软件包的更新

更新一个软件包可以使用如下命令:

rpm -Uvh new-package.rpm,这里选项-U表示更新参数(upgrade),其他选项含义同上。使用该选项时,安装过程将移除旧的已安装版本,然后安装新的版本。

注:该命令也可以用于软件包的安装。当要更新的软件包在系统中并不存在时,new-package.rpm将被安装。

如果因为软件兼容性等原因,你希望将现在系统中新版本的软件包替换为旧版本的软件包,可以使用--oldpackage选项,具体命令可以表示如下:

rpm -Uvh --oldpackage old-package.rpm

同样,你可以使用--repackage选项来在安装程序更新文件之前对文件进行重新打包,以便以后恢复。

(3)软件包的移除

如果希望从系统中移除一个已存在的软件包,可以使用如下命令:

rpm -e package.rpm,这里,选项-e表示移除参数(erase)。

为了安全起见,在移除一个软件包之前,你可以模拟移除过程,具体的命令如下:

rpm -e --test package,这里,--test选项表示并不真正移除任何东西,仅仅是测试一下。

同样你可以在移除软件包之前对其进行备份,以便以后进行恢复。具体命令如下:

rpm -e --repackage package

如果其他软件包依赖于将要移除的软件包,RPM将不执行该移除过程。你可以使用--nodeps选项来指定在移除一个软件包之前并不做依赖性的检查,具体的命令如下:

rpm -e --nodeps package

注:在移除一个软件包之前,请先查看哪些软件包依赖于该软件包,而不要单纯地使用--nodeps选项。你可以通过如下命令来查询依赖于该包的软件包的列表:

rpm -q --whatrequires package,有关查询的具体选项可以参看软件包的查询部分。

(4)软件包的查询

如果你希望查看一个软件包是否已经安装,可以使用如下命令:

rpm -q package,这里选项-q表示查询参数(query)。在指定包时你可以使用软件包的全名,包括版本和发行号。

如果想查询系统所安装的所有软件包,可以使用如下命令:

rpm -qa,这里选项-a表示全部(all)。

注:一个实用的用来查找一个软件包是否被安装的命令可以表示如下:

rpm -qa | grep -i package。

如果你希望查询安装一个RPM软件包需要依赖哪些软件包和程序,可以使用如下命令:

rpm -qpR package.rpm,这里-R表示Requires。如果希望对一个已经安装过后的软件包进行查询,可以使用rpm -qR package命令。

如果你希望查看一个文件来源于哪一个软件包,可以使用选项-f(或者--file),具体的命令可以表示为rpm -qf /usr/share/test。如果该文件不属于任何一个软件包,将返回一条错误信息。

如果希望查询一个RPM软件包将安装哪些文件可以使用选项-l(list),具体的命令可以表示为:rpm -qlp package.rpm。

总结起来,rpm命名常用的选项如下:

  • --version:打印正在使用的rpm的版本号;
  • --quiet:在操作过程中打印尽可能少的信息,通常情况下仅包含错误信息;
  • -v:在操作过程中打印详细信息;
  • -h:在包解压过程中打印50个hash标记;
  • --odeps:不进行依赖性检查;
  • --oldpackage:允许一个旧版本的包来替换现存新版本的包;
  • --prefix NEWPATH:对安装路径进行重新定位;
  • --repackage:在移除文件前对其重新打包;
  • --test:仅对操作进行测试并报告结果。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值