linux系统故障与分析
linux故障案例

Linux故障案例:从问题到解决在IT领域,Linux操作系统因其稳定性、安全性及开源性而受到广泛欢迎。
然而,即使是最好的系统也可能遇到问题。
以下是一个关于Linux故障的案例,以及如何解决这些问题的详细过程。
一、问题描述某公司服务器采用Red Hat Enterprise Linux (RHEL) 7.5操作系统。
最近,管理员发现服务器性能下降,应用程序响应缓慢。
此外,系统日志中存在大量与磁盘I/O相关的警告和错误信息。
二、问题分析首先,管理员检查系统资源使用情况,发现CPU和内存使用率均在正常范围内。
因此,问题可能出在磁盘I/O方面。
进一步分析系统日志,发现磁盘I/O问题的根源在于文件系统挂载选项“noauto”。
三、问题解决解决方案是将挂载选项“noauto”从文件系统挂载选项中移除。
管理员编辑了/etc/fstab文件,将涉及“noauto”选项的行注释掉或修改为正确的挂载选项。
保存文件后,管理员执行了以下命令重新挂载文件系统:四、问题验证重新挂载文件系统后,管理员检查系统性能和应用程序响应速度,发现一切恢复正常。
同时,系统日志中不再出现与磁盘I/O相关的警告和错误信息。
至此,问题得到圆满解决。
五、结论这个案例表明,对于Linux系统故障,仔细分析系统日志和资源使用情况是非常重要的。
在解决磁盘I/O问题时,管理员需要关注文件系统的挂载选项,特别是“noauto”选项的使用。
在编辑/etc/fstab文件时,务必小心谨慎,以免造成系统无法启动等严重后果。
通过适当的配置和调整,管理员可以确保Linux系统的稳定性和性能。
linux操作系统故障处理-ext4文件系统超级块损坏修复

linux操作系统故障处理-ext4⽂件系统超级块损坏修复背景前天外⾯出差⼤数据测试环境平台有7台服务器挂了,同事重启好了五台服务器,但是还有两台服务器启动不起来,第⼆天回来后我和同事再次去机房检查,发现两台服务器都显⽰superblock的报错,经过⼀番处理后两台服务器都正常进系统了,现决定重现superblock故障并将此类问题故障处理思路写下来⽅便后⾯新同事参考。
硬盘的结构硬盘的物理结构侧视图和俯视图,这两张图传递出来的⽐较重要的信息如下:磁盘划分为磁头(Head),柱⾯(Cylinder),扇区(Sector)磁头:每个磁⽚正反两⾯各有⼀个磁头,磁头固定在可移动的机械臂上,⽤于读写数据磁道:当硬盘盘⽚旋转时,磁头若保持在⼀个位置上,则磁头会在盘⽚表⾯划出⼀个圆形轨迹,这些圆形轨迹就叫做磁道,磁道由外向内从0开始编号。
柱⾯:磁⽚中半径相同的同⼼磁道(Track)构成柱⾯。
在实际应⽤中经常⽤到的磁盘分区就是⽤它作为范围划分的(重要)。
扇区:每个磁道上的⼀个弧段被成为⼀个扇区,它是硬盘的最⼩组成单元,⼀般扇区的⼤⼩是512字节。
了解了这⼏个概念就能算出⼀个分区的⼤⼩硬盘容量:磁头数*柱⾯数*扇区数*512磁盘sda的容量是: 255 * 2610 * 63 * 512 = 21467980800 ,算出的容量跟系统显⽰的基本⼀致。
[root@server1 ~]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000205e3Device Boot Start End Blocks Id System/dev/sda1 * 12620480083 LinuxPartition 1 does not end on cylinder boundary./dev/sda2 26261120765696 8e Linux LVMDisk /dev/sdb: 10.7 GB, 10737418240 bytes255 heads, 63 sectors/track, 1305 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000ext4⽂件系统由于Linux系统是多⽤户多的。
linux故障排查思路

