Red Hat RPM Database Backup And Recovery Guide
RPM程序如何使用,相信会linux的朋友一定会使用.当你查询某个软件包的信息时,你可知道这些信息从何而来呢?这就要使用到RPM数据库了,以下介绍了rpm数据库以及如何备份与恢复RPM数据库.当安装linux完成的时候,系统会在/var/lib/rpm目录下面创建rpm的数据库文件,如图所示: 这些文件都很重要,如果不小心丢失了,重建了rpm数据库之后,有些信息还是查询不到的.官方针对rpm数据库的重要性做了如下描述:The RPM database is really a number of Berkeley DB databases, each designed for a different type of query.If something goes wrong with your RPM database, you can first try to rebuild it. If that fails, you may need to initialize a new database, although that is generally not needed. First and foremost, however, you should back up this database. 一、RPM数据库的几个重要文件的具体含义: __db.*这些是rpm数据库文件,这些文件可以使用rpm、rpmdb命令进行重建. Packages文件里面包含了每个软件包的信息,如果这个文件丢失了,使用rpm –qf/qi这些命令组合查询某个程序属于哪个软件包时会没有输出信息的,具体看下例: 正常情况下,查询rpm程序属于哪个软件包: 查看某个软件包信息: 当Packages文件丢失后: 当你查询了以后,系统自动会创建一个Packages文件,这个文件是空文件:
看到了吧,这个Packages文件是非常重要的. 二、备份RPM数据库: 针对RPM数据库的备份,RedHat提供了几个命令,位于/usr/lib/rpm/目录下: 这些命令都是跟Berkeley DB结合在一起的,这个软件不会使用,不再介绍这几个命令了.以下使用tar命令进行备份: 三、恢复RPM数据库: 1、移除Locks信息: 使用lsof检查: 2、恢复: 之前已经备份过RPM数据库了,这里直接将RPM数据库文件删除进行恢复操作: 删完之后,然后检查Packages文家的完整性: 接着使用/usr/lib/rpm/rpmdb_dump命令dump和/usr/lib/rpm/rpmdb_load导入数据库,再此检查下Packages文件的完整性: 重建rpm数据库: 四、初始化RPM数据库: 假如RPM数据库文件丢失了,可以使用rpmdb初始化RPM数据库,执行初始化完成后,虽然产生了__db.*以及Packages文件,但是这个rpm数据库是空的,里面没有任何rpm软件包信息.当查询某个软件包信息时查询不到任何信息. 尽管这样可行,但是还是要做好RPM数据库的备份工作,以防万一! 参考文献: RPM Guide 本文出自 “candon123” 博客,谢绝转载! |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |