常见linux系统故障及解决方法

上传人:第*** 文档编号:30589413 上传时间:2018-01-30 格式:DOC 页数:14 大小:653.50KB
返回 下载 相关 举报
常见linux系统故障及解决方法_第1页
第1页 / 共14页
常见linux系统故障及解决方法_第2页
第2页 / 共14页
常见linux系统故障及解决方法_第3页
第3页 / 共14页
常见linux系统故障及解决方法_第4页
第4页 / 共14页
常见linux系统故障及解决方法_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《常见linux系统故障及解决方法》由会员分享,可在线阅读,更多相关《常见linux系统故障及解决方法(14页珍藏版)》请在金锄头文库上搜索。

1、浅谈 linux 系统下常见的故障与处理方法与 windows 系统一样,linux 操作系统也会存在很多问题和故障,很多 linux 新手都害怕故障,面对出现的问题显得无可奈何,更有甚者,由此放弃了 linux,其实,我们不应该惧怕问题,学习就是一个发现问题与解决问题的过程,只要掌握了解决问题的基本思路,一切故障都会迎刃而解,当然前提是我们已经具备了解决问题的思路和扎实的知识功底。一、处理 linux 系统故障的思路作为一名合格的 linux 系统管理员,一定要有一套清晰、明确的解决故障思路,当问题出现时,才能迅速定位、解决问题,这里给出一个处理问题的一般思路: 重视报错提示信息:每个错误的

2、出现,都是给出错误提示信息,一般情况下这个提示基本定位了问题的所在,因此一定要重视这个报错信息,如果对这些错误信息视而不见,问题永远得不到解决。 查阅日志文件:有时候报错信息只是给出了问题的表面现象,要想更深入的了解问题,必须查看相应的日志文件,而日志文件又分为系统日志文件(/var/log)和应用的日志文件,结合这两个日志文件,一般就能定位问题所在。 分析、定位问题:这个过程是比较复杂的,根据报错信息,结合日志文件,同时还要考虑其它相关情况,最终找到引起问题的原因。 解决问题:找到了问题出现的原因,解决问题就是很简单的事情了。从这个流程可以看出,解决问题的过程就是分析、查找问题的过程,一旦确

3、定问题产生的原因,故障也就随之解决了。二、 忘记 linux root 密码这个问题出现的几率是很高的,不过,在 linux 下解决这个问题也很简单,只需重启 linux 系统,然后引导进入 linux 的单用户模式( init 1) ,由于单用户模式是不需要输入登录密码的,因此,可以直接登录系统,修改 root 密码即可解决问题。下面是详细的处理方法,这里我们以 Redhat linux 为基准,操作步骤如下:(1) 重启系统,待 linux 系统启动到 grub 引导菜单时,找到当前系统引导选项(可以按方向键展开隐藏的菜单,单处理器只有一个引导项,多处理器有3个或3 个以上引导项,一般默认

4、选项就是系统当前引导选项) 。(2) 通过方向键将光标放到当前系统引导项上,然后按键盘字母“e”,进入编辑状态。(3) 然后通过上下键,选中带有 kernel 指令的一行,继续按键盘字母“e”,编辑该行,在行末尾加个空格,然后添加 single,类似与这样:kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet single(4) 修改完成,按回车键,返回到刚才的界面。(5) 最后按键盘“b”,系统开始引导。这样系统就启动到了单用户模式下,这里的单用户根 windows 下的安全模式类似,在单用户模式下,只是启动最基本的系统,网络以及应用

5、服务均不启动。单用户模式启动完毕,系统会自动进入到命令行状态下,类似与“sh-3.1#”,然后直接执行 passwd,回车,系统会提示输入新的 root 密码两次,最后会看到修改密码成功的提示,这样就完成了 root 密码的修改。如果需要正常启动系统,现在只需输入“init 3”,就进入了多用户模式。用 root 用户重新登录系统,看看设置的新密码是否生效。三 linux 系统无法启动的解决办法导致 linux 无法启动的原因有很多,常见的原因有如下几种: 文件系统配置不当,比如/etc/inittab 文件、/etc/fstab 文件等配置错误或丢失,导致系统错误,无法启动。 非法关机,导致

6、 root 文件系统破坏,也就是 linux 根分区破坏,系统无法正常启动 Linux 内核崩溃,从而无法启动 系统引导程序出现问题,比如 grub 丢失或者损坏,导致系统无法引导启动。 硬件故障,比如主板、电源、硬盘等出现问题,导致 linux 无法启动。从这些常见的故障可知,导致系统无法启动的主要有两个问题,硬件原因和操作系统原因,对于硬件出现的问题,只需通过更换硬件设备,即可解决,而对于操作系统出现的问题,虽然出现的问题可能千差万别,不过在多数情况下都可以用相对简单统一的一些方法来恢复系统,下面我们就针对上面提出的几个问题,结合 Redhat Linux 系统环境,给出一些常用的、普遍的

7、解决问题的方法。1/etc/fstab 文件丢失,导致系统无法启动/etc/fstab 文件存放了系统中文件系统的相关信息,如果正确的配置了该文件,那么在 linux 启动时,系统会读取此文件,自动挂载 linux 的各个分区,如果此文件配置错误,或者丢失,就会导致系统无法启动,具体的故障现象是在检测 mount partition 时出现:starting system logger此后系统启动就停止了。针对这个问题,我们的第一思路就是想办法恢复/etc/fstab 这个文件的信息,只要恢复了此文件,系统就能自动挂载每个分区,正常启动。可能很多读者首先想到的是将系统切换到单用户模式下,然后手

