【Linux】中不小心误卸载了rpm命令如何恢复?

这篇具有很好参考价值的文章主要介绍了【Linux】中不小心误卸载了rpm命令如何恢复?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Linux】中不小心误卸载了rpm命令如何恢复?

🍁博主简介

  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!

问题复现

[root@localhost openssh-8.7p1]# rpm rpm -e --nodeps $(rpm -qa |grep pam-devel)

[root@localhost openssh-8.7p1]# rpm -ivh pam-devel-1.1.8-23.el7.x86_64.rpm
-bash: /usr/bin/rpm: 没有那个文件或目录

不小心多输了一个rpm,导致rpm被强制删除了,很伤心😟!那么怎么解决呢?下面来带大家解决。

问题解决方案

准备两台机器,一台有rpm命令的,一台没有rpm命令的。

  • 查看rpm 故障 的那台机器的rpm命令路径(209)
[root@localhost ~]# whereis rpm
rpm: /usr/lib/rpm /etc/rpm
  • 查看rpm 没有故障 的哪台机器的rpm命令路径(210)
[root@localhost ~]# whereis rpm
rpm: /usr/bin/rpm /usr/lib/rpm /etc/rpm /usr/share/man/man8/rpm.8.gz

解决方案:

从210.中可以看到209机器上rpm命令被卸载的,连man手册也没有了,bin下面更是没有。

思路:想到编译安装的软件的卸载方法是直接将安装路径下的文件直接删掉即可,那么我们可不可以缺什么补什么呢?显然可以啊。反过来不是一样么。

补全 whereis rpm 缺少的文件

从没有问题的那台服务器(210)往这边(209)拷文件过来;
可以看到有问题的rpm这台服务器(209)缺少:/usr/bin/rpm、/usr/share/man/man8/rpm.8.gz 那么,将这两个文件从没有问题的服务器(210)上拉过来。

  • 在没问题的服务器上执行(210)
#从没有问题(210)的服务器上拉文件到有问题(209)的服务器上
[root@localhost ~]# scp /usr/bin/rpm root@172.16.11.209:/usr/bin/
[root@localhost ~]# scp -r /usr/share/man/man8/rpm.8.gz root@172.16.11.209:/usr/share/man/man8/

都拉过来了之后再次使用whereis看一下,两边是否都一样了

  • 查看rpm 故障 的那台机器的rpm命令路径(209)
[root@localhost ~]# whereis rpm
rpm: /usr/bin/rpm /usr/lib/rpm /etc/rpm /usr/share/man/man8/rpm.8.gz
  • 查看rpm 没有故障 的哪台机器的rpm命令路径(210)
[root@localhost ~]# whereis rpm
rpm: /usr/bin/rpm /usr/lib/rpm /etc/rpm /usr/share/man/man8/rpm.8.gz

现在可以看到两边命令路径都补全了,再次使用rpm运行一下,结果还是不行。

将rpmrc文件从没问题的环境(210)复制过来

  • 在没问题的服务器上执行(210)
[root@localhost ~]# scp /usr/lib/rpm/rpmrc root@172.16.11.209:/usr/lib/rpm/

复制过去之后,再次执行rpm命令;

[root@localhost ~]# rpm -ivh pam-1.1.8-23.el7.x86_64.rpm 
error: no dbpath has been set
error: cannot open Packages database in /%{_dbpath}
warning: pam-1.1.8-23.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: no dbpath has been set
error: cannot open Packages database in /%{_dbpath}

又出现一个报错,我们来继续解决。

出现这个问题:我们可以将没有问题的服务器中的 macros 文件复制过去

  • 在没问题的服务器上执行(210)
[root@localhost ~]# scp /usr/lib/rpm/macros root@172.16.11.209:/usr/lib/rpm/

复制过去之后,再次执行,rpm命令

[root@localhost ~]# rpm -ivh pam-1.1.8-23.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
	package pam-1.1.8-23.el7.x86_64 is already installed

[root@localhost ~]# rpm -qa  | grep pam
pam-1.1.8-23.el7.x86_64

吼,发现成功了。那么问题就解决了。

问题解决

再次提醒大家一定要认真,认真,在认真;文章来源地址https://www.toymoban.com/news/detail-480744.html

