RPM简述

RPM Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora RedhatMandrivaSuSEYellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用。

RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执行的;RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件。

一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有的, Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct 9 LinuxWindows原理是差不多的。所以被打包的二进制应用程序的组成部分除了二进制文件以外还包括库文件、配置文件(可以实现软件的一些设置)、帮助文件。RPM保留一个数据库,这个数据库中包含了所有的软件包的资料,通过这个数据库,用户可以进行软件包的查询。

RPM包管理的配置文件是rpmrc,可以使用如下命令进行查找

# locate
rpmrc

 可以通过如下命令进行查看

rpm
–showrc

 具体命令:

rpm

   -i –instal 安装

              –test 检测

              –nodeps 忽略依赖性关系直接安装

 

       -v 显示详细信息

       -vv 显示更详细信息

       -h 显示进度

       -ivh rpm包名

       –test: 测试安装,但不真正执行安装,即dry run模式

    –nodeps:忽略依赖关系

    –replacepkgs 已安装过的包重装。

    –replacefiles 其他已安装的RPM包的文件,与即将装的RPM中的文件冲突时,则覆盖文件并安装。

    –nosignature: 不检查来源合法性

    –nodigest:不检查包完整性

    –noscripts:不执行程序包脚本

      %pre: 安装前脚本; –nopre

      %post: 安装后脚本; –nopost

      %preun: 卸载前脚本; –nopreun

      %postun: 卸载后脚本; –nopostun

 

   -Uvh 当有旧的版本的包时,则卸载旧包再装新包,如没有旧包,直接装新包。

   -Fvh 当有旧的包时,卸载旧包装新包,无旧包时,nothing

   –oldpackage 降级  已有新包,装旧包。

   –force 强制安装。–replacepkgs  –replacefiles  –oldpackage

   -q 软件包名  查询已安装过的软件包名。

      -qa 列出所有的已安装过的rpm

           -qa
“name*”

           -qa
|grep name

      -qf 查询一个文件来自于哪一个rpm (已安装的rpm

      -q –changelog 版本更新日志

      -qc 查询软件包的配置文件(不是所有包都有配置文件)

      -qd 查询软件包的帮助文档

      -qi 查询软件包的详细信息

      -ql 查询软件包所安装到系统当中的所有文件路径

      -q –scripts 查询软件包自带的脚本

      -q –provides 查询自身的功能

      -qR 查询实现自身的功能需要什么能力

      -qp[licd] rpm 查看未安装的rpm包的各项信息

 

   -e 软件名

     –nodeps 忽略依赖性。强制卸载

 

    –import GPG-KEY….  导入公钥

    -qa “gpg-pubkey*”   显示所有已导入的公钥

    -e gpg-pubkey….

    -K rpm 验证某rpm签名是否合法

原创文章,作者:poetic snow,如若转载,请注明出处:http://www.178linux.com/84548

(0)
poetic snowpoetic snow
上一篇 2017-08-12 17:08
下一篇 2017-08-12 17:57

相关推荐

  • 交换分区创建和磁盘配额的使用

    一、交换分区的建立与启用:     交换分区是作为内存的一个辅助分区,在内存吃紧时,交换分区会作为内存的一部分使用,但是效率比起内存来说会很低下,在一个硬盘分区时最好使用柱面较小的柱面作为交换分区,因为在机械硬盘转速一定的情况下,越靠近外面的磁道,线速度越大,读取到的扇区越多,一定程度上有利于提高性能   &…

    Linux干货 2016-08-29
  • N24_阿龙弟弟 学习计划/目标/宣言

    嗨,大家好,这是我的第一篇文章。很高兴来到马帮门徒这个大家庭。 学习计划:没有自己的计划,跟着马哥课程的进度来吧,以周为单位,确保每周任务完成; 学习目标:掌握应有的运维能力,做一名合格的Linux运维工程师,提升自我价值,过更好的生活; 学习宣言:Be a better man(Not Only Linux)!

    Linux干货 2016-10-25
  • 第二周学习总结

    写在最前 通过上一周对计算机系统、Linux发展的学习,我们认识到了Linux是一个一切皆文件的内核系统。那么怎样去操作系统上的各文件来达到你想要的目的呢?今天的总结就是帮助我们更快的达成目标。 文件管理类命令的分类 对于这类命令主要分为两类: 操作类:touch、cp、mv 查看类:cat、tac、head、tail、less、more touch 功能描…

    2017-12-16
  • 基于mysql的数据库分析系统(rsyslog)

    rsyslog:日志收集和存储系统 1.事件在电脑中的日志记录格式为:     日期时间 主机 进程[pid]:事件内容 2.rsyslog的特性:     多线程;     UDP,TCP,SSL/TLS,RELP; &nbsp…

    Linux干货 2016-10-23
  • 马哥linux2014|2015全套教程

    1、本课程全程将基于集成了Openstack云环境、支持高精度时间(PTP)及虚拟化性能大大提升的RHEL 6.5或CentOS 6.6,间或介绍CentOS 7系统的使用; 2、此文章给出的只是个课程知识点框架,实际讲解过程相当精细;另外,知识点讲授的次序未必同此文章所标示的顺序相同; 3、第15期面授班定于2015年3月24号开课;本期将会是马哥教育数年…

    Linux干货 2015-07-14
  • man,男人的使用方法

        Linux中有个很强大的男人,这个男人就是man。任何不懂得命令和或者配置文件我们都可以去man,所以请深爱这个男人;     我们输入 man ls,它会在最左上角显示“LS(1)”,在这里,“LS”表示手册名称,而“(1)”表示该手册位于第一节章,同样,我们输入“ma…

    Linux干货 2016-07-26