热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux常见故障诊断说明

Linux常见故障诊断说明--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
  对大多数用户来说,由于 Linux 操作系统的易用性和 Windows 操作系统相比较起来还是存在一定差别的。在 Windows 操作系统下,如果系统发生一些故障或问题的时候,我们经常会用一些补救的措施来进行故障的排除,这些方法很多,而且简单易用。但是,这种在Linux操作系统进行故障排除的工作却要复杂一些,而且故障的发现不像在Windows操作系统那样可以及时预见,需要手工运行一些系统和网络的管理命令。下面,就对系统和网络两种类型在Linux操作系统中的常见故障诊断进行说明。

  系统故障诊断

  1.启动故障
  这是在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 root=/dev/linuxrootpartition noinitrd

  其中,root=后面填入您的Linux root分区的分区号,也就是Linux系统的root文件系统所在的硬盘分区位置,例如:vmlinuz root=/dev/hda3 noinitrd。回车之后,即可进Linux系统。如果想恢复被破坏的LILO系统引导程序,可以编辑/etc/lilo.conf 之后, 运行/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光盘的 images目录下有这个文件。例如,如果在Windows 2000系统下面,进入DOS的命令模式,然后运行下述的loadlin命令,即可重新进入Linux系统:

  loadlin vmlinuz root=/dev/linuxrootpartition

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

  2.文件系统故障
  在Linux操作系统中,这也是一种经常会遇到的故障。由于系统不正常关机,或突然掉电等原因引起文件系统被破坏。

  解决方法:
  当文件系统被破坏时,可以使用相应的fsck命令进行文件系统的修复。例如下面的命令:

  fsck /dev/hda5

  关于fsck命令具体参数的使用方法,可以参阅MAN参考手册。如果使用的是ext2fs类型的文件系统,就可从软盘运行e2fsck命令来修正文件系统中被损坏的数据。

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

  3.函数库故障
  在Linux操作系统中,如果不慎将系统中的函数库文件破坏,或者破坏了/lib目录下符号链接,那么将导致依赖这些库的命令无法执行。这也是比较常见的系统故障。

  解决方法:
  最简单的解决办法是用急救启动盘组启动系统,在/mnt目录中安装硬盘文件系统,然后修复/mnt/lib目录下的库。

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

解决方法:
方法一,在系统启动时,进入单用户模式(linux single),然后用passwd命令重新设置密码,或修改密码文件即可恢复正常。

方法二,用急救启动盘组启动系统,然后将硬盘的文件系统安装到/mnt目录下,编辑/mnt/etc/passwd文件进行恢复。

方法三、将安装系统的硬盘拆下来,放在另一个Linux系统中,然后(mount)挂载此硬盘的系统安装区,将次硬盘分区中的/etc/passwd, /etc/shadow,/etc/group文件覆盖或修改,也可以恢复。

5.KDE环境故障
如果Linux系统的KDE环境无法正常启动,例如以普通账号运行startx命令后,出现:“...... can not start X server. Perhaps you do not have console ownershiip? ”类似的提示。出现这种提示的原因是可能别的用户曾经运行过KDE环境,并在系统中留下标示此用户的缓存文件。

解决方法:
运行如下命令:
rm -rf /tmp/*

  然后,重新运行startx 命令即可进入KDE环境。

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

  解决方法:
在控制台下以root身份登陆,键入setup命令,出现系统设置菜单,选择其中的“X窗口设置”,然后依照提示正确设置显示器的类型、刷新频率、显存大小、分辨率等。这样将系统中的X窗口重新设置一遍,如果没有报错,系统会自动启动KDE环境,可能需要注意的一点是:在用setup命令进行设置时,可能还会有大量的英文字符在屏幕上翻滚,这时不要紧,请继续看清屏幕,使用TAB键或方向键进行上面的配置,配置无误后,会立刻恢复KDE环境的。

网络故障

1.IP地址无法ping通
当在linux系统中IP地址无法ping通时,主要原因是由于网络信息配置的错误导致的。

解决方法:
(1)使用ifconfig 命令重新配置网卡地址,命令行如下:
$ ifconfig eth0 192.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
$ ls
ifcfg-eth0 ifdown-ipv6 ifdown-sit ifup-aliases ifup-plip ifup-ppp ifup-sl
ifcfg-lo 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
$ ls
apmd authconfig clock.OLD gpm i18n keyboard network provider sendmail apm-scripts cbq console harddisks identd kudzu

用vi命令修改此目录下network文件中下面的一行即可,例如:

GATEWAY=192.168.1.1

其中192.168.1.1是所要修改或重新配置的网关地址,配置完毕后,重新启动机器就可以使网关地址的改动生效。

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

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

  由于篇幅原因,关于Linux系统中常见故障及问题的介绍就到这里。其实常见的错误及解决办法还有很多,在这里介绍的只是涉及了一些大家常会遇到的部分,希望对大家有所帮助。
推荐阅读
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 我一直都有记录信息的习惯,不知是从什么时候开始,大约是在工作后不久。如今还真有点庆幸从那时开始记了点东西,当然是电子版的,写 ... [详细]
  • 与.Net大师Jeffrey Richter面对面交流——TUP对话大师系列活动回顾(多图配详细文字)...
    与.Net大师JeffreyRichter面对面交流——TUP对话大师系列活动回顾(多图配文字)上周末很有幸参加了CSDN举行的TUP活动, ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
author-avatar
吴国伟60942
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有