【 专稿】对大多数用户来说,由于Linux操作系统的易用性和Windows操作系统相比较起来还是存在一定差别的。在Windows操作系统下,如果系统发生一些故障或问题的时候,我们经常会用一些补救的措施来进行故障的排除,相应的补救方法很多,其中不乏有不少简单易用的。然而在Linux操作系统进行故障排除的工作却要复杂得多,而且故障的发现不象在Windows操作系统那样可以及时预见,需要手工运行一些系统和网络的管理命令。下面笔者就根据自己多年维修LINUX服务器的经验就系统和网络两种类型在Linux操作系统中的常见故障诊断进行说明。希望能够帮助的读者排忧解难。

 

一、linux系统故障诊断:

    我们将按照系统启动顺序为大家介绍LINUX下的故障排除方法。

    1、linux系统启动故障:这是在Linux操作系统中经常会遇到的问题。系统不能启动的原因主要有——在安装Linux操作系统的过程中,LILO配置信息错误,导致安装完毕后,系统不能正常启动;重新安装其他的操作系统,也经常会导致原来的Linux不能启动。因为这些新安装的操作系统默认在计算机中没有其他的操作系统,因而改写了硬盘的主引导记录(MBR),覆盖了Linux操作系统中的LILO系统引导程序,致使最后无法启动LILO。在操作Linux操作系统过程中,由于运行了错误的Linux命令,使系统重新启动时出现异常。

    如果在Linux操作系统安装过程中或安装过程后,制作了Linux系统的急救启动盘组,使用这些急救盘启动系统即可进入系统,然后对相应错误进行配置即可解决问题:如果没有制作急救启动盘组,Linux系统不能启动,该怎么办呢?下面介绍三种解决方法。

    (1)进入Linux操作系统单用户模式,在boot提示符后,输入linux single,在此模式下启动Linux,LILO配置和网络配置信息不加载在启动过程中。

    (2)光盘启动,用第一张安装Linux操作系统的光盘(启动光盘)启动硬盘的Linux系统,主板BIOS里要设置成光盘启动,重启机器后,出现boot:提示符后键入:

    vmlinuz toot=/dev/linuxrootpartition

    其中,root=后面填入Linux root分区的分区号,也就是Linux系统的root文件系统所在的硬盘分区位置,例如:vmlinuz root=/dev/hda3 noinitrd。按回车键之后,即可进入Linux系统。如果想恢复被破坏的LILO 系统引导程序,可以在编辑/etc/lilo.config之后,运行/sbin/lilo即可。这种方法也适合其他原因对Linux操作系统造成的破坏。

    小提示:上面介绍了通过光盘启动的方法,当然软盘启动操作系统的过程与步骤是一样的。

    (3)在DOS下运行loadlin程序启动系统。在个人计算机使用Linux系统时,通常都是Linux和Windows 9x或Windows 2000并存的。如果知道Linux系统在硬盘上的确切安装分区,并且有loadlin程序(在Red hat Linux光盘的dosutil目录下就有这个程序),也可以启动Linux系统。Loadlin是DOS系统下的程序,运行它可以从DOS系统下直接启动Linux系统,快速进入Linux环境。除loadlin程序之外,还需要一个Linux启动内核的映象文件vmlinuz,在Red Hat linux光盘的p_w_picpaths目录下有这个文件。例如,如果在Windows 2000系统下面,进入DOS的命令模式,然后运行下述的loadlin命令,即可重新进入Linux系统:

    loadlin vmlinuz root=/dev/linuxrootpartition

    命令执行后,就开始引导Linux系统。用root身份登录后,编辑/etc/lilo.config之后,运行/sbin/lilo即可,这样操作后则重新将LILO系统引导程序装入MBR。

    上面介绍的三种方法比较起来还是第一种LILO配置法比较简单实用,第二种需要光盘的支持,而第三种操作起来相对繁琐。

    2、linux文件系统故障: 在Linux操作系统中,这也是一种经常会遇到的故障。由于系统不正常关机,或突然掉电等原因引起文件系统被破坏。当文件系统被破坏时,可以使用相应的fsck命令进行文件系统的修复。例如下面的命令:fsck  /dev/hda5。
   
    小提示:关于fsck命令具有参数的使用方法,可以参阅linux的参考手册。如果使用的是ext2fs类型的文件系统,就可从软盘运行e2fsck命令来修正文件系统中被损坏的数据。

    但是有一点要注意:如果文件系统被破坏的原因是超级块被损坏,超级块是文件系统的“头部”,它包含文件系统的状态、尺寸和空闲磁盘块等信息。如果损坏乐意个文件系统的超级快(例如不小心直接将数据写到了文件系统的超级快分区中),那么Linux可能会完全不识别该文件系统,即使采用fsck或e2fsck命令也不能修复它了。这时候,只有到安装光盘中看看有没有对应的文件系统,将此文件覆盖原操作系统被破坏的文件来恢复了。如果不小心删除了系统中重要的文件,也可采用这种方法来试试。

    3、linux函数库故障:  在Linux操作系统中,如果不慎将系统中的函数库文件破坏,或者破坏了/lib目录下符号链接,那么将导致依赖这些库的命令无法执行。这也是比较常见的系统故障。
    最简单的解决办法是用急救启动盘组启动系统,在/mnt目录上安装硬盘文件系统,然后修复/mnt/lib目录下的库。

    4、linux登录系统故障: 由于管理员忘记密码,或者由于系统受到***的***导致系统密码文件被修改。导致管理员可能无法用帐号登录系统。

    具体解决方法如下:

    (1)在系统启动时,进入单用户模式(Linux Single),然后用passwd命令重新设置密码,或修改密码文件借口恢复正常。
    (2)用急救启动盘组启动系统,然后将硬盘的文件系统安装到/mnt目录下,编辑/mnt/etc/passwd文件进行恢复。
    (3)将安装系统的硬盘拆下来,放在另一个Linux系统中,然后挂载此硬盘的系统安装区,将次硬盘分区中的/etc/passwd、/etc/shadow、/etc/group文件覆盖或修改,也可以恢复。

    5、linux系统的KDE环境故障:如果Linux系统的KDE环境无法正常启动,例如以普通帐号运行startx命令后,出现:“……can not start X server. Perhaps you do not have console ownership?”类似的提示。出现这种提示的原因是可能别的用户曾经运行KDE环境,并在系统中留下标示此用户的缓存文件。
    运行如下命令:
    rm  -rf/tmp/*
    然后,重新运行startx命令即可进入KDE环境。

    如果以普通帐号运行startx命令后,出现“can not start X server”的错误提示,并且不断地有报错提示的英文字符伤上翻滚,导致无法进入KDE环境。出现这种情况,可能是由于对Linux系统的不正常关机,导致了不能进入Linux的KDE 环境。

    在控制台下以root身份登录,键入setup命令,出现系统设置菜单,选择其中的“X窗口设置”,然后依照提示正确设置显示器的类型、刷新频率、显存大小和分辨率等。这样将系统中的X 窗口重新设置一遍。

    如果没有报错,系统会自动启动KDE环境,需要注意的一点是:在用setup命令进行设置时,可能还会有大量的英文字符在屏幕上翻滚,这是不要紧,请继续看清屏幕,使用Tab键或方向键进行上面的配置,配置无误后,会立刻恢复KDE环境的。
二、网络故障诊断

    既然是服务器,那么linux系统已经要连接到网络才能发挥他的效果和能量。所以说在实际工作中linux系统的网络故障也是急需排除的。

    1、无法ping通LINUX服务器: 当在Linux系统中IP地址无法Ping通时,主要原因是由于网络信息配置的错误导致的。

    具体解决方法介绍如下:

    (1)使用ifconfig命令重新配置网卡地址,命令行如下:
    $ifconfig eht0192.168.1.2 netmask 255.255.255.0
    $ifdown eth0
    $ifup eth0
    然后用Ping命令,就可以Ping通IP地址192.168.1.2了。

    (2)修改系统中的网络配置文件也可以到到上面的目的,建议使用这种方法,这样的操作更加可靠。
    进入网络配置文件所在的目录:
    $cd/etc/sysconfig/network-scripts
    $1s
    ifcfg-eth0 ifdown-ipv6  ifdown-sit  ifup-aliases  ifup-plip  ifup-ppp  ifup-sl
    ifcfg-1o   ifdown-post   ifdown-sl   ifup-ipv6   ifup-plusb   ifup-routes  network-functions
    ifdown   ifdown-ppp  ifup   ifup-ipx   ifup-post   ifup-sit   network-functions-ipv6
    用vi命令修改ifcfg-eth0文件中下面的一行即可,例如:
    IPADDR=192.168.1.2
    其中192.168.1.2是所要修改或重新配置的地址,配置完毕后,重新启动机器就可以使IP地址的改动生效。
  
    2、本机无法访问外部网络:如果在Linux操作系统中无法访问外部,例如Ping公网的IP地址不通,而Ping自己机器的地址可以通,一般原因是网关信息没有配置正确。

    解决方法如下:

    采用上面的第二种方法(直接修改网关配置文件)可以快速解决问题,操作步骤如下,进入网关配置文件所在目录:
    $cd/etc/sysconfig
    $1s
    apmd   authconfig   clock.OLD   gpm   i18n   keyboard   network   provider
    sendmail   apm-scripts   cdq   console   harddisks   identd   kudzu
    用vi命令修改此目录下network文件中下面的一行即可,例如:
    GATEWAY=192.168.1.1
    其中192.168.1.1是所要修改或重新配置的网关地址,配置完毕后,重新启动机器就可以使网关地址的改动生效。

    3、DNS域名解析故障:如果在Linux系统中无法进行域名解析,最可能的原因是没有在本地指定有效的域名服务器,这种情况比较常见。

    解决办法如下:

    一般修改和域名服务相关的文件如/etc/hosts或/etc/resolv.conf,在这些文件中添加有效的域名服务器的IP地址就可以解决。如果判断不是本地域名解析的问题,例如在本地可以解析公司域名,但外面的客户无法正常解析公司域名,则需要和域名注册服务提供商联系,一起解决问题。因为此种情况的发生,可能是公司系统中的IP地址和注册的域名不对应的原因造成的。
   
总结:

    至此笔者就为各位读者介绍了最常见的LINUX故障排除方法,当然由于篇幅原因,关于Linux系统中常见故障及问题也只能点到为止。其实常见的错误及解决办法还有很多,在这里介绍的知识涉及了一些大家常会遇到的部分,希望对大家有所帮助。