最近一個客戶那裏的服務器遠程鏈接不上了,系統是Centos6.7_X64,個人一位同事到現場說是iptables防火牆開啓了,關閉以後重啓防火牆仍是會自動打開。這位同事不太懂linux,可能並無真正關閉;最後他用yum remove iptables卸載了防火牆,結果是進不了系統。警告:此命令勿用,尤爲是在Centos6上面,iptables依賴太多包。後來我跑到客戶那裏把問題搞定了,本文主要說明解決思路和過程。linux
通過此事,我深入理解了蝴蝶效應。ios
命令執行以後,單用戶模式進不了,最後只能選擇恢復模式。bash
1. 數據先備份,而後再恢復系統。服務器
2. 最壞的打算就是重裝系統。網絡
3. 從新安裝卸載的包,看可否進入系統? 如何找出卸載的包?app
4. 用什麼方式安裝包。yum 或者 rpm包ssh
Centos6.7_x64鏡像、刻錄系統光盤、啓動U盤、移動硬盤、移動光驅。ide
在虛擬機中安裝系統,並執行上面的卸載命令,找出依賴的包(大約40個)。post
而後虛擬機中進入恢復模式,重裝安裝卸載的包,重啓進入系統。spa
一、把安裝光盤放入光驅,而後從新啓動計算機,按服務器啓動菜單快捷鍵,屏幕會有提示;
或者在bios中把系統設置爲光驅爲第一啓動。
二、 選擇光盤菜單中的Rescue installed system。
三、選擇語言English(默認便可)
四、選擇鍵盤類型
五、安裝網絡(若是能夠通外網,建議安裝,能夠直接用yum命令; 若是沒有外網,就選擇NO。)我選擇了Yes。
六、 設置網卡(個人eth0是外網口,因此選擇eth0)
七、配置IP信息(根據本身的信息填寫,若是有DHCP服務,能夠選擇自動獲取IP)
八、選擇Continue,以讀寫模式掛載系統,能夠對系統進行修改。
九、回車進入Rescue模式。
十、啓動Shell
此時進入的bash#,注意:當前的根是恢復模式的根。要想進入操做系統的根請執行
chroot /mnt/sysimage
此時會進入sh# ,要重啓系統仍是要執行exit退回bash。
十一、備份數據,掛載移動硬盤或者U盤。
fat32是能夠直接掛載的。
NTFS 須要安裝一個ntfs-3g包,下面是其官網,請自行下載
https://www.tuxera.com/community/open-source-ntfs-3g/
以NTFS舉例:
tar –zxvf ntfs-3g_ntfsprogs-2017.3.23.tgz
cd ntfs-3g_ntfsprogs-2017.3.23 && ./configure && make && make install
mkdir –p /mnt/backup
mount -t ntfs-3g /dev/sdb1 /mnt/backup
根據本身須要備份數據。
12. 安裝依賴包
yum install libtool device-mapper-multipath-* \
lvm2-* \
system-config-firewall-base-* \
lvm2-libs-* \
device-mapper-event-* \
mdadm-* \
openssh-server-* \
cronie-anacron-* \
crontabs-* \
cronie-* \
b43-openfwwf-* \
dracut-kernel-004-* \
dracut-004-* \
plymouth-* \
2:postfix-* \
cyrus-sasl-* \
libdrm-* \
kbd-* \
rsyslog-* \
device-mapper-event-libs-* \
iptables-ipv6-* \
device-mapper-multipath-libs-* \
kpartx-* \
cryptsetup-luks-* \
cryptsetup-luks-libs-* \
device-mapper-* \
device-mapper-libs-* \
fuse-* \
openssh-clients-* \
openssh-* \
iscsi-initiator-utils-* \
12:dhclient-* \
iproute-* \
iptables-* \
policycoreutils-* \
util-linux-ng-* \
iputils-20071127-* \
udev-147-* \
initscripts-*
最後執行exit
重啓系統reboot
進入系統關閉防火牆
chkconfig iptables off
chkconfig ip6tables off
搞定上圖
小妙招:Centos在出現啓動界面時,按下「ESC」,會顯示出詳細的啓動信息,有時候會卡在某個服務進不了系統,此方法能夠看出具體是那個服務,而後再排查該服務有什麼問題。