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,请参考使用!