大約3分鐘讀完
1茅茂、前因
某服務(wù)器管理員升級(jí)openssh過(guò)程中導(dǎo)致無(wú)法ssh連接上服務(wù)器苍匆。這下子好了不能遠(yuǎn)程連接服務(wù)器朋魔,該管理員問(wèn)我這下子怎么辦券敌?那只能找到運(yùn)維大哥在VMware管理平臺(tái)上直接連接唾戚,在終端下進(jìn)行恢復(fù)的操作(該管理員操作前未聯(lián)系運(yùn)維大哥進(jìn)行快照,所以出了問(wèn)題又不能用快照恢復(fù)待诅,只能強(qiáng)行懟好叹坦,別無(wú)他法)。
2卑雁、入坑
這時(shí)候該管理員找到我募书,問(wèn)我這個(gè)要怎么解決,按照常規(guī)思路测蹲,根據(jù)執(zhí)行命令顯示相關(guān)錯(cuò)誤信息進(jìn)行百度谷歌莹捡,這個(gè)時(shí)候我就開(kāi)始陷入一個(gè)大坑了,我還沒(méi)發(fā)覺(jué)到扣甲!可是網(wǎng)上的答案都是要手動(dòng)編譯安裝相關(guān)包篮赢。這個(gè)就花時(shí)間了,處理起各種依賴會(huì)讓人頭大!這是想到了用yum去安裝openssh启泣,然而yum 也報(bào)錯(cuò)了涣脚,心想這是干了啥,為啥yum命令也用不了寥茫,根據(jù)相關(guān)錯(cuò)誤信息百度得知遣蚀,python模塊的問(wèn)題,為啥會(huì)跟python扯上關(guān)系纱耻?妙同??好吧好吧膝迎,那就去配置下python版本唄粥帚,根據(jù)教程配置好,發(fā)現(xiàn)還是出現(xiàn)這個(gè)錯(cuò)誤提示限次!于是想著是不是yum的原因芒涡,那就去安裝個(gè)yum唄,查看安裝的yum卖漫,rpm -qa | grep yum
费尽,卸載yum逃默,rpm -e --nodeps yum
痹换,
2.1艺智、 安裝yum
下載安裝依賴包 python python-iniparse
下載地址:http://mirrors.163.com/centos/7/os/x86_64/Packages/
找到對(duì)應(yīng)的包:python python-iniparse
下載好后使用命令進(jìn)行安裝(這里也是個(gè)坑坯台,wget命令也無(wú)法使用了肖抱,只能拜托運(yùn)維大哥弄個(gè)文件共享逆巍,然后去訪問(wèn)共享復(fù)制到該服務(wù)器上)
rpm -ivh python-2.7.5-58.el7.x86_64.rpm python-iniparse-0.4-9.el7.noarch.rpm
rpm -ivh --nodeps --force yum-*
安裝好了應(yīng)該沒(méi)問(wèn)題了吧县貌!啊哦抖拴,現(xiàn)實(shí)很殘酷還是同樣的出錯(cuò)匀油!這個(gè)時(shí)候感覺(jué)思路肯定就是有問(wèn)題了缘缚,需要靜靜,就說(shuō)這個(gè)問(wèn)題先放一放敌蚜,先去忙其他事桥滨,后續(xù)繼續(xù)解決這個(gè)問(wèn)題!
2.2弛车、 峰回路轉(zhuǎn)
幾天后齐媒,腦海里又浮現(xiàn)出這個(gè)問(wèn)題,想著問(wèn)下該管理員情況怎么樣了纷跛,得到回復(fù)還是沒(méi)有解決這個(gè)問(wèn)題喻括,她說(shuō)這幾天這個(gè)問(wèn)題一直沒(méi)有處理好,導(dǎo)致心情很不爽忽舟,做其他事都不開(kāi)心了双妨,這個(gè)時(shí)候不知道怎么搞的淮阐,感覺(jué)腦回路特順溜,就問(wèn)她刁品,你到底是干了啥泣特,你把你執(zhí)行的相關(guān)命令整理成一個(gè)文檔發(fā)給我,我研究研究挑随!果然一看状您,問(wèn)題有點(diǎn)大!
天吶兜挨!膏孟,直接刪除了openssh跟少敲了一個(gè)字母,不但把openssh給刪除了拌汇,還是把openssl也給刪了柒桑!這下子之前的一大堆疑問(wèn)全部都清晰了!原來(lái)刪除了openssl會(huì)導(dǎo)致Linux系統(tǒng)很多命令都不能使用噪舀,這下子就很清晰了魁淳, 去安裝個(gè)openssl應(yīng)該就能解決了。為了證明我的想法与倡,于是用虛擬機(jī)搭建了一個(gè)環(huán)境開(kāi)始折騰界逛。
3、搭建一個(gè)本地環(huán)境復(fù)現(xiàn)(這里不討論安裝centos過(guò)程)
4纺座、找出原因
復(fù)現(xiàn)情況完全一致息拜,得出原因 是由于敲錯(cuò)命令刪除了openssl,導(dǎo)致了此次事件發(fā)生
rpm -e --nodeps `rpm -qa|grep openss`
原來(lái)openssl對(duì)linux系統(tǒng)這么重要净响,刪了OpenSSL會(huì)使很多系統(tǒng)的命令都不能用少欺,例如wget、ping别惦、yum等
5狈茉、安裝GCC各種依賴包
這里也是有個(gè)坑夫椭,之前準(zhǔn)備編譯安裝openssl的掸掸,但是沒(méi)有安裝GCC,離線安裝gcc需要安裝一些依賴包
通過(guò)百度得知安裝gcc必須這三個(gè)依賴包gmp蹭秋、mpfr扰付、mpc(從上面網(wǎng)易這個(gè)鏡像地址下載)
安裝 gmp
安裝mpfr
提示需要安裝mpfr,那就下復(fù)制一個(gè)過(guò)來(lái)裝唄
安裝mpc
提示需要安裝libmpc,那就裝唄
終于搞定了仁讨,準(zhǔn)備安裝gcc
安裝gcc
額羽莺,提示缺少cpp跟 glibc-headers,那就裝唄
再次安裝gcc 使用命令
rpm -ivh gcc-4.8.5-16.el7.x86_64.rpm
還缺少這個(gè)兩個(gè)依賴,那就繼續(xù)安裝唄
rpm -ivh cpp-4.8.5-16.el7.x86_64.rpm
rpm -ivh glibc-devel-2.17-196.el7.x86_64.rpm
媽也洞豁,終于安裝成功了gcc盐固。
終于裝好了GCC荒给!
然后就在這個(gè)時(shí)候,腦子突然就覺(jué)得自己之前瓦特了刁卜,openssl應(yīng)該也能通過(guò)RPM包安裝啊志电,為什么要用編譯安裝嘞?蛔趴?挑辆?
這里就當(dāng)熟悉下離線安裝Linux的包了(強(qiáng)行給自己下臺(tái)階)
6、安裝openssl(其實(shí)只要安裝這個(gè)兩個(gè)包就能解決該問(wèn)題)
提示缺少openssl-libs
安裝openssl-libs
OK 安裝成功孝情!
這個(gè)時(shí)候yum也能用了鱼蝉,那就用yum來(lái)安裝openssh咯!
7箫荡、安裝openssh
yum update
yum install openssh-server
提示是安裝好了openssh服務(wù)端魁亦,但是ssh服務(wù)起不來(lái),根據(jù)報(bào)錯(cuò)提示羔挡,提示啥key的吉挣,想著應(yīng)該是之前ssh目錄里留下了一些文件,cd /etc/ssh目錄下果然有一堆其他亂七八糟的文件婉弹,那我就把這些文件都保存到其他的目錄下 然后卸載了openssh 睬魂,重新安裝下,果然 成功啟動(dòng)ssh镀赌,然后使用ssh 客戶端去連接該服務(wù)器氯哮,終于可以連接上了,這個(gè)時(shí)候商佛,這妹子終于開(kāi)心的笑了喉钢!
8、懷疑人生
了解全面良姆,一定要多方面的去了解一件事肠虽,這樣子才能準(zhǔn)確找到問(wèn)題所在。
做的更多玛追,做的比安排的任務(wù)更多税课,這樣子收獲才會(huì)更多。
做的更好痊剖,方法那么多韩玩,總能找到最好最快的方法。(這里就裝了逼陆馁,這妹子折騰了好幾天找颓,我就幾條命令就解決了問(wèn)題,然而裝逼的背后是不斷的嘗試)叮贩。
文章同時(shí)也會(huì)在我的博客 0ne0ne.com同步更新击狮。