[Linux] 023 RPM 包校验与文件提取

1. RPM 包校验

$ rpm -V 已安装的包名

选项 释义
-V (verify) 校验指定 RPM 包中的文件


(1) 验证内容中的 8 个信息的具体内容如下

信息名称 释义
S 文件大小是否改变
M 文件的类型或文件的权限 (rwx) 是否被改变
5 文件 MD5 校验和是否改变(可以看成文件内容是否改变)
D 设备的主从代码是否改变
L 文件路径是否改变
U 文件的属主(所有者)是否改变
G 文件的属组是否改变
T 文件的修改时间是否改变


(2) 文件类型

类型名称 释义
c (config file) 配置文件
d (documentation) 普通文档
g (ghost file) “鬼”文件,很少见,就是这个文件不应被这个 RPM 包包含
l (license file) 授权文件
r (read me) 描述文件


2. RPM 包中文件提取

$ rpm2cpio 包全名 | cpio -idv .文件绝对路径

命令 释义
rpm2cpio 将 rpm 包转换为 cpio 格式
cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件


$ cpio 选项 < [文件|设备]

选项 释义
-i copy-in 模式,还原
-d 还原时自动新建目录
-v 显示还原过程


  • 查询 ls 命令属于哪个软件包

    $ rpm -qf /bin/ls

  • 造成 ls 命令误删除假象

    $ mv /bin/ls /tmp/

  • 提取 RPM 包中 ls 命令到当前目录的 /bin/ls 下

    $ rpm2cpio /mnt/cdrom/Packagea/coreutils-8.4.e16.i686.rpm | cpio -idv ./bin/ls

  • 把 ls 命令复制回 /bin/ 目录,修复文件丢失

    $ cp /root/bin/ls /bin/


此为以前听 兄弟连的 Linux 公开课 记下的笔记

猜你喜欢

转载自www.cnblogs.com/yorkyu/p/10539739.html