rpm是很多linux发行版使用的包管理器。本文将简单总结下其常用方法。
1. 使用rpm2cpio,cpio提取rpm包的中的特定文件
有些时候,我们需要提取rpm包中的一些文件,通过如下方法可以快速提取
首先查询rpm包中的文件
我们需要提取 anaconda-11.4.1.62.tar.bz2 这个文件,执行下面的命令,提取到当前目录
注意: cpio参数后的文件路径 "anaconda-11.4.1.62.tar.bz2" 必须和前面查询的相对路径一样,否则提取不成功。
相关知识说明
cpio参数说明:
    -t 列出的意思,和"--list"等同,注意,此时列出的是“相对路径”
    -i 抽取的意思,和"--extract"等同
    -d 建立目录,和"--make-directories"等同
    -v 冗余信息输出,和"--verbose"等同
    rpm参数说明:
    -q --query 查询
    -l --list 列出
    -f --file 指定文件
    -p --package 指定rpm包
2. rpm 数据库修复的方法
    第一种方法:
    当进行包安装、升级、卸载等操作时,可能损坏RPM DB,需要通过--rebuild参数来修复RPM DB,但有时会碰到这样的问题:     
    此时需要手动删除/var/lib/rpm目录下的类似 __db.* 的文件
      rm -fr /var/lib/rpm/__db*
    然后再运行 rpm -v --rebuilddb 即可.
第二种方法 :
以上2中方法都可以修复rpm db,请参考使用!