一、包管理器rpm

CentOS系统上使用rpm命令管理程序包

功能:

安装、卸载、升级、查询、校验、数据库维护

格式:

rpm {-i|--install} [install-options] PACKAGE_FILE…

选项:

-v: verbose

-vv:

-h: 以#显示程序包管理执行进度

-e 卸载包

-q; 查找包

-qa : 查找安装的所有包. 相当于/var/lib/rpm库

-ivh :安装包,后面加包的绝对路径

--replacepkgs(force) :加到命令末尾强制安装,配合-ivh使用

-qi: 已经安装得包,包的说明。后面加包名

-ql:查询已经安装得包,生成了哪些文件。后面加包得名称

-qip:未安装得包,后面加文件名称,看包是作什么得,在装。

-qpl:查询未安装得包会生成哪些文件。后面加文件名称,

-qf:查找某个文件来自哪个包

-q --scripts PACKAGE  程序包自带的脚本


二、包查询

rpm {-q|--query} [select-options] [query-options]


[select-options]

-a:所有包

-f:查看指定的文件由哪个程序包安装生成

-p rpmfile:针对尚未安装的程序包文件做查询操作

[query-options]

--changelog:查询rpm包的changelog

-c:查询程序的配置文件

-d:查询程序的文档

-i:information

-l:查看指定的程序包安装后生成的所有文件

--scripts:程序包自带的脚本

三、包校验

在安装包时,系统也会检查包的来源是否是合法的

检查包的完整性和签名

rpm -K|--checksig rpmfile  

在检查包的来源和完整性前,必须导入所需要公钥

范例:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

rpm -qa “gpg-pubkey*”

范例:CentOS 8

见文档软件包管理

  1. 软件在安装时,会将包里的每个文件的元数据,如:大小,权限,所有者,时间等记录至rpm相关的数

据库中,可以用来检查包中的文件是否和当初安装时有所变化

rpm {-V|--verify} [select-options] [verify-options]

示例:

#示例:

[root@centos8 ~]#rpm -V centos-release

S.5....T. c /etc/issue

S file Size differs

M Mode differs (includes permissions and file type)

5 digest (formerly MD5 sum) differs

D Device major/minor number mismatch

L readLink(2) path mismatch

U User ownership differs

G Group ownership differs

T mTime differs

P capabilities differ

. (点) 表示当前位置代表的字符含义一致

c 所在的位置表示文件类型

c 配置文件

d 文件数据文件

g 该文件不属于某个文件(极少情况)

l 许可证文件(license file)

r 自述文件(READ ME)