一、包管理器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
见文档软件包管理
- 软件在安装时,会将包里的每个文件的元数据,如:大小,权限,所有者,时间等记录至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)