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/目录,修复文件丢失

3-5 RPM包校验的更多相关文章

  1. [Linux] 023 RPM 包校验与文件提取

    1. RPM 包校验 $ rpm -V 已安装的包名 选项 释义 -V (verify) 校验指定 RPM 包中的文件 (1) 验证内容中的 8 个信息的具体内容如下 信息名称 释义 S 文件大小是否 ...

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

    校验 格式 rpm -V 已安装的包名 选项: - -V:校验指定RPM包中的文件(verify) 例子 rpm -V httpd 后, 无任何提示, 代表该文件没有被做任何修改 # 判断本地的apa ...

  3. RPM包校验和提取

    一.RPM包校验 [root@localhost Packages]# rpm -V 已安装的包名 #选项: #    -V    校验指定RPM包中的文件(verify) [root@localho ...

  4. RPM包安装软件 -- 详细解读

    一.RPM包命名规则 1.RPM包在哪 RPM包在光盘中 2.RPM包命名原则 httpd-2.2.15-15.e16.centos.1.i686.rpm httpd 软件包名 2.2.15 软件版本 ...

  5. Linux下RPM包的安装

    Linux下RPM包安装 二进制包(RPM包.系统默认包) RPM安装 rpm -ivh 包全名(查询依赖网址:http://www.rpmfind.net) -i(install):安装 -v(ve ...

  6. rpm包软件管理

    一.rpm介绍 linux服务器中所有的软件包安装方式有两种,一种是源码安装.另一种是二进制包安装(rpm)源码包安装的好处是适合不同的发行版本的linux,缺点是在编译过程中花费的时间很长,二进制包 ...

  7. RPM包和YUM仓库管理

    1.RPM包管理 RPMRPM Package Manger,前身Redhat Package Manger,由红帽开发用于软件包的安装升级卸载与查询有一个完整的数据库体系,每个RPM包的所有信息都固 ...

  8. 『学了就忘』Linux软件包管理 — 43、RPM包的校验和证书

    目录 1.RPM包的校验 (1)RPM包校验基本命令 (2)校验某个系统文件是否被修改举例 (3)验证内容中8个信息的具体内容 (4)文件类型有哪些 2.RPM包的证书 (1)数字证书 (2)数字证书 ...

  9. linux rpm之已安装包校验、rpm包中文件提取

    已安装包校验 rpm -V 已安装的包名-V 校验指定rpm包中的文件 rpm -V pth没有任何提示,说明自安装后没有做过任何修改 rpm包中文件提取 比如对一个系统配置文件误操作,可以根据这个文 ...

随机推荐

  1. POJ 2763

    题意:给一个数,边之间有权值,然后两种操作,第一种:求任意两点的权值和,第二,修改树上两点的权值. #pragma comment(linker, "/STACK:1024000000,10 ...

  2. 使用rgba色实现背景色透明

    父元素css属性:background-color: #000;  background: rgba(0,0,0,.5); //现代浏览器属性,使用rgba色实现透明,对子属性不继承  filter: ...

  3. C# SVN检出的代码,F12显示从元数据

    解决办法: 删除项目中的引用(同时也要删除bin文件夹中的dll文件,否则不能重新添加),并重新添加本地引用即可. 原因: 项目中的dll文件不是本机编译出来的,所以找不到元数据.如果当前关联的项目里 ...

  4. SharePoint 2013 Nintex Workflow 工作流帮助(九)

    博客地址 http://blog.csdn.net/foxdave 前叙:假期结束了,知道为什么假期如此短暂吗?因为假期的每天只有半天.春节过完了,新的一年开始了,大家或许之前在新年的时候都许下了自己 ...

  5. HDU 1045 - Fire Net (最大独立集)

    题意:给你一个正方形棋盘.每个棋子可以直线攻击,除非隔着石头.现在要求所有棋子都不互相攻击,问最多可以放多少个棋子. 这个题可以用搜索来做.每个棋子考虑放与不放两种情况,然后再判断是否能互相攻击来剪枝 ...

  6. combox源码解析

    /** * jQuery EasyUI 1.3.2 * * Copyright (c) 2009-2013 www.jeasyui.com. All rights reserved. * * Lice ...

  7. git vs svn

    http://www.tuicool.com/articles/e2MnAb Git与SVN的不同之处 svn为集中化的版本控制,svn获取最新的版本或者提交更新,历史记录等信息每次都要连接中央版本库 ...

  8. 通过一个Thinkphp完成多个项目

    1.单独取压缩包中的Thinkphp文件夹 2.在单独的项目内创建一个引入文件 3.通过浏览器访问该index.php 会创建相应的目录

  9. POJ3237 (树链剖分+线段树)

    Problem Tree (POJ3237) 题目大意 给定一颗树,有边权. 要求支持三种操作: 操作一:更改某条边的权值. 操作二:将某条路径上的边权取反. 操作三:询问某条路径上的最大权值. 解题 ...

  10. bzoj4034 (树链剖分+线段树)

    Problem T2 (bzoj4034 HAOI2015) 题目大意 给定一颗树,1为根节点,要求支持三种操作. 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子 ...