RPM包校验和提取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RPM包校验和提取相关的知识,希望对你有一定的参考价值。

一、RPM包校验

[[email protected] Packages]# rpm -V 已安装的包名

#选项:

#????-V????校验指定RPM包中的文件(verify)

[[email protected] Packages]# vim /etc/httpd/conf/httpd.conf????????---> 对包的配置文件进行修改

[[email protected] Packages]# rpm -V httpd????????????????????---> 对修改后的包再次进行校验(无变化,无提示

S.5....T. c /etc/httpd/conf/httpd.conf

验证内容中的8个信息的具体内容如下:

S????文件大小是否改变

M????文件的类型或文件的权限(rwx)是否变改变

5????文件MD5校验和是否改变(可以看作文件内容是否改变)

D????装置的主/次代码已经改变

L????Link路径已被改变

U????文件的所属人已被改变

G????文件的所属群组已被改变

T????文件的创建时间忆被改变

文件类型:

c????配置文件(config file)

d????普通文件(documentation)

g????"鬼"文件(ghost file),很少发生,通常是指该文件不被软件包所包含

l????授权文件(license file)

r????描述文件(read me)

二、RPM包中文件提取

[[email protected] testuser]# rpm -qf /usr/bin/ls????????????---> 查询文件所属的包

coreutils-8.22-11.el7.x86_64

[[email protected] testuser]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.22-11.el7.x86_64.rpm | cpio -t | grep /usr/bin/ls

#????---> 查询文件的相对路径

./usr/bin/ls

28552 blocks

[[email protected] testuser]# pwd????????????????---> 查看当前位置

/home/testuser

[[email protected] testuser]# ll????????????????---> 查看当前目录下的文件

total 0

[[email protected] testuser]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.22-11.el7.x86_64.rpm | cpio -idv ./usr/bin/ls

#????---> 将所需要的文件从文件所属的包中提取到当前目录下

./usr/bin/ls

28552 blocks

[[email protected] testuser]# ll????????????????---> 查看当前目录,文件是否提取成功

total 0

drwxr-xr-x. 3 root root 16 Mar 2 09:19 usr????????????---> 此目录出现,说明文件提取成功

[[email protected] testuser]# cd usr/bin/????????????---> 进入目录

[[email protected] bin]# ll????????????????????---> 查看目录下是否有指定提取的文件

total 116

-rwxr-xr-x. 1 root root 117616 Mar 2 09:19 ls????????---> 指定文件提取成功

?

#将需要恢复的文件提取成功之后,将文件复制到对应的目录下即可。

【注意】cpio参数后的文件路径"./usr/bin/ls"必须与前面查询出来的相对路径"./usr/bin/ls"一样,否则提取不成功

?

cpio参数说明:

????-t????列出的意思,和"--list"等同,此时列出的是"相对路径"

????-I????抽取的意思,和"--extract"等同

????-d????建立目录的意思,和"--make-directories"等同

????-v????冗余信息输出,和"--verbose"等同

?

?

?

?

以上是关于RPM包校验和提取的主要内容,如果未能解决你的问题,请参考以下文章

RPM包校验

3-5 RPM包校验

rpm 校验

rpm包管理功能详解

举例说明使用RPM 命令安装、升级、删除、查询、校验软件包的方法都有哪些?

软件包管理rpm和yum