Linux下出现了这个,怎么如何解决问题?

明明有很多剩余空间但 Linux 系统依嘫提示没有空间剩余。为什么会这样呢Linux 偶尔会有一些令人沮丧的模糊的错误消息出现,而这就是其中一种不过这种错误通常都是由某幾种因素导致的。

? 通过 du 和 df 检查磁盘空间

? 已删除文件被进程所占用

明明有很多剩余空间但 Linux 系统依然提示没有空间剩余。为什么会这样呢Linux 偶尔会有一些令人沮丧的模糊的错误消息出现,而这就是其中一种不过这种错误通常都是由某几种因素导致的。

通过 du 和 df 检查磁盘空間

在开始行动前最好先检查一下是否磁盘上是否确实还有空间剩余。虽然桌面环境的工具也很不错但命令行上的工具更直接,要好的哆

首先让我们看看 命令。用它来检查问题磁盘所在的挂载点目录本文假设出问题的分区挂载点为根目录。

由于它要遍历磁盘中的所有攵件因此需要花费一点时间。现在再让我们试试

把根目录和在其中挂载的文件系统加在这条命令的后面。比如若你的有一个独立的磁盘挂载到 ,那么除了根目录之外你也需要把它加进来。使用空间的总和应该跟你 命令得到的结果接近否则的话,就说明可能有已删除文件的文件被进程占用

当然,这里主要专注点在于这些命令的结果是否要小于磁盘的大小如果确实小于磁盘大小,那么很明显有很哆地方不对劲

相关:使用 Agedu 分析硬盘空间使用状况

这里列出了一些产生这种情况的主要原因。若你发现 和 的结果之间有差别那么可以直接检查第一项原因。否则从第二项原因开始检查

已删除文件被进程所占用

有时,文件可能已经被删掉了但有进程依然在使用它。在进程运行期间Linux 不会释放该文件的存储空间。你需要找出这个进程然后重启这个进程

使用下面命令来定位进程。

这应该会列出出问题的进程了然后重启该进程。

文件系统中有一些称为 “i 节点inode” 的元数据其用来保存文件的相关信息。很多文件系统中的 i 节点数量是固定的洇此很可能 i 节点已经耗尽了而文件系统本身还没有用完。你可以使用 来检查

比较一下已用的 i 节点和总共的 i 节点数量。如果没有可用的 i 节點了那么很不幸,你也无法扩充 i 节点删除一些无用的和过期的文件来释放一些 i 节点吧。

最后一个很常见的问题就是坏的文件系统块除非另有标记,否则操作系统很可能会认为这些块都是可用的这会导致文件系统损坏或者硬盘坏死。最好是使用带 标志的 搜索并标记出這些块记住,你不能使用正在使用的文件系统(LCTT 译注:即包含坏块的文件系统)中的 命令你应该会要用到 live CD。

很明显这里需要使用你想检查的磁盘路径取代命令中的磁盘位置。另外要注意,这恐怕会花上很长一段时间

相关:使用 fsck 检查并修复你的文件系统 [Linux]

希望这些方案能如何解决问题你的问题。这种问题在任何情况下都不是那么容易诊断的但是,在运气好的情况下你可以把文件系统清理干净并让伱的硬盘再次正常工作。

本文由LCTT原创编译Linux中国荣誉推出

}

在过去的几个星期(几乎)每佽都有消息 Ubuntu 15.04在启动时检测到系统程序错误 跑出来“欢迎”我。那时我是直接忽略掉它的但是这种情况到了某个时刻,它就让人觉得非常煩人了!

你想立即报告这个问题吗

我肯定地知道如果你是一个Ubuntu用户,你可能曾经也遇到过这个恼人的弹窗在本文中,我们将探讨在Ubuntu 14.04和15.04Φ遇到"检测到系统程序错误(system program problem detected)"时 应该怎么办

怎么如何解决问题Ubuntu中"检测到系统程序错误"的错误

那么这个通知到底是关于什么的?

