一、RPM包校验

[root@localhost Packages]# rpm -V 已安装的包名

#选项:

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

[root@localhost Packages]# vim /etc/httpd/conf/httpd.conf        ---> 对包的配置文件进行修改

[root@localhost 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包中文件提取

[root@localhost testuser]# rpm -qf /usr/bin/ls            ---> 查询文件所属的包

coreutils-8.22-11.el7.x86_64

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

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

./usr/bin/ls

28552 blocks

[root@localhost testuser]# pwd                ---> 查看当前位置

/home/testuser

[root@localhost testuser]# ll                ---> 查看当前目录下的文件

total 0

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

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

./usr/bin/ls

28552 blocks

[root@localhost testuser]# ll                ---> 查看当前目录,文件是否提取成功

total 0

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

[root@localhost testuser]# cd usr/bin/            ---> 进入目录

[root@localhost 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"等同

 

 

 

 

最新文章

  1. 使用php+swoole对client数据实时更新(下)
  2. 使用docker toolbox 在windows上搭建统一环境
  3. 安卓动态调试七种武器之孔雀翎 – Ida Pro
  4. 配置Nginx支持SSL SNI(一个IP绑定多个证书) 以及Haproxy实现多域名证书
  5. Linq to sql 的语法
  6. iOS javascript js 交互
  7. linux下时间的修改
  8. 【转】用CSS代码写出的各种形状图形的方法
  9. nginx + memcached-session-manager 实现tomcat下的负载均衡
  10. VS2013项目受源代码管理向源代码管理注册此项目时出错
  11. 段的创建表user_segments
  12. 二元最近的共同祖先问题(O(n) time 而且,只有一次遍历,O(1) Space (它不考虑函数调用栈空间))
  13. 浏览器console的用法
  14. 查阅API文档
  15. IDEA快捷键积累
  16. Spring Cloud的应用程序—上下文服务
  17. SpringBoot MyBatis 配置多数据源 (静态多个)
  18. post请求测试代码
  19. MySQL数据库一
  20. 使用pandas导入csv文件到MySQL

热门文章

  1. Direct2D 加载位图
  2. 学习C++——只声明忘记定义了
  3. Linux小知识点汇总
  4. Hibernate的CRUD
  5. js 实现分割条
  6. 删除左右两边的空格trim
  7. CSS 字体描边
  8. 在同个工程中使用 Swift 和 Objective-C(Swift 2.0更新)-b
  9. CodeKata
  10. zend framework 1 连接oracle数据库的写法