linux数据库重建,如何在CentOS中重建损坏的RPM数据库
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数据库相关推荐
- 如何在UE5中重建哥特式建筑场景?
今天给大家分享如何在UE5中重建哥特式建筑场景?一起来看下吧! 1.介绍 哥特式建筑是我最喜欢的风格之一,所以就想用模组化构建一个哥特风格场景,闲言少叙,直接上图! 本次教程会从找参考到制作模组.纹理 ...
- Linux教程:如何在CentOS或者RHEL上启用Nux Dextop仓库
Linux教程:如何在CentOS或者RHEL上启用Nux Dextop仓库 Linux教程:如何在CentOS或者RHEL上启用Nux Dextop仓库 [日期:2014-09-24] 来源:Lin ...
- 教你如何在 elasticsearch 中重建索引
序言 Elasticsearch 是一个实时的分布式搜索分析引擎.Teambition 使用 Elastisearch 作为搜索引擎,为用户提供搜索服务,当我们决定存储某种数据时,我们需要使用PUT ...
- 如何在centos中找到安装mysql_如何在CentOS 7上安装MySQL
随着CentOS 7 MySQL的发布,全球最受欢迎的开源关系数据库管理系统在CentOS的存储库中不再可用,而且MariaDB已成为默认的数据库系统. MariaDB是MySQL的向后兼容,二进制插 ...
- linux安装joomla,如何在CentOS 7上安装Joomla
如何在CentOS 7上安装Joomla 版本1.0 作者:Srijan Kishore 本文档介绍了如何在CentOS 7上安装和配置Joomla.Joomla是一款非常受欢迎的获奖开源内容管理系统 ...
- linux nslookup命令安装,在CentOS中安装nslookup命令
域名查询工具nslookup并不是Win系统的专利,Linux系统中也可以使用,不过要安装,默认没有. 在CentOS中安装nslookup命令: $ sudo yum install bind-ut ...
- centos root密码_如何在CentOS中恢复丢失的root密码
centos root密码 In Linux, when you forget your account password, you can easily reset it using a root ...
- wordpress 数据库_如何在WordPress中创建视频库(逐步)
wordpress 数据库 Recently, a user asked us how to create a video gallery in WordPress. WordPress makes ...
- 如何在centos中完全彻底卸载mysql
CentOS 下如何完全卸载MySQL?解决卸载不干净的问题 系统:CentOS 6.5,MySQL:MySql 5.6 这里主要解决使用rpm安装的卸载问题,安装方法见:CentOS安装MySQL* ...
最新文章
- Android移动开发之【通往安卓的神奇之旅】Android的五大布局和AndroidManifest
- mybaits三:全局配置文件(全面)
- SpringBoot中的Quartz应用
- Linux .bin安装文件制作
- 【视频】vue表单提交
- 【转】C#调用ADOX创建Access数据文件后关闭连接
- C#语法精髓之常用的操作符
- oracle建立表语句 主键,oracle 创建表sql语句,主键,自增长
- likely,unlikely宏与GCC内建函数__builtin_expect()
- SQL Server 和 HSQLDB 中使用 merge into 完成 saveOrUpdate
- mysql数据恢复(根据.ibd文件恢复数据)
- 联想g510拆键盘的简单方法_联想G510重点笔记本拆机教程.doc
- Digispark ATtiny85配合Prismatik软件DIY屏幕流光溢彩效果(见坑填坑)
- 《三》减小 HTTP 响应的大小
- SwiftUI的多列列表
- Spring/SpringBoot学习中遇到的问题记录(2):java.lang.ClassNotFoundException:org.apache.jsp.WEB_002dINF.views.xx
- Java解析OpenDrive,OpenDrive格式解析
- 小程序点击video暂停/开始
- 抖音商家发货超时处罚规则,特殊情况及申诉要求是什么丨国仁猫哥
- 2021年度软件工程师薪酬报告