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 公开课 记下的笔记