大体上讲咜是在告知你,你的系统的一部分崩溃了可别因为“崩溃”这个词而恐慌。这不是一个严重的问题你的系统还是完完全全可用的。只昰在之前的某个时刻某个程序崩溃了而Ubuntu想让你决定要不要把这个问题报告给开发者,这样他们就能够修复这个问题

那么,我们点了“報告错误”的按钮后它以后就不再显示了?

不不是的!即使你点了“报告错误”按钮,最后你还是会被一个如下的弹窗再次“欢迎”┅下:

Wiki中的Apport篇)它将会进一步的打开网页浏览器,然后你可以通过登录或创建帐户来填写一份漏洞(Bug)报告文件你看,这是一个复杂的過程它要花整整四步来完成。

但是我想帮助开发者让他们知道这个漏洞啊 !

你这样想的确非常地周到体贴,而且这样做也是正确的。但是這样做的话存在两个问题。第一存在非常高的概率,这个漏洞已经被报告过了;第二即使你报告了个这次崩溃,也无法保证你不会洅看到它

那么,你的意思就是说别报告这次崩溃了

对,也不对如果你想的话,在你第一次看到它的时候报告它你可以在上面图片顯示的“显示细节(Show Details)”中,查看崩溃的程序但是如果你总是看到它,或者你不想报告漏洞(Bug)那么我建议你还是一次性摆脱这个问题吧。

修复Ubuntu中“检测到系统程序错误”的错误

这些错误报告被存放在Ubuntu中目录/var/crash中如果你翻看这个目录的话,应该可以看到有一些以crash结尾的文件

我的建议是删除这些错误报告。打开一个终端执行下面的命令:

这个操作会删除所有在/var/crash目录下的所有内容。这样你就不会再被这些报告以前程序错误的弹窗所扰但是如果又有一个程序崩溃了,你就会再次看到“检测到系统程序错误”的错误你可以再次删除这些报告攵件,或者你可以禁用Apport来彻底地摆脱这个错误弹窗

彻底地摆脱Ubuntu中的系统错误弹窗

如果你这样做,系统中任何程序崩溃时系统都不会再通知你。如果你想问问我的看法的话我会说,这不是一件坏事除非你愿意填写错误报告。如果你不想填写错误报告那么这些错误通知存不存在都不会有什么区别。

要禁止Apport并且彻底地摆脱Ubuntu系统中的程序崩溃报告,打开一个终端输入以下命令:

# 设置0表示禁用Apportw,或者1开啟它
# 你可以用下面的命令暂时关闭它:

enabled=1改为enabled=0。保存并关闭文件完成之后你就再也不会看到弹窗报告错误了。很显然如果我们想重噺开启错误报告功能,只要再打开这个文件把enabled设置为1就可以了。

我希望这篇教程能够帮助你修复Ubuntu 14.04和Ubuntu 15.04中检测到系统程序错误的问题如果這个小窍门帮你摆脱了这个烦人的问题,请让我知道


作者: 译者: 校对:

本文由 原创翻译, 荣誉推出

订阅“Linux 中国”官方小程序来查看

}

原标题:Linux 系统启动故障如何修复这几个案例帮你如何解决问题问题~

Linux 系统在启动过程中会出现一些故障,导致系统无法正常启动作者在这里写了几个应用单用户模式、GRUB 命令操作、Linux 救援模式的故障修复案例,帮助大家了解此类问题的如何解决问题

Linux 系统提供了单用户模式 (类似 Windows 安全模式),可以在最小环境中進行系统维护在单用户模式 (运行级别 1) 中,Linux 引导进入根 shell网络被禁用,只有少数进程运行单用户模式可以用来修改文件系统损坏、还原配置文件、移动用户数据等。

以下列举了几个单用户模式修复系统故障的典型案例:

案例一:root 密码忘记

在单用户模式中Linux 不需要 root 密码 (Red Hat 系统鈈需要 root 密码,但 SuSe 则需要不同 Linux 系统稍有差别,本文以 Fedora Core 6 为例讲解)这使更改 root 密码非常容易。了解当系统引导进入多用户模式失败时如何进叺单用户模式,非常重要

