Linux 之 rpm管理-校验和文件提取
一
、RPM包校验
[root@hhh~]#rpm -V 已安装的包名
选项:
-V 校验指定RPM包中的文件
[root@hhh~]#rpm -V 已安装的包名
选项:
-V 校验指定RPM包中的文件
其它:通过校验,我们可以知道系统文件是否被更改;
验证内容中的8个信息:
S 文件大小是否改变
M 文件类型或权限是否被改变
5 文件内容是否改变
D 设备的中,从代码是否改变
L 文件路径是否改变
U 文件属主(所有者是否改变)
G 文件的属组是否改变
T 文件修改时间是否改变
S 文件大小是否改变
M 文件类型或权限是否被改变
5 文件内容是否改变
D 设备的中,从代码是否改变
L 文件路径是否改变
U 文件属主(所有者是否改变)
G 文件的属组是否改变
T 文件修改时间是否改变
文件类型
c 配置文件
d 普通文件
g 鬼文件,该文件不应该被这个RPM包包含,很少见
l 授权文件
r 描述文件
c 配置文件
d 普通文件
g 鬼文件,该文件不应该被这个RPM包包含,很少见
l 授权文件
r 描述文件
二、文件提取
[root@hhh~]#rpm2cpio 包全名 |\
cpio -idv .文件绝对路径
cpio -idv .文件绝对路径
|\ 表示一行没输完,再换一行输;
rpm2cpio 将rpm包转换为cpio格式命令
cpio 创建软件档案文件和从档案文件中提取文件的标准工具
cpio 创建软件档案文件和从档案文件中提取文件的标准工具
例子:提取ls命令文件
1.先假意删除ls命令: [root@localhost ~]# mv /bin/ls /tmp/
2.再在网上查询ls命令属于哪个软件包 或 在www.rpmfind.net内查询
3.提取RPM包中ls命令到当前目录的/bin/ls下:
[root@localhost ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm |\
cpio -idv ./bin/ls
4.把ls命令复制到真正的 /bin下:
[root@localhost ~]# cp /root/bin/ls /bin/
1.先假意删除ls命令: [root@localhost ~]# mv /bin/ls /tmp/
2.再在网上查询ls命令属于哪个软件包 或 在www.rpmfind.net内查询
3.提取RPM包中ls命令到当前目录的/bin/ls下:
[root@localhost ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm |\
cpio -idv ./bin/ls
4.把ls命令复制到真正的 /bin下:
[root@localhost ~]# cp /root/bin/ls /bin/