linux故障排查思路在Linux系统中,故障排查的思路非常重要。
下面将分为三个部分,介绍Linux故障排查的思路和具体的操作。
一、告警信息分析和排查1、检查syslog日志信息在Linux系统中,syslog是一种系统日志,通过分析syslog日志信息来解决故障问题是常用的方法。
我们可以输入以下命令查看syslog日志信息。
tail -f /var/log/syslog这个命令可以帮我们实时查看最新的syslog日志信息,如果发现类似错误或警告信息,可以继续分析或跟进。
2、查看系统日志信息可以通过以下命令来查看系统的日志信息,也可以帮助我们定位和排查故障问题。
dmesg | moredmesg主要用于显示系统启动信息,如果发现类似错误或警告信息,可以继续分析或跟进。
3、查看进程信息在Linux系统中,可以通过以下命令来查看系统运行的进程信息。
ps -ef这个命令可以列出所有进程的详细信息,如果发现某个进程出现问题,可以进一步采取措施解决。
二、系统资源分析和排查1、内存首先,我们需要了解系统的内存使用情况,可以通过以下命令来查看。
free -m这个命令可以列出系统的内存使用量,如果发现内存不足,可以考虑升级内存或优化系统配置。
2、磁盘使用情况可以通过以下命令来查看系统的磁盘使用情况。
df -h这个命令可以列出系统磁盘的使用情况,如果发现磁盘空间不足,可以考虑清理无用文件或者增加磁盘存储空间。
3、CPU使用情况可以通过以下命令来查看系统的CPU使用情况。
top这个命令可以列出系统的CPU使用情况,如果发现CPU占用率过高,可以考虑优化系统配置或者采取措施解决。
三、网络状态分析和排查1、使用ping命令检查网络连接在Linux系统中,可以使用ping命令来检查网络连接是否正常,可以输入以下命令。
ping ***.*****.***如果ping不通,说明存在网络问题,需要进一步排查故障原因。
2、检查网络接口在Linux系统中,可以使用ifconfig命令来检查网卡是否正常,可以输入以下命令。
linux系统故障及解决方法

linux系统故障及解决方法
Linux系统在使用过程中,难免会出现各种故障。
这些故障有些是因为用户的误操作,有些则是由于系统本身的问题所导致。
下面是一些常见的Linux系统故障及其解决方法。
1. 内存泄漏
内存泄漏指的是在程序运行过程中,申请的内存一直得不到释放,最终会导致系统崩溃。
通常情况下,内存泄漏是由于程序中存在漏洞或者编程不良造成的。
解决方法是通过工具检测内存泄漏,找出问题代码并进行修复。
2. 网络连接问题
Linux系统中,网络连接问题可能是由于网络协议配置不正确或者网络设备出现故障所导致。
解决方法是通过检查网络协议的配置以及检测网络设备的连接状态,找出问题所在并进行修复。
3. 硬盘故障
硬盘故障是指硬盘出现物理损坏或者软件问题导致无法正常工作。
解决方法是通过硬件检测工具对硬盘进行检测,找出问题并进行修复,或者更换故障硬盘。
4. 系统崩溃
系统崩溃是指系统出现严重的错误,导致系统无法正常工作。
解决方法是通过系统日志找出错误信息,然后进行相应的修复工作。
5. 软件安装问题
在Linux系统中,软件安装可能会出现依赖关系、版本不兼容等
问题。
解决方法是通过包管理工具进行软件安装或者手动安装所需的依赖库,确保软件正常运行。
总之,Linux系统故障的解决方法需要根据具体情况进行分析和解决,有时候需要借助一些工具,有时候则需要手动修复。
但是,无论出现什么故障,及时处理才能避免更大的损失。
系统日志与故障排查Linux终端中的journalctl命令

系统日志与故障排查Linux终端中的journalctl命令系统日志对于故障排查和错误追踪非常重要,它记录了系统中发生的各种事件和错误信息。
在Linux终端中,通过journalctl命令可以轻松查看系统的日志信息,并对故障进行有效的排查和修复。
1. 简介Linux系统中,系统日志被记录在/var/log目录下的各个日志文件中。
然而,手动去查看这些文件并不方便,特别是当系统出现问题时。
journalctl命令的出现,使得我们可以更加高效地查看系统日志信息。
2. journalctl命令的使用方法journalctl命令可以通过不同的选项和参数来过滤和查看系统日志。
以下是一些常用的使用方法:2.1 查看最近的日志使用journalctl命令不带任何选项参数,将默认显示最近的系统日志。
这对于快速查看系统状态非常方便。
例如:```$ journalctl```2.2 根据服务名称过滤日志我们可以通过使用-j选项来过滤指定服务的日志信息。
例如,要查看与Apache服务相关的日志信息,可以使用以下命令:```$ journalctl -u apache2```2.3 根据时间范围过滤日志使用时间范围过滤日志可以更精确地定位和追踪故障。
使用--since 和--until选项可以指定开始和结束的时间。
例如:```$ journalctl --since "2022-01-01" --until "2022-01-31"```2.4 根据关键词过滤日志有时候我们可能只关心包含某个关键词的日志信息。
使用-g选项可以根据关键词过滤日志信息。
例如:```$ journalctl -g "error"```2.5 查看特定用户的日志使用--user选项可以查看特定用户的日志信息。
例如,要查看当前用户的日志信息,可以使用以下命令:```$ journalctl --user```3. 故障排查实例下面通过一个实例来演示如何使用journalctl命令进行故障排查。
操作系统的故障诊断与问题排查

操作系统的故障诊断与问题排查随着科技的发展,电脑已经成为我们生活中不可或缺的一部分。
然而,由于各种原因,我们可能会遇到操作系统故障的情况。
操作系统的故障会给我们的工作和生活带来很大的困扰,因此,掌握故障诊断与问题排查的技巧是非常重要的。
一、故障诊断的基本原则故障发生时,我们首先要做的是冷静下来,并采取正确的方式来排查问题。
以下是故障诊断的基本原则:1.记录问题:在解决问题之前,我们需要将故障的表现、时间和问题的详细描述记录下来,以便后续的排查和分析。
2.逐个排查:从最简单的问题开始排查,逐步缩小故障位置范围。
例如,首先检查硬件设备是否正常工作,然后再检查软件配置是否正确。
3.排除假设:在进行排查过程中,我们需要持怀疑态度,不断验证和排除假设,直到找到准确的故障原因。
二、常见操作系统故障及解决方案1.操作系统启动问题当操作系统无法正常启动时,我们可以采取以下措施进行排查:-检查硬件连接:确保电源线、数据线等硬件连接正确可靠。
-检查启动设备顺序:在BIOS设置中,确认启动设备顺序设置正确。
-尝试安全模式启动:如果无法正常启动,可以尝试进入安全模式进行故障诊断。
2.蓝屏或死机问题操作系统蓝屏或死机的原因可能是多种多样的,我们可以采取以下方法进行排查:-查看错误代码:当出现蓝屏或死机时,系统会显示错误代码。
根据错误代码进行排查,可以更快地找到解决方案。
-检查硬件兼容性:某些硬件设备与操作系统不兼容可能导致蓝屏或死机问题。
更新或替换硬件设备可能解决问题。
-检查驱动程序:驱动程序的问题也是蓝屏或死机的常见原因。
升级或回滚驱动程序可能解决问题。
3.应用程序崩溃或运行缓慢当应用程序崩溃或运行缓慢时,我们可以采取以下方法进行排查:-检查系统资源:检查系统的CPU、内存和硬盘等资源使用情况,确保足够的资源供应。
-升级或修复应用程序:如果应用程序版本较旧,可能存在与操作系统不兼容的问题。
更新或修复应用程序可能解决问题。
如何在嵌入式Linux环境下使用工具并快速的发现和诊断错误

