打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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。

 

3、选择语言English(默认即可)

 

4、选择键盘类型

 

5、安装网络(如果可以通外网,建议安装,可以直接用yum命令; 如果没有外网,就选择NO。)我选择了Yes。

 

6、 设置网卡(我的eth0是外网口,所以选择eth0)

 

7、配置IP信息(根据自己的信息填写,如果有DHCP服务,可以选择自动获取IP)

 

8、选择Continue,以读写模式挂载系统,可以对系统进行修改。

 

9、回车进入Rescue模式。

 

10、启动Shell

此时进入的bash#,注意:当前的根是恢复模式的根。要想进入操作系统的根请执行

chroot /mnt/sysimage

此时会进入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

搞定上图

 

附录

小妙招:Centos在出现启动界面时,按下“ESC”,会显示出详细的启动信息,有时候会卡在某个服务进不了系统,此方法可以看出具体是那个服务,然后再排查该服务有什么问题。

来源:http://www.icode9.com/content-3-82701.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
解决centos7双系统后丢失windows启动项的方法
如何在 CentOS 7 / RHEL 7 上安装 Docker_rhel7 安装docker
Linux:CentOS 7 安装MySQL5.7
从MySQL迁移到MariaDB(CentOS)
教大家在如何Centos7系统中安装JDK、Tomcat、Mysql
使用yum来安装或卸载CentOS图形界面包
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服