8、动挂载分区,最后结合系统信息,重建/etc/fstab 文件。但是这种方法是行不通的,因为 fatab 文件丢失导致 linux 无法挂载任何一个分区,即使 linux 还能切换到单用户下,那么此时的系统也只是一个 read-only 的文件系统,无法向磁盘写入任何信息。我们介绍另外一个方法,就是利用 linux rescue 修复模式登录系统,进而获取分区和挂载点信息,重构/etc/fstab 文件。这里以 rhel5为例,首先将系统第一章光盘放入光驱,设置 BOIS 从光驱启动,这样系统就从光驱引导,然后在 boot 后输入:linux rescue,如图1所示:图1设置 linux 进入

9、修复模式接着系统自动开始引导,进入图2所示画面:图2 选择语言这里是选择模式使用的语言,可以按照自己需要设定,我们这里选择“English“,然后按 tab 键,选中“ok”,回车进入下一步。下面进入的是键盘选择界面,如图3所示,这里选择默认的“us”即可。图3 选择键盘类型下面进入网络配置界面,如图4所示:图4 是否启用网络这里是选择是否启用网络,由于系统已经无法启动,我们已经在 linux 系统上进行操作了,启用网络与否都无所谓。这里选择不启用。下面到了最关键的步骤了,如图5所示,修复模式会自动将系统的所有分区挂载到/mnt/sysimage 目录下,选择“ Continue”,则修复环境

10、进入到 read-write 状态下,可以对分区进行读写操作,选择“Read-Only ”,修复环境进入到只读模式,由于我们要重建 fstab 文件到/etc 目录下,因此选择“Continue”进入可读写模式下。图5 选择修复模式的启动方式下面是一个友情提示界面,如图6所示,由于 fstab 文件丢失,修复模式找不到任何可挂载的分区,从这里可知,修复模式在这里也读取/etc/fstab 文件,回车,进入下一步。图6 无法挂载系统任何分区下面就进入了修复环境下,可以进行操作了。如图7所示图7 修复模式命令行上面详细演示了如何进入 linux 的修复模式,其实很多情况下, linux 无法启动时

11、,都可以通过这个方式登录系统进行修复和更改操作。下面是恢复/etc/fstab 文件的详细过程:首先查看一下系统分区情况,如下所示:sh-3.1# fdisk -lDisk /dev/sda: 42.9 GB, 42949672960 bytes255 heads, 63 sectors/track, 5221 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sda1 * 1 25 200781 83 Linux/dev/sda2 26 130

12、0 10241437+ 83 Linux/dev/sda3 1301 1682 3068415 83 Linux/dev/sda4 1683 5221 28427017+ 5 Extended/dev/sda5 1683 1873 1534176 83 Linux/dev/sda6 1874 2064 1534176 83 Linux/dev/sda7 2065 2255 1534176 83 Linux/dev/sda8 2256 2382 1020096 83 Linux/dev/sda9 2383 2484 819283+ 82 Linux swap / Solaris/dev/sda1

13、0 2485 5221 21984921 83 Linux因为分区并没有损坏,通过 fdisk 命令可以查看到系统分区的完整信息,但是每个分区对应的 label name信息我们还*,下面通过 e2label 命令查看每个分区对应的 label name:sh-3.1# e2label /dev/sda1/bootsh-3.1# e2label /dev/sda2/usrsh-3.1# e2label /dev/sda3/sh-3.1# e2label /dev/sda5/varsh-3.1# e2label /dev/sda6/tmpsh-3.1# e2label /dev/sda7/hom

14、esh-3.1# e2label /dev/sda8/optsh-3.1# e2label /dev/sda10/webdata这样,就得到了所有分区的挂载点信息,接下来就可以构造一个 fstab 文件了。小技巧:可以参考其它系统中 fstab 文件的格式,结合本系统的分区和挂载点信息,构造出自己的 fstab文件来。由于 fstab 文件是存放在系统根目录下的,因此需要挂载原来系统的根分区,从上面可知根分区对应的设备名为/dev/sda3,接着在修复模式创建的临时根分区下创建一个挂载点,然后挂载原来系统的根分区。操作过程如下所示:sh-3.1# pwd/sh-3.1# mkdir temps

15、h-3.1# mount /dev/sda3 /tempsh-3.1# df Filesystem 1K-blocks Used Available Use% Mounted on/dev 515644 0 515644 0% /dev/tmp/loop0 79872 79872 0 100% /mnt/runtime/dev/sda3 2972268 259916 2558932 10% /temp这样以来,原有根分区的文件全部挂载到了/temp 目录下,接着就可以创建我们需要的 fatab 文件了。sh-3.1# vi /temp/etc/fstabLABEL=/ / ext3 defau

16、lts 1 1LABEL=/boot /boot ext3 defaults 1 2LABEL=/cicro /cicro ext3 defaults 1 2devpts /dev/pts devpts gid=5,mode=620 0 0tmpfs /dev/shm tmpfs defaults 0 0LABEL=/home /home ext3 defaults 1 2LABEL=/opt /opt ext3 defaults 1 2proc /proc proc defaults 0 0sysfs /sys sysfs defaults 0 0LABEL=/tmp /tmp ext3 defaults 1 2LABEL=/usr /usr ext3 defaults 1 2LABEL=/var /var ext3 defaults 1 2LABEL=SWAP-sda9 swap swap defaults 0 0配置完毕,保存退出,然后重启系统。sh-3.1#rebo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号