码迷,mamicode.com
首页 > 其他好文 > 详细

RPM是一个文件包管理

时间:2015-07-14 06:22:03      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:管理程序   管理工具   详细信息   linux   软件包   

 

RPM是一个文件包管理程序,它是Linux现在默认的软件包管理器,全称是Redhat Package Manager,缩写为RPM,由Redhat(红帽公司)最先发布,现在基本上所有的Linux以及部分Unix都使用它作为包管理程序。

一、软件包的安装

安装程序包:

        rpm [option] /path/to/package_file

          -i: 表示安装参数(install)

          -v: 表示打印安装过程的详细信息(verbose)

          -vv:

          -vvv:

          -h: 表示在安装包解压过程

          组合选项:-ivh

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

rpm -ivh --test package.rpm

   如果依赖于其它包:

   1、解决依赖关系

 2、忽略依赖关系

               能安装上,但有可能无法运行;

               --nodeps

   --replacepkgs: 重新安装

   如果原有配置文件作了修改,很有可能不执行替换,而是将应该安装生成的配置文件重命名为 .rpmnew

二、软件包的移除

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

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

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

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

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

rpm -e --repackage package

三、软件包的查询

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

查询操作:

1、查询某包是否安装

  rpm -q package_name...

2、查询所有已经安装的包

  rpm -qa

按条件过滤:rpm -qa | grep ‘PATTERN‘

3、查询包的描述信息

rpm -qipackage_name

4、查询某包安装生成了哪些文件

rpm -ql package_name

(1) 查询某包安装生成了哪些配置文件

  rpm -qc package_name

(2) 查询某包安装生成了哪些帮助文件

  rpm -qd package_name

(3) 查询程序包的相关脚本

rpm -q --scriptspackage_name

            脚本有四类:

               preinstall:安装前脚本

               postinstall: 安装后脚本

               preuninstall: 卸载前脚本

               postuninstall: 卸载后脚本

5、查询某文件是由哪个包安装生成的

rpm -qf/path/to/some_file

6、对尚未安装的包执行查询

rpm [option]/path/to/package_file

         -qpi

         -qpl

         -qpc

         -qpd

四、升级程序包:

        新版本替换老版本

        rpm [option] /path/to/package_file

          1、升级或安装

             -Uvh

          2、纯升级

             -Fvh

          X --> Y-2.2.1

             Y-2.2.3

             升级后的版本冲突等;

          --force: 强制升级

注意:不应该对内核执行升级操作,而是安装,系统允许多内核并存.

 

五、校验

   用于检查包安装生成的文件属性是否发生变化

        rpm -V package_name

 

  S file Size differs

  M Mode differs (includes permissions and filetype)

  5 digest (formerly MD5 sum)differs

D Device major/minor numbermismatch

L readLink(2) path mismatch

U User ownership differs

  G Group ownership differs

T mTime differs

P caPabilities differ

 

 六、数据库重建:

     数据库目录:/var/lib/rpm

rpm --initdb:初始化

如果事先没有库,会新建一个;如果有,则不新建;

 rpm --rebuilddb: 重建

        直接重建,覆盖原有的数据库

    

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

  • --version:打印正在使用的rpm的版本号;

  • --quiet:在操作过程中打印尽可能少的信息,通常情况下仅包含错误信息;

  • -v:在操作过程中打印详细信息;

  • -h:在包解压过程中打印50个hash标记;

  • --odeps:不进行依赖性检查;

  • --oldpackage:允许一个旧版本的包来替换现存新版本的包;

  • --prefix NEWPATH:对安装路径进行重新定位;

  • --repackage:在移除文件前对其重新打包;

  • --test:仅对操作进行测试并报告结果。

 


本文出自 “yenokia” 博客,转载请与作者联系!

RPM是一个文件包管理

标签:管理程序   管理工具   详细信息   linux   软件包   

原文地址:http://yenokia.blog.51cto.com/1899385/1673930

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!