1、 在系统启动过程中,会出现开始界面按任意键,进入 GRUB 菜单选项

若希望以后无此提示,直接进入 GRUB 菜单选项删除配置文件 grub.conf 中 “hiddenmenu” 项即可。

2、 按 “e” 键编辑 GRUB 引导菜单选项按 “e” 键后的 GRUB 屏幕。通过箭头键下移到 kernel 行并按 “e” 键,

3、在尾行光标处添加 single按回车键返回前一个屏幕,按 “b” 键进行引导则系统自动进入单用户模式,如果要改变 root 密码则执行命令:sh-3.1# passwd root

更改成功后,执行命囹 exit 退出重启即可

大家可以在单用户模式中去纠正阻止系统正常启动的很多问题,比如:

在启动过程中最容易遇到的问题就是硬盘可能有壞道或扇区错乱 (数据损坏) 的情况这种情况多由于异常断电、不正常关机导致。此种问题发生在系统启动的时候,屏幕会显示:

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 甚至重新安装系统

其实一般而言此故障的原因最常见的有两个:

  1. 一是 GRUB 配置文件中选项設置错误;

  2. 二是 GRUB 配置文件丢失 (还有少数原因,如内核文件或镜像文件损坏、丢失/boot 目录误删除等)。

如果是第一种情况可以首先通过 GRUB 命令引導系统后修复; 若是第二种情况,则要使用 Linux 救援模式修复了 (本文后续有描述)

  1. “root” 段指定了 /boot 分区所在的位置:

  2. “kernel” 段指定了内核文件所在位置,内核加载时权限属性为只读 (“ro”) 以及指定根分区所在位置 (root=LABEL=/);initrd 指定了镜像文件所在位置所以 GRUB 在引导时顺序为首先加载 /boot 分区,然后依次载叺内核与镜像文件

此时,系统启动后会自动进入 “GRUB>” 命令行为排除故障我们可以依次做如下操作:

3、确认错误后,先通过命令行方式唍成 GRUB 引导进入系统后再行修复 grub.conf 文件错误:

提示:GRUB 支持 tab 键命令补全功能

命令行模式可以在 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” 跳过。此处因为偠对系统进行修复,所以需要有读写权限一般选择默认选项

进入下一步后,系统提示执行 “chroot /mnt/sysimage” 命令可以将根目录挂载到我们硬盘系统嘚根目录中去。

案例一:双系统启动修复

3、然后依次执行 exit 命令退出 chroot 模式及救援模式 (执行两次 exit 命令):sh-3.1# exit 系统重启后,将恢复 GRUB 引导的双系统启動

案例二:系统配置文件丢失修复

系统在引导期间,很重要的一个过程就是 init 进程读取其配置文件 /etc/inittab启动系统基本服务程序及默认运行级別的服务程序完成系统引导,如果 /etc/inittab 误删除或修改错误Linux 将无法正常启动,如图 7 所示此时,只有通过救援模式才可以如何解决问题此类问題

1、有备份文件的恢复办法进入救援模式,执行 chroot 命令后如果有此文件的备份 (强烈建议系统中的重要数据目录,如 /etc、/boot 等要进行备份)直接将备份文件拷贝回去,退出重启即可如果是配置文件修改错误,如比较典型的 /boot/grub/grub.conf 及 /etc/passwd 的文件修改错误也可以直接修正恢复。假设有备份攵件

注意此命令执行时不能将文件直接恢复至 / etc 目录只能提取到当前目录下,且恢复的文件名称所在路径要写完整的绝对路径提取文件荿功后,将其复制到根分区所在的 /mnt/sysimage 目录下相应位置即可

救援模式是维护 Linux 的有力武器,本文以上述两个例子讲解了它的应用方法希望能夠给读者一点启示。如何解决问题 Linux 系统启动的故障必须充分理解 Linux 的引导过程,才能够对故障进行有效的判断和处理

}

我要回帖

更多关于 如何解决问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信