1.RPM包校验

    <1>rpm -V 已安装的包名

    <2>选项:

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

    <3>说明:

        <1>若没有显示任何内容,则证明包正常,则没有被修改过

        <2>一旦有显示,则证明包被修改过,

          且会在相应位置显示出被修改过的属性所代表的字母(.说明该属性没有被修改)

-----------------------------------------------------------------------------------------------------------------

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

      S    文件大小是否改变

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

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

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

      L    文件路径是否改变

      U    文件的属主(所有者)是否改变

      G    文件的属组是否改变

      T    文件的修改时间是否改变

-----------------------------------------------------------------------------------------------------------------

    文件类型:

      c    配置文件(config file)

      d    普通文档(documentation)

      g    “鬼”文件(ghost file),很少见,就是该文件不应该被这个rpm包包含

      L    授权文件(license file)

      r    描述文件(read me)

-----------------------------------------------------------------------------------------------------------------

        <3>若出现鬼文件,有可能是出现漏洞或被攻击的可能

        <4>该命令用于验证你的文件与官方提供的文件是否相同,从而判断系统文件是否被做过修改

  2.RPM包中文件提取

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

    <2> --- rpm2cpio    //将rpm包转换为cpio格式的命令

        --- cpio      //是一个标准工具,它用于创建软件档案文档和从档案文件中提取文件

    <3>若由于误操作,不小心删除某些重要系统命令,如ls等,

      可以通过rpm包提取文件的方法进行恢复

    <4>命令: cpio 选项 < [文件|设备] //可以使用重定向也可以使用管道符

      选项:

          -i    copy-in模式,还原

          -d    还原时自动创建新目录

          -v    显示还原过程

-----------------------------------------------------------------------------------------------------

    <1>比如,不小心删除了ls命令

        where is ls

        mv /bin/ls  /tmp  //由于是做实验,不要真的删除,剪切就好

    <2>此时就无法使用ls命令了

    <3>接着可以使用cpio从rpm包中提取文件进行恢复

    <4>首先 查询ls命令属于哪个软件包

        rpm -qf /bin/ls

    <5>接着造成误删除ls命令的假象

        mv /bin/ls /tmp/

    <6>提取rpm包中的ls命令到当前所在目录下

      rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls

      .表示提取到当前目录,因此要考虑当前所在位置

      ./bin/ls表示我要提取这个文件

    <7>把ls命令复制回/bin/目录,修复文件丢失

最新文章

  1. javascript数据结构-栈
  2. C#的XML序列化及反序列化
  3. linq 的switch实现
  4. C++ 读取txt文本内容,并将结果保存到新文本
  5. extJS 创建类
  6. GitHub 优秀的 Android 开源项目
  7. navigator.userAgent.indexOf来判断浏览器类型
  8. 在word中显示漂亮的代码
  9. Opencv cvCircle函数
  10. JS+CSS实现选项卡功能
  11. 无组件客户端js图片压缩
  12. selenium 学习笔记 ---新手学习记录(4) 问题总结(java)-autoit3脚本使用
  13. docker mac 安装并初始化GO环境
  14. ResDrawableImgUtil【根据图片名称获取resID值或者Bitmap对象】
  15. ignoreDependencyType(Class class)方法使用
  16. NLP入门(一)词袋模型及句子相似度
  17. 开源版本PowerShell Core 6.2 发布
  18. 剑指offer(20)包含min函数的栈
  19. KALI安装与环境配置
  20. [SDOI2014]数数

热门文章

  1. 10款最好用的MySQL数据库客户端图形界面管理工具
  2. Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(一)
  3. 利用ps指令查看某个程序的进程状态
  4. Chrome 应用推荐 - 下载管理扩展: Chrono
  5. IOS 设置透明度导致底层View始终可见
  6. Javascript ----字符串(String)中的方法
  7. adaboost算法
  8. android-volley-at-a-glance
  9. 统计文件夹下java代码行数的小程序--主要是学习任务队列的思想
  10. Ettus Research USRP B200/B210 simple case