Linux系列(33)- rpm命令管理之RPM包校验提取(5)

校验

格式

  • rpm -V 已安装的包名
  • 选项:
  •   — -V:校验指定RPM包中的文件(verify)

例子

  • rpm -V httpd 后, 无任何提示, 代表该文件没有被做任何修改
  • # 判断本地的apache 与官方给出的是否一致, 从而判断是否被人修改
  • 修改httpd.conf配置文件后
  • 提示 : S.5....T. c /etc/httpd/conf/httpd.conf
  • 红字8位分别代表验证内容不同信息,有变化就显示,没变化以点“.”表示变动
  • 蓝字c代表验证内容文件的文件类型
内容中信息校验 文件类型
S 文件大小是否变化

c (config file)

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

d (documentation)

普通文件
5 文件MD5校验是否改变(可以理解为文件内容是否改变)

g (ghost file)

"鬼"文件, 很少见, 就是该文件不应该被这个RPM包包含,一般为病毒

D 设备的主从代码是否改变

L (license file)

授权文件
L 文件路径是否改变

r (read me)

描述文件
U 文件的属主(所有者)是否改变    
G 文件的属组是否改变    
T 文件的修改日期是否改变    

 

MD5校验

  • 用来校验文件的完整性(文件内容是否被改变)
  • 例如, 在官网下载的游戏, 官方会给出MD5校验码, 将下载的游戏通过专用的MD5校验工具校验后生成一份MD5校验码, 对比两份校验码 是否一致, 不一致则说明,下载的文件可能丢包, 可能文件损坏, 可能被其他人动过手脚一直木马等

 

RPM 包中文件提取

格式:

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

命令解析:

  • rpm2cpio 包全名
  • # — rpm2cpio:将rpm包转换为cpio格式的命令
  • # — cpio :是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
  • # 由于 cpio 命令自身不知道从何处来提取文件, 所以需要用管道符来告知提取的位置
  • 👆管道符前半部分:从哪边提取;管道符后半部分:怎么提取,提取方式
  • cpoi 选项 < [文件|设备]
  • 选项:
  • -i : copy-in 模式, 还原
  • -d : 还原时自动新建目录
  • -v : 显示还原过程

例子

rpm -qf /bin/ls :查询ls 命令属于哪个软件包

mv /bin/ls /tmp/ : 造成ls 命令误删除假象

rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls:切换至家目录后, 提取RPM 包中ls 命令到当前目录的 /bin/ls 下

cp /root/bin/ls /bin/ # 把ls 命令复制到/bin/目录, 修复文件丢失

posted @ 2021-08-10 08:58  葛老头  阅读(171)  评论(0编辑  收藏  举报