Linux fsck命令

电脑的文件系统遇到不正常关机或硬件错误容易遭到破坏。Linux下可以使用fsck命令检查、修复文件系统。
使用fsck必须是超级用户。fsck检查所有在柱面群组的数据块映像中被标识为未使用的数据块,即空闲数据块。fsck检查合计空闲数据块的数目,加上被文件节点使用的数据块的数目,这个结果是否等于文件系统中所有数据块的总和。如果fsck发现数据块分配映像有错时,它会自动重建。概要信息中和超级数据块相联系的信息包含在文件系统中所有空闲数据块的数目。fsck将它检查所得到的空闲数据块数目和上面概要信息中的空闲数据块数目进行比较,如果两者不一致,fsck就将实际检查得到的空闲数据块覆盖概要信息中的空闲数据块信息。对空闲文件节点的检查也会做同样的处理。

注:由于fsck对磁盘的文件系统进行修复,直接在系统下运行容易把硬盘搞挂,最好用超级用户开机时在修复模式下使用

执行命令:

fsck

fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
/dev/sda1 is mounted.  

WARNING!!!  Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.

Do you really want to continue (y/n)? yes

/dev/sda1: recovering journal
Clearing orphaned inode 1230664 (uid=0, gid=0, mode=0100755, size=1296064)
Clearing orphaned inode 1230632 (uid=0, gid=0, mode=0100755, size=6364)
Clearing orphaned inode 349170 (uid=0, gid=0, mode=0100755, size=119460)
Clearing orphaned inode 349168 (uid=0, gid=0, mode=0100755, size=1203060)
Clearing orphaned inode 349166 (uid=0, gid=0, mode=0100755, size=9944)
/dev/sda1: clean, 24365/1310720 files, 229945/2621440 blocks


使用情况举例
发现服务器httpd进程没有了,重启报错:

service httpd restart

rm: cannot remove `/var/run/httpd.pid’: Read-only file system FAILED
rm: cannot remove `/var/lock/subsys/httpd’: Read-only file system
rm: cannot remove `/var/run/httpd.pid’: Read-only file system
Starting httpd: (30)Read-only file system: httpd: could not open error log file /etc/httpd/logs/error_log.
Unable to open logs

执行:
fsck
reboot
这两个命令修复文件系统问题。

《Linux fsck命令》上的2个想法

评论已关闭。