zoukankan      html  css  js  c++  java
  • RPM包校验和提取

    一、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"等同

     

     

     

     

  • 相关阅读:
    个人总结08
    npm快速入门
    Activity简介
    SELinux
    正则表达式学习笔记(二)表达式的匹配原理
    git学习笔记(一)
    使用VSFTPD传输文件
    正则表达式学习笔记(一)正则表达式入门
    Linux基础(一)磁盘分区
    Shell脚本笔记(九)数组
  • 原文地址:https://www.cnblogs.com/mictms/p/5281612.html
Copyright © 2011-2022 走看看