YY-LIN 发表于 2019-2-15 14:28:16

Centos恢复模式修复系统

背景
  最近一个客户那里的服务器远程连接不上了,系统是Centos6.7_X64,我的一位同事到现场说是iptables防火墙开启了,关闭之后重启防火墙还是会自动打开。这位同事不太懂linux,可能并没有真正关闭;最后他用yum remove iptables卸载了防火墙,结果是进不了系统。警告:此命令勿用,尤其是在Centos6上面,iptables依赖太多包。后来我跑到客户那里把问题搞定了,本文主要说明解决思路和过程。
  经过此事,我深刻理解了蝴蝶效应。
思路
  命令执行之后,单用户模式进不了,最后只能选择恢复模式。
  1. 数据先备份,然后再恢复系统。
  2. 最坏的打算就是重装系统。
  3. 重新安装卸载的包,看能否进入系统? 如何找出卸载的包?
  4. 用什么方式安装包。yum 或者 rpm包
准备工作
  Centos6.7_x64镜像、刻录系统光盘、启动U盘、移动硬盘、移动光驱。
  在虚拟机中安装系统,并执行上面的卸载命令,找出依赖的包(大约40个)。
  然后虚拟机中进入恢复模式,重装安装卸载的包,重启进入系统。
具体过程
  1、把安装光盘放入光驱,然后重新启动计算机,按服务器启动菜单快捷键,屏幕会有提示;
  或者在bios中把系统设置为光驱为第一启动。
  2、 选择光盘菜单中的Rescue installed system。
http://i2.运维网.com/images/blog/201811/19/88cf0b874c6329ea89e678fa2ad75640.jpg
  3、选择语言English(默认即可)
http://i2.运维网.com/images/blog/201811/19/0df1f01c42d565bb741903edd852778f.jpg
  4、选择键盘类型
http://i2.运维网.com/images/blog/201811/19/92a21bab6ffcc5416926c10877318b38.jpg
  5、安装网络(如果可以通外网,建议安装,可以直接用yum命令; 如果没有外网,就选择NO。)我选择了Yes。
http://i2.运维网.com/images/blog/201811/19/d112575352b1df6089012fdc3135e0da.jpg
  6、 设置网卡(我的eth0是外网口,所以选择eth0)
http://i2.运维网.com/images/blog/201811/19/6e8be5dfe0a381f0ad6d159999f092eb.jpg
  7、配置IP信息(根据自己的信息填写,如果有DHCP服务,可以选择自动获取IP)
http://i2.运维网.com/images/blog/201811/19/2bf5cf11e037d9f058b26cbc852c5325.jpg
  8、选择Continue,以读写模式挂载系统,可以对系统进行修改。
http://i2.运维网.com/images/blog/201811/19/21a6b4154150e6243ab8a7c26bcf3b39.jpg
  9、回车进入Rescue模式。
http://i2.运维网.com/images/blog/201811/19/9a20f4c4154455ed00c8d4c7b5133615.jpg
  10、启动Shell
http://i2.运维网.com/images/blog/201811/19/51d62c894d1a9b58aa8e78fa3735a330.png
  此时进入的bash#,注意:当前的根是恢复模式的根。要想进入操作系统的根请执行
  chroot /mnt/sysimage
http://i2.运维网.com/images/blog/201811/19/d146824292b83f76d7c09547cde3c352.png
  此时会进入sh# ,要重启系统还是要执行exit退回bash。
  11、备份数据,挂载移动硬盘或者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
  搞定上图
http://i2.运维网.com/images/blog/201811/19/d14c2b1a4c266ac2ffed62022d669f00.png
附录
  小妙招:Centos在出现启动界面时,按下“ESC”,会显示出详细的启动信息,有时候会卡在某个服务进不了系统,此方法可以看出具体是那个服务,然后再排查该服务有什么问题。



页: [1]
查看完整版本: Centos恢复模式修复系统