RPM数据库由CentOS中的/ var / lib / rpm /目录下的文件和其他企业Linux发行版(如RHEL , openSUSE , Oracle Linux等)组成。

如果RPM数据库损坏, RPM将无法正常工作,因此更新无法应用到您的系统,您在通过YUM软件包管理器更新系统上的软件包时遇到错误。 最糟糕的情况是无法成功运行任何rpm和yum命令。

导致RPM数据库损坏的因素有很多,例如以前的事务不完整,安装某些第三方软件,删除特定软件包等等。

在本文中,我们将演示如何重建损坏的RPM数据库; 通过这种方式,您可以从CentOS中的RPM数据库损坏中恢复。 这需要root用户权限,否则使用sudo命令获得这些权限。

在CentOS中重建损坏的RPM数据库

首先开始备份当前的RPM数据库,然后继续操作(将来可能需要它),然后使用以下命令。# mkdir /backups/

# tar -zcvf /backups/rpmdb-$(date +"%d%m%Y").tar.gz /var/lib/rpm

备份RPM数据库

接下来,验证主包元数据文件/ var / lib / rpm / Packages的完整性; 这是需要重新构建的文件,但首先删除/ var / lib / rpm / __ db *文件以防止使用以下命令失效锁定。# rm -f /var/lib/rpm/__db*

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

验证RPM数据库

如果上述操作失败,意味着您仍然遇到错误,那么您应该转储并加载新的数据库。 如下所示验证新加载的Packages文件的完整性。# cd /var/lib/rpm/

# mv Packages Packages.back

# /usr/lib/rpm/rpmdb_dump Packages.back | /usr/lib/rpm/rpmdb_load Packages

# /usr/lib/rpm/rpmdb_verify Packages

转储和加载RPM数据库

现在要检查数据库标题,使用-q和-a标志查询所有已安装的软件包 ,并尝试仔细观察发送到stderror的任何错误。# rpm -qa >/dev/null#output is discarded to enable printing of errors only

最后但并非最不重要的是,使用以下命令重建RPM数据库, -vv选项允许显示大量调试信息。# rpm -vv --rebuilddb

重建RPM数据库

使用dcrpm工具检测并更正RPM数据库

我们还发现了用于识别和纠正众所周知的与RPM数据库损坏相关的问题的dcrpm (detect and correct rpm)命令行工具。 这是一个简单易用的工具,您可以无需运行即可运行。 为了有效和可靠的使用,您应该通过cron定期运行它。

你可以从源代码安装它; 下载源代码树并使用setup.py安装它(它也应该从pypi获取psutil依赖项),如图所示。# git clone https://github.com/facebookincubator/dcrpm.git

# cd dcrpm

# python setup.py install

一旦你安装了dcrpm ,运行如图所示。# dcrpm

最后,尝试再次运行失败的rpm或yum命令以查看是否一切正常。

就这样! 在本文中,我们已经解释了如何在CentOS中重建损坏的RPM数据库。 要提出任何问题或分享您对本指南的看法,请使用下面的反馈表格。