基于
的解决方案比基于代理的调试提供了更多
的优势。
在用户模式下进行调试的开发 人员需要从用户模式通过系统 调用进入 内核模式,然后 返回用户模式。
图 :用于 应用程序,基于
的
4 通过
芯片级调试加速嵌入式
设备的开发
系统模式调试可以暂停处理器并检查操作系统和所有 线程的状态,从而简化了对多线程应用程序的调试。 我们前面已经提过,很多问题都是因为多个线程之间 的交互作用引起的。由于基于代理的调试方法无法同 时停止所有的线程,因此很难找出问题,从而造成项 目的调试时间被大大延长。系统模式调试可以详细地 查看系统的当前状态(例如每个线程的状态、变量等), 在给定的时间点可以完整地查看系统,因此与基于代 理的调试方法相比是更好的解决方案。
个基于
的集成开发环境( )中进行,被称为
风河
。当传统的基于代理的解决方案在技
术或经济上不可行的时候,这种能力可以允许开发人
员使用
连接。
连接可以在两种常见的情况下使用:一种情况是
当基于代理的调试没有可用的以太网连接时;另一种
情况是当开发人员需要解决在 内核或用户空间中
发生的问题,而且需要进行系统模式调试时。通过风
解决方案可以应用于
无法工作的条件
下,尤其是对于 内核发生致命错误和目标设备
崩溃的情况。这些能力对于设备驱动程序和操作系
统的稳定特别有用。
应用程序调试 应用程序是在 内核控制下运行的用户程序, 通过系统调用来访问系统资源。 内核对系统调用 进行处理,并决定如何提供对硬件和内存的访问。
对于用户模式应用程序的调试,开发人员需要对应用 程序线程的直接访问,并且可以启动和停止某个线程 并查看变量和堆栈。由于一个应用程序可能包含多个 进程和线程,因此有必要停止所有与被调试应用程序 线程相关的所有线程,包括可能会对应用程序产生影 响的线程。此外可能还需要监视不同进程和 的外围 寄存器。 只能在线程水平上工作,并且只能停止 一个线程,无法同时停止整个系统或多个线程。
Linux系统启动失败别惊慌这里有个常见故障的解决方案等你来挑战

