快速业务通道

Red Hat RPM Database Backup And Recovery Guide

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-29

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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多
上一篇: YUM下一篇: linux中sort排序和uniq

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号