linux数据库重建,如何在CentOS中重建损坏的RPM数据库相关推荐

  1. 如何在UE5中重建哥特式建筑场景?

    今天给大家分享如何在UE5中重建哥特式建筑场景?一起来看下吧! 1.介绍 哥特式建筑是我最喜欢的风格之一,所以就想用模组化构建一个哥特风格场景,闲言少叙,直接上图! 本次教程会从找参考到制作模组.纹理 ...

  2. Linux教程:如何在CentOS或者RHEL上启用Nux Dextop仓库

    Linux教程:如何在CentOS或者RHEL上启用Nux Dextop仓库 Linux教程:如何在CentOS或者RHEL上启用Nux Dextop仓库 [日期:2014-09-24] 来源:Lin ...

  3. 教你如何在 elasticsearch 中重建索引

    序言 Elasticsearch 是一个实时的分布式搜索分析引擎.Teambition 使用 Elastisearch 作为搜索引擎,为用户提供搜索服务,当我们决定存储某种数据时,我们需要使用PUT ...

  4. 如何在centos中找到安装mysql_如何在CentOS 7上安装MySQL

    随着CentOS 7 MySQL的发布,全球最受欢迎的开源关系数据库管理系统在CentOS的存储库中不再可用,而且MariaDB已成为默认的数据库系统. MariaDB是MySQL的向后兼容,二进制插 ...

  5. linux安装joomla,如何在CentOS 7上安装Joomla

    如何在CentOS 7上安装Joomla 版本1.0 作者:Srijan Kishore 本文档介绍了如何在CentOS 7上安装和配置Joomla.Joomla是一款非常受欢迎的获奖开源内容管理系统 ...

  6. linux nslookup命令安装,在CentOS中安装nslookup命令

    域名查询工具nslookup并不是Win系统的专利,Linux系统中也可以使用,不过要安装,默认没有. 在CentOS中安装nslookup命令: $ sudo yum install bind-ut ...

  7. centos root密码_如何在CentOS中恢复丢失的root密码

    centos root密码 In Linux, when you forget your account password, you can easily reset it using a root ...

  8. wordpress 数据库_如何在WordPress中创建视频库(逐步)

    wordpress 数据库 Recently, a user asked us how to create a video gallery in WordPress. WordPress makes ...

  9. 如何在centos中完全彻底卸载mysql

    CentOS 下如何完全卸载MySQL?解决卸载不干净的问题 系统:CentOS 6.5,MySQL:MySql 5.6 这里主要解决使用rpm安装的卸载问题,安装方法见:CentOS安装MySQL* ...

最新文章

  1. Oracle存储过程实现返回多个结果集 在构造函数方法中使用 dataset
  2. Blazor University (1)介绍 - 什么是 Blazor?
  3. 阿里云 Aliplayer高级功能介绍(九):自动播放体验
  4. 使用Junit的时候出现InitializationError
  5. thinkphp模板常用的方法
  6. oracle安装很慢,oracle11g安装后电脑启动很慢怎么解决
  7. mongo的‘模糊匹配’
  8. 汽车服务架构(SOA)开发设计
  9. android拼音书写格式,Android自定义带拼音音调Textview
  10. linux中标麒麟导入sql文件,中标麒麟操作系统中安装达梦数据库
  11. 怎样设置计算机安全模式,电脑怎样进入安全模式
  12. 有哪些小而美的中小厂?
  13. 3.21 华丽丽的颜色渐变工具 [原创Ps教程]
  14. A. Arena of Greed(博弈+贪心)2020 ICPC, COMPFEST 12, Indonesia Multi-Provincial Contest
  15. 递归实现全排列(python)
  16. JavaScript 动画效果
  17. LabVIEW控制Arduino实现示波器(基础篇—7)
  18. 三国志战略版S1初始赛季攻略合集 s1赛季秘籍三国志战略版新手攻略
  19. 网站建设完成后为什么百度不收录网站
  20. 大华条码秤开发之-条码格式发送

热门文章

  1. linux 帐户安全管理员权限,Linux系统账号安全控制
  2. 搭建阿里云Windows版服务器+使用宝塔安装MySQL数据库+本地Navicat访问数据库(增删改查)——详细流程
  3. freertos 怎么做超时处理_新公司开办费会计处理怎么做?如何进行税务处理?
  4. 用深信服AC控制方位话机注册链路的开、关
  5. 远距离WiFi传输模块,云望物联cv5200无线通信技术,WiFi信号远距离传输
  6. python协程的作用_python 协程
  7. 南邮-云计算技术与大数据期末考试(知识点总结一)
  8. vue引入three.js3维地图_vue-chartjs使用 Chart.js 和 Vue.js 搭建简单和漂亮的图表
  9. python垃圾语言-分享一个用python写的window清理缓存垃圾小程序
  10. Pycharm工具专业版完美破解