《LINUX學(xué)習(xí):Linux中rpm命令誤卸載了的恢復(fù)》要點(diǎn):
本文介紹了LINUX學(xué)習(xí):Linux中rpm命令誤卸載了的恢復(fù),希望對您有用。如果有疑問,可以聯(lián)系我們。
今天在搭建MySQL集群服務(wù)時(shí),安裝MySQL集群服務(wù)前,先卸載原來MySQL的軟件包,不小心將rpm的命令也給卸載掉了,這下慘了,什么也做不了了.在Google了翻了好多個(gè)頁面,甚至官網(wǎng)也看了,沒能解決我的問題,根據(jù)本人多年Linux的經(jīng)驗(yàn)以及Linux系統(tǒng)的rpm軟件包安裝特點(diǎn)的敏感,本人想出了以下的辦法,請注意:獨(dú)創(chuàng)!為做集群,這里用到了兩臺(tái)機(jī)器,下面是拓?fù)鋱D:
xiaolyu77(192.168.31.77rpm命令被卸載的機(jī)械) ? -----------> 參照 ? xiaolyu76(192.168.31.76 正常機(jī)械) .
便是一不小心將rpm的命令用rpm強(qiáng)制給卸載了.可以看到已經(jīng)不存在rpm命令了.
[root@xiaolyu77 ~]# whereis rpm
rpm: /etc/rpm /usr/lib/rpm
[root@xiaolyu76 ~]# whereis rpm
rpm: /bin/rpm /etc/rpm /usr/lib/rpm /usr/share/man/man8/rpm.8.gz
[root@xiaolyu76 ~]#
從2.中可以看到77機(jī)器上rpm命令被卸載的,連man手冊也沒有了,bin下面更是沒有.
思路:想到編譯安裝的軟件的卸載辦法是直接將安裝路徑下的文件直接刪掉即可,那么我們可不可以缺什么補(bǔ)什么呢?顯然可以啊.反過來不是一樣么.
[root@xiaolyu76 ~]# scp /bin/rpm ?root@xiaolyu77:/bin/
[root@xiaolyu76 ~]# scp /usr/share/man/man8/rpm.8.gz ?root@xiaolyu77:/usr/share/man/man8/
通過whereis命令我們看到/ur/lib/rpm這個(gè)文件或者文件夾,實(shí)際上這個(gè)就是rpm命令的安裝路徑.現(xiàn)在比擬兩臺(tái)機(jī)器下該目錄的文件是否一致:
正常機(jī)器/usr/lib/rpm目錄下的文件環(huán)境:
?
?77機(jī)械rpm被卸載的機(jī)械:
顯然通過對照發(fā)現(xiàn)有一些文件77機(jī)器上是沒有的,尤其是9個(gè)軟連接文件:
[root@xiaolyu77 rpm]# ln -s ../../bin/db_deadlock rpmdb_deadlock
[root@xiaolyu77 rpm]# ln -s ../../bin/db_archive rpmdb_archive
[root@xiaolyu77 rpm]# ln -s ../../bin/db_load rpmdb_load
[root@xiaolyu77 rpm]# ln -s ../../bin/db_dump rpmdb_dump
[root@xiaolyu77 rpm]# ln -s ../../bin/db_upgrade rpmdb_upgrade
[root@xiaolyu77 rpm]# ln -s ../../bin/db_stat rpmdb_stat
[root@xiaolyu77 rpm]# ln -s ../../bin/db_recover rpmdb_recover
[root@xiaolyu77 rpm]# ln -s ../../bin/db_printlog rpmdb_printlog
[root@xiaolyu77 rpm]# ln -s ../../bin/db_verify rpmdb_verify
驗(yàn)證一下:
[root@xiaolyu77 rpm]# rpm
[root@xiaolyu76 rpm]# scp rpmrc ?root@xiaolyu77:/usr/lib/rpm/
再次查驗(yàn):發(fā)現(xiàn)貌似成功了:
[root@xiaolyu77 rpm]# rpm
[root@xiaolyu77 ~]# rpm -qa
error: no dbpath has been set
error: cannot open Packages database in /%{_dbpath}
error: no dbpath has been set
error: cannot open Packages database in /%{_dbpath}
[root@xiaolyu76 rpm]# scp ?macros ?root@xiaolyu77:/usr/lib/rpm/
[root@xiaolyu77 ~]# updatedb
?
[root@xiaolyu77 rpm]# rpm -qa | grep rpm
完美的辦理了問題,是為記錄一下!
本文永遠(yuǎn)更新鏈接地址:
《LINUX學(xué)習(xí):Linux中rpm命令誤卸載了的恢復(fù)》是否對您有啟發(fā),歡迎查看更多與《LINUX學(xué)習(xí):Linux中rpm命令誤卸載了的恢復(fù)》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/10568.html