Linux系统启动失败别惊慌这里有个常见故障的解决方案等你来挑战Linux系统启动失败别惊慌,这里有个常见故障的解决方案等你来挑战Linux系统已经成为许多计算机用户的首选操作系统。
然而,就像任何其他操作系统一样,Linux也可能会遇到各种问题。
其中之一是系统启动失败的情况。
如果你在启动Linux系统时遇到了问题,不要惊慌,本文将介绍一个常见的故障,并提供相应的解决方案。
1. GRUB引导错误GRUB是Linux系统中常用的引导加载程序,用于启动操作系统。
当你的系统启动时,有时可能会出现GRUB引导错误的情况。
这可能是由于硬盘驱动器中的引导记录损坏或其他原因造成的。
解决方案:1. 重新安装GRUB:使用Linux安装光盘或USB启动盘进入恢复模式。
然后使用相关命令重新安装GRUB。
2. 检查硬盘驱动器:使用磁盘工具检查硬盘驱动器是否存在问题,如损坏的扇区或文件系统错误。
修复这些问题可能需要专业知识,如果不确定,最好咨询专业人士的帮助。
2. 内核崩溃Linux操作系统的内核是其核心组件,负责处理与硬件和软件交互的任务。
内核崩溃可能会导致系统无法启动或运行不稳定。
解决方案:1. 恢复到上一个正常工作的内核版本:当系统出现内核崩溃时,你可以尝试选择之前正常工作的内核版本来启动系统。
这可以通过在GRUB菜单中选择适当的内核版本来实现。
2. 更新或重新安装内核:如果使用的是旧版内核,可能存在已知的问题。
尝试通过软件包管理器更新或重新安装内核来解决问题。
3. 诊断和修复内存或硬件故障:有时,内核崩溃可能是由于内存或其他硬件问题引起的。
使用相关工具(如memtest86+)检测和修复这些故障。
3. 文件系统错误Linux系统使用不同的文件系统来管理存储设备中的数据。
当文件系统发生错误时,可能会导致启动失败或无法正常运行系统。
解决方案:1. 使用fsck命令:fsck命令用于检查和修复文件系统错误。
你可以通过在启动时选择恢复模式并使用fsck命令来修复文件系统问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由于管理员忘记密码,或者由于系统受到黑客的入侵,系统密码文件被修改。
导致管理员可能无法用帐号登录系统。
解决方法:方法一,在系统启动时,进入单用户模式(linux single),然后用passwd命令重新设置密码,或修改密码文件即可恢复正常。
方法二,用急救启动盘组启动系统,然后将硬盘的文件系统安装到/mnt目录下,编辑/mnt/etc/passwd文件进行恢复。
方法三、将安装系统的硬盘拆下来,放在另一个Linux系统中,然后(mount)挂载此硬盘的系统安装区,将次硬盘分区中的/etc/passwd, /etc/shadow,/etc/group文件覆盖或修改,也可以恢复。
案例二:硬盘扇区错乱在启动过程中最容易遇到的问题就是硬盘可能有坏道或扇区错乱(数据损坏)的情况,这种情况多由于异常断电、不正常关机导致。
此种问题发生,在系统启动的时候,屏幕会显示:Press root password or ctrl+D:此时输入root密码系统自动进入单用户模式,输入“fsck -y /dev/hda6”(fsck为文件系统检测修复命令,“-y”设定检测到错误自动修复,/dev/hda6为发生错误的硬盘分区,请依据具体情况更改此参数),系统修复完成后,用命令“reboot”重新启动即可。
案例三、GRUB选项设置错误“Error 15”显示系统无法找到grub.conf中指定的内核。
GRUB引导错误信息,我们观察发现因为打字错误,内核文件的“vmlinuz”打成了“vmlinux”,所以系统无法找到内核的可执行文件。
我们可以按任意键回到GRUB编辑界面,修改此错误,回车保存后按“b”键即可正常引导,当然不要忘记进入系统后修改grub.conf文件中此处错误。
这是很多初学Linux的用户在修改GRUB设置时很容易犯的错误,出现此黑屏提示时注意观察报错信息,即可针对性修复。
(二)GRUB引导故障排除我发现有时Linux启动后会直接进入GRUB命令行界面(只有“grub>”提示符),此时很多用户就选择了重新安装GRUB甚至重新安装系统。
其实一般而言此故障的原因最常见的有两个:一是GRUB配置文件中选项设置错误;二是GRUB配置文件丢失(还有少数原因,如内核文件或镜像文件损坏、丢失,/boot目录误删除等),如果是第一种情况,可以首先通过GRUB命令引导系统后修复;若是第二种情况,则要使用Linux救援模式修复了(本文后续有描述)。
首先,我们需要了解GRUB启动系统的引导过程,grub.conf文件中主要的配置选项如下(注意,GRUB配置文件为/boot/grub/grub.conf, /etc/grub.conf只是此文件的软链接):title Fedora Core (2.6.18-1.2798.fc6)root (hd0,0)kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet initrd/boot/initrd-2.6.18-1.2798.fc6.img其中“title”段指定了GRUB引导的系统:“root”段指定了/boot分区所在的位置:“kernel”段指定了内核文件所在位置,内核加载时权限属性为只读(“ro”)以及指定根分区所在位置(root=LABEL=/);initrd 指定了镜像文件所在位置。
所以GRUB在引导时顺序为首先加载/boot分区,然后依次载入内核与镜像文件。
案例:“title Fedora Core (2.6.18-1.2798.fc6)”段被误删除此时,系统启动后会自动进入“GRUB>”命令行,为排除故障我们可以依次做如下操作:1、查找/boot/grub/grub.conf文件所在分区GRUB> find /boot/grub/grub.conf(hd0,0)2、查看grub.conf文件错误GRUB>cat (hd0,0)/boot/grub/grub.conf建议系统安装设置好后,要将grub.conf文件备份,如果有备份文件如grub.conf.bak,则此时可以查看备份文件,与当前文件比较,发现错误:GRUB>cat (hd0,0)/boot/grub/grub.conf.bak3、确认错误后,先通过命令行方式完成GRUB引导,进入系统后再行修复grub.conf文件错误:1)指定/boot 分区root (hd0,0)2)指定内核加载kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet 3)指定镜像文件所在位置initrd /boot/initrd-2.6.18-1.2798.fc6.img提示:GRUB支持tab键命令补全功能4、从/boot分区启动boot (hd0,0)命令行模式可以在GRUB菜单模式中通过按“c”键调用,也可以用于测试新编译的内核(设置kernel、initrd 引导新内核及镜像文件)。
增加对GRUB引导以及Linux系统引导知识的了解将对此类故障排除大有帮助。
(三)Linux救援模式应用当系统连单用户模式都无法进入时或出现GRUB命令行也不能解决的引导问题,我们就需要使用Linux救援模式来进行故障排除了。
步骤如下:1、将Linux安装光盘(如果使用CD光盘,则放入第一张引导光盘)放入光驱,设置固件CMOS/BIOS为光盘引导,当Linux安装画面出现后,在“boot:”提示符后输入“linux rescue”回车进入救援模式。
(想了解救援模式详细信息,还可以按F5键查看)2、系统会检测硬件,引导光盘上的Linux环境,依次提示你选择救援模式下使用的语言(建议选择默认的英文即可,根据笔者测试,部分Linux系统选择中文会出现乱码);键盘设置用默认的“us”就好;网络设置可以根据需要,大部分故障修复不需要网络连接,可不进行此项设置,选择“No”。
3、接下来系统将试图查找根分区,出现挂载提示,设置默认在救援模式,硬盘的根分区将挂载到光盘Linux 环境的/mnt/sysimage目录下,默认选项“continue”表示挂载权限为读写:“Read-only”为只读,如果出现检测失败可以选择“skip”跳过。
此处,因为要对系统进行修复,所以需要有读写权限,一般选择默认选项“continue”。
进入下一步后,系统提示执行“chroot /mnt/sysimage”命令,可以将根目录挂载到我们硬盘系统的根目录中去。
案例一:双系统启动修复当我们安装双系统环境,先安装Linux再安装Windows;或者已经安装好双系统环境的Windows损坏,在重新安装Windows后,保存 GRUB的MBR(Master Boot Record,主引导记录)会被Windows系统的自举程序NTLDR所覆盖,造成Linux系统无法引导。
1、如果要恢复双系统引导,首先用上述方法进入救援模式,执行chroot命令如下:sh-3.1# chroot /mnt/sysimage2、将根目录切换到硬盘系统的根目录中,然后执行grub-install命令重新安装GRUB:sh-3.1# grub-install /dev/hda“/dev/hda”为硬盘名称,如使用SCSI硬盘或Linux安装在第二块IDE硬盘,此项设置要做相应调整。
3、然后依次执行exit命令,退出chroot模式及救援模式(执行两次exit命令):sh-3.1# exit系统重启后,将恢复GRUB引导的双系统启动。
案例二:系统配置文件丢失修复系统在引导期间,很重要的一个过程就是init进程读取其配置文件/etc/inittab,启动系统基本服务程序及默认运行级别的服务程序完成系统引导,如果/etc/inittab误删除或修改错误,Linux将无法正常启动,如图7所示。
此时,只有通过救援模式才可以解决此类问题。
/etc/inittab文件丢失引导错误示例1、有备份文件的恢复办法进入救援模式,执行chroot命令后,如果有此文件的备份(强烈建议系统中的重要数据目录,如/etc、/boot等要进行备份),直接将备份文件拷贝回去,退出重启即可。
如果是配置文件修改错误,如比较典型的/boot/grub/grub.conf及/etc/passwd的文件修改错误,也可以直接修正恢复。
假设有备份文件/etc/inittab.bak,则在救援模式下执行:sh-3.1# chroot /mnt/sysimagesh-3.1# cp /etc/inittab.bak /etc/inittab2、没有备份文件的恢复办法如果一些配置文件丢失或软件误删除,且无备份,可以通过重新安装软件包来恢复,首先查找到/etc/inittab属于哪一个RPM包(即便文件丢失,因为存在RPM数据库,一样可以查找到结果):sh-3.1# chroot /mnt/sysimage sh-3.1# rpm -qf /etc/inittab initscripts-8.45.3-1退出chroot模式:sh-3.1# exit挂载存放RPM包的安装光盘(在救援模式下,光盘通常挂载在/mnt/source目录下):sh-3.1# mount /dev/hdc /mnt/sourceFedora系统的RPM包存放在光盘Fedora/RPMS目录下,其他Linux存放位置大同小异,我在这里不一一列举;另外,因为要修复的硬盘系统的根目录在/mnt/sysimage下,需要使用——root选项指定其位置。
覆盖安装/etc/inittab文件所在的RPM包:sh-3.1# rpm -ivh ——replacepkgs ——root /mnt/sysimage /mnt/source/Fedora/RPMS/ initscripts-8.45.3-1.i386.rpm其中的rpm命令选项“——replacepkgs”表示覆盖安装,执行完成后,即已经恢复了此文件。
如果想只提取RPM包中的/etc/inittab文件进行恢复,可以在进入救援模式后,执行命令:sh-3.1# rpm2cpio /mnt/source/Fedora/RPMS/initscripts-8.45.3-1.i386.rpm | cpio -idv ./etc/inittabsh-3.1# cp etc/inittab /mnt/sysimage/etc注意此命令执行时不能将文件直接恢复至/etc目录,只能提取到当前目录下,且恢复的文件名称所在路径要写完整的绝对路径。