RPM(红帽软件包管理器)详解

目录

RPM介绍

RPM命令

 RPM常用命令


RPM介绍

RPM是Red-Hat Package Manager的缩写,这一文件格式名称虽然打上了RedHat标志,但原始设计理念是开放式的,在RPM公布之前,要想在linux系统中安装软件只能采取源码包的方式安装。早期在linux系统中安装程序是一件非常困难且耗费耐心的事情,而且大多数的服务程序仅仅提供源代码,需要自行编译代码并解决很多软件依赖关系问题,因此要安装好一个服务程序,需要具备很多相关知识技能和耐心,在安装、卸载、升级软件操作时,难度都很大。

大多数开源软件都是直接以源代码形式发布,一般会被打包为tar.gz 的归档压缩文件。程序源代码需要编译为二进制可执行文件后才能够运行使用。源代码的基本编译流程为:

1:使用tar命令解压缩后运行./configure命令检查编译环境,生成makefile文件

2:使用make命令对makefile文件进行编译,生成可执行文件

3:使用make install命令将可执行文件安装到计算机中

RPM机制是为解决这些问题而设计的,有点像Windows系统中的控制面板,会建立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系。目前RPM的优势已经被公众所认可,使用范围也不仅仅局限在红帽系统中了,在OpenLinux、Turbo Linux等Linux的分发版本都有采用。RPM主要用来安装、卸载、升级、校验、管理软件

RPM软件包

一般镜像文件里都有rpm包,基本上都是以下格式

dhcp-4.2.5-58.el7.x86_64.rpm
bind-9.9.4-50.el7.x86_64.rpm
openssh-7.4p1-11.el7.x86_64.rpm
samba-common-4.6.2-8.el7.noarch.rpm

具体文字解释:

dhcp、bind、openssh、都是软件包名称;4.2.5-58、9.9.4-50是软件版本号和发布次数(-后面是发布次数);el7  EL是Red Hat Enterprise Linux的缩写,el7表示Red Hat 7.x或CentOS 7.x系统版本;x86_64表示支持32位和64位架构(noarch表示不挑架构)

RPM命令

rpm命令参数及作用

rpm安装、卸载、升级

rpm [参数] rpm包名
-i  :安装指定的rpm包
-e  :卸载已安装的rpm包
-v  :显示较详细的信息
-h  :以 “#” 显示进度情况
-U  :升级指定的rpm包,软件包版本必须比当前系统中安装的软件包版本高才能正确升级
      若当前系统未安装指定的软件包,则直接安装
-F  :更新指定的rpm包,若当前系统未安装指定的软件包,则放弃安装

rpm查询

查询已安装的软件
rpm -q  软件名称   :查询指定的软件包在系统中是否被安装
附加参数:
rpm -qa 软件名称   :查询系统中已安装的所有软件包
rpm -qi 软件名称   :查询系统中已安装的软件包详细描述信息
rpm -ql 软件名称   :查询系统中已安装软件包里所含的文件列表
rpm -qR 软件名称   :查询该软件的所有依赖包
rpm -qs 软件名称   :查询该软件中所有文件的状态
rpm -qc 软件名称   :查询该软件所有的配置文件
rpm -qd 软件名称   :查询该软件所有的说明文件
rpm -qf 文件名称   :查询系统中指定文件所属的软件包

查询未安装的rpm包
rpm -qp rpm包名    :查询rpm包文件中的信息,一般用于在未安装前了解软件包中的信息,如软件名称、版本信息、硬件平台等
附加参数:
-i、-l、-R、-s、-c、-d
对应的意思是和查询软件一样的

rpm校验

校验是通过已安装的文件和软件包中的原始文件进行比较来判断是否被修改
校验主要是比较文件的尺寸、MD5校验码、文件权限、所有组、所有者等等
rpm -V  软件名称 :校检指定的软件包
rpm -Vf 文件名称 :校检指定的文件是否被修改
rpm -Va 软件名称 :校检所有已安装的软件包
rpm -Vp rpm包名  :根据一个rpm包来校检

使用命令进行校检时,如果一切正常 文件没有任何变化,就不会有任何输出,如果有不一致的地方就会显示出来,通过八个字符输出:
S :文件的大小
M :文件的权限(rwx)
5 :文件的MD5校检码
D :设备的主从代码
L :文件的路径
U :文件的所有者
G :文件的所有组
T :文件的修改时间

举例:
[root@server ~]# rpm -V dhcp
[root@server ~]#
没有修改就什么都没显示

[root@server ~]# vim /etc/dhcp/dhcpd.conf
随便修改一下内容

[root@server ~]# rpm -V dhcp
S.5....T.   c      /etc/dhcp/dhcpd.conf
校检内容   文件类型  文件路径  
“S.5....T.”中显示了什么字符就说明对应的地方被修改了

文件类型分为:
c :配置文件
d :普通文档
l :授权文件
r :描述文件

 rpm附加命令 

--force    :强制操作,如强制安装或卸载
例如:rpm -ivh --force rpm包名
--requires :显示该包的依赖关系
--nodeps   :忽略依赖关系
--test     :进行安装测试,但不安装
更多参数可以通过 rpm -? 查看

 RPM常用命令

安装软件rpm -ivh RPM包名
升级软件rpm -Uvh RPM包名
卸载软件rpm -evh RPM包名
查询软件是否安装rpm -qa | grep 软件名称
查询软件包详细信息rpm -qpi RPM包名
查询软件包文件信息rpm -qpl RPM包名
查询文件属于哪个RPM包rpm -qf 文件名
校检软件rpm -V 软件名称

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值