??博主簡介
????云計算領(lǐng)域優(yōu)質(zhì)創(chuàng)作者
????華為云開發(fā)者社區(qū)專家博主
????阿里云開發(fā)者社區(qū)專家博主
??交流社區(qū):運維交流社區(qū) 歡迎大家的加入!
問題復現(xiàn)
[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)上拉過來。
- 在沒問題的服務器上執(zhí)行(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
現(xiàn)在可以看到兩邊命令路徑都補全了,再次使用rpm運行一下,結(jié)果還是不行。
將rpmrc文件從沒問題的環(huán)境(210)復制過來
- 在沒問題的服務器上執(zhí)行(210)
[root@localhost ~]# scp /usr/lib/rpm/rpmrc root@172.16.11.209:/usr/lib/rpm/
復制過去之后,再次執(zhí)行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}
又出現(xiàn)一個報錯,我們來繼續(xù)解決。
出現(xiàn)這個問題:我們可以將沒有問題的服務器中的 macros 文件復制過去
- 在沒問題的服務器上執(zhí)行(210)
[root@localhost ~]# scp /usr/lib/rpm/macros root@172.16.11.209:/usr/lib/rpm/
復制過去之后,再次執(zhí)行,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
吼,發(fā)現(xiàn)成功了。那么問題就解決了。文章來源:http://www.zghlxwxcb.cn/news/detail-480744.html
問題解決
再次提醒大家一定要認真,認真,在認真;文章來源地址http://www.zghlxwxcb.cn/news/detail-480744.html
到了這里,關(guān)于【Linux】中不小心誤卸載了rpm命令如何恢復?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!