【如何重建rpmdb】

博客介绍了Linux系统中RPM数据库的重建步骤,包括备份RPM数据库、删除相关锁文件、重建数据库、验证文件完整性等。若这些步骤不生效,还给出了备份Packages目录、导出再导入数据库等进一步操作步骤。

【背景】

	在使用自己做的rpm包时遇到 **error: db5 error(11) from dbenv->open: Resource temporarily unavailable**

【重建步骤】

  1. 备份RPM数据库

     tar  zcvf  rpm.db.tar  /var/lib/rpm
    
  2. 删除 /var/lib/rpm/__db* 文件 (rpm 命令所产生的锁)

     cd  /var/lib/rpm  && rm  -rf  /var/lib/rpm/__db*
    
  3. 重建 RPM 数据库

     rpm -vv --rebuilddb
    
  4. 验证Packages中文件的完整性

     /usr/lib/rpm/rpmdb_verify  /var/lib/rpm/Packages
    

如果上面的步骤不生效, 可以执行以下步骤:

1.备份 Packages 目录

	cd /var/lib/rpm  && mv /var/lib/rpm/Packages  /var/lib/rpm/Packages.bak

2.导出再导入数据库

	/usr/lib/rpm/rpmdb_dump  Packages.bak | /usr/lib/rpm/rpmdb_load  Packages

3.校验 Packages 文件中的完整性

	/usr/lib/rpm/rpmdb_verify  Packages

4.检查 DB 中的 headers

	rpm -q >/dev/null

5、若上一步没有输出,就可以重建 index

	rpm -vv --rebuilddb
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The Bug.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值