到了这里,关于【Linux】中不小心误卸载了rpm命令如何恢复?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 电脑自带的office不小心卸载掉了,怎么恢复原来的office呢?

    第一步,先找到自己的Microsoft 账户主页 如下寻找方法:开始-设置-账户-电子邮件和账户, 点击Microsoft 账户中的管理,  跳转到Microsoft 账户主页  第二步:单击服务和订阅,就可以查看到自己所拥有的office啦,单击安装(记住安装的路径) 按需选择安装    第三步:找到刚

    2024年02月11日
    浏览(25)
  • MySQL如何恢复不小心误删的数据记录(binlog)

    题主于今天(2022年11月27日) 在线上环境误操作删除了记录,且没有备份数据,通宵排查事故原因,终于没有酿成生产事故。谨以此文记录。 https://blog.csdn.net/qq_23543983/article/details/127298578 本文是对上文操作的实际补充说明。 首先确保你binlog日志是打开的。一般线上环境都会

    2024年02月07日
    浏览(56)
  • 一台电脑里不小心装了6个python,如何卸载python

    之前零零星星地安装了好多个python,3.11版本是直接在官网上下载的,3.9和3.7是在anaconda的环境下下载的,3.10是通过hombrew下载的。 看起来非常的不整洁,而且用起来也很不方便,有的程序调用的是3.11的版本,有的程序调用的是3.7的版本。一般使用python 会下载一些库,由于版

    2024年02月08日
    浏览(28)
  • 电脑硬盘磁盘不小心被格式化了?如何一键恢复操作教程

    Easyrecovery是一款功能齐全的数据恢复软件,恢复内容包括:硬盘数据恢复、手机数据恢复、U盘数据恢复、Mac数据恢复、恢复删除文件及高级数据恢复等。当用户发生数据丢失问题时,第一时间想到的就是使用数据恢复软件来恢复已经丢失的文件。在众多的数据恢复软件,较为

    2024年02月09日
    浏览(38)
  • Linux umount命令详解:如何使用umount命令卸载linux文件系统、卸载U盘、卸载软盘(附实例教程和注意事项)

    Linux umount命令用于卸除文件系统。umount可以卸除目前挂在Linux目录中的文件系统。这个命令的全称是unmount,意思是“卸载”。在Linux系统中,当我们需要对某个设备进行操作时,通常需要先将其挂载到文件系统中。当操作完成后,为了保证数据的完整性和一致性,通常会使用

    2024年02月02日
    浏览(49)
  • linux 卸载elasticsearch及安装elasticsearch8.5(rpm)

    目录 卸载elasticsearch rpm安装elasticsearch8.5 # 检查elasticsearch服务状态 # 停止elasticsearch服务状态 # 剔除elasticsearch服务 # 重载系统服务 # 查询rpm安装的elasticsearch # rpm卸载elasticsearch,elasticsearch-6.7.2-1.noarch名称 需要根据查询上一步查询结果来 # 删除残留文件 # 删除elasticsearch自定义文件

    2024年02月03日
    浏览(37)
  • Linux umount命令教程:如何安全地卸载文件系统(附实例详解和注意事项)

    umount 命令在Linux和UNIX操作系统中用于卸载已挂载的文件系统。它通过从Linux默认文件系统的挂载点删除连接,使外部设备或目录不再是Linux文件系统层次结构的一部分。这个命令确保任何正在进行的文件操作都已完成,防止数据损坏或丢失。 umount 命令在所有主流的Linux发行版

    2024年04月17日
    浏览(54)
  • linux |离线安装软件 | rpm命令

    离线 安装包管理命令 rpm 注意 如果只想安装不展示安装信息 rpm -i xxx.rpm 参考1 参考2

    2024年01月16日
    浏览(37)
  • Linux系统中rpm命令用法详解

            rpm命令来自于英文词组”RedHat Package Manager“的缩写,中文译为红帽软件包管理器,其功能是用于在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作。 语法格式: 常用参数: -a 查询所有的软件包 -b或-t 设置包装套件的完成阶段,并指定套件档的文件

    2024年02月08日
    浏览(48)
  • Linux中关于rpm管理包命令详解

    RPM软件包通常以.rpm文件扩展名结束,这些文件包含用于安装或升级软件包的二进制文件、库文件、配置文件、文档等内容 name:  软件名称 version:  版本号 (主版本号,次版本号,修正号,发布版本) arch:  适用的硬件平台,RPM支持的平台有: i386、i586、x86_64、sparc、alpha等 .rpm:  后缀包

    2024年02月02日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包