diff options
Diffstat (limited to 'disk-utils/fsck.8')
-rw-r--r-- | disk-utils/fsck.8 | 461 |
1 files changed, 461 insertions, 0 deletions
diff --git a/disk-utils/fsck.8 b/disk-utils/fsck.8 new file mode 100644 index 0000000..4cfeb1f --- /dev/null +++ b/disk-utils/fsck.8 @@ -0,0 +1,461 @@ +.\" -*- nroff -*- +.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved. +.\" This file may be copied under the terms of the GNU Public License. +.\" +.TH FSCK 8 "February 2009" "util-linux" "System Administration" +.SH NAME +fsck \- check and repair a Linux filesystem +.SH SYNOPSIS +.B fsck +.RB [ \-lrsAVRTMNP ] +.RB [ \-C +.RI [ fd ]] +.RB [ \-t +.IR fstype ] +.RI [ filesys ...] +.RB [ \-\- ] +.RI [ fs-specific-options ] +.SH DESCRIPTION +.B fsck +is used to check and optionally repair one or more Linux filesystems. +.I filesys +can be a device name (e.g. +.IR /dev/hdc1 ", " /dev/sdb2 ), +a mount point (e.g. +.IR / ", " /usr ", " /home ), +or an ext2 label or UUID specifier (e.g. +UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd or LABEL=root). +Normally, the +.B fsck +program will try to handle filesystems on different physical disk drives +in parallel to reduce the total amount of time needed to check all of them. +.PP +If no filesystems are specified on the command line, and the +.B \-A +option is not specified, +.B fsck +will default to checking filesystems in +.B /etc/fstab +serially. This is equivalent to the +.B \-As +options. +.PP +The exit code returned by +.B fsck +is the sum of the following conditions: +.PP +.RS +.PD 0 +.TP +.B 0 +No errors +.TP +.B 1 +Filesystem errors corrected +.TP +.B 2 +System should be rebooted +.TP +.B 4 +Filesystem errors left uncorrected +.TP +.B 8 +Operational error +.TP +.B 16 +Usage or syntax error +.TP +.B 32 +Fsck canceled by user request +.TP +.B 128 +Shared-library error +.PD +.RE +.PP +The exit code returned when multiple filesystems are checked +is the bit-wise OR of the exit codes for each +filesystem that is checked. +.PP +In actuality, +.B fsck +is simply a front-end for the various filesystem checkers +(\fBfsck\fR.\fIfstype\fR) available under Linux. The +filesystem-specific checker is searched for in +.I /sbin +first, then in +.I /etc/fs +and +.IR /etc , +and finally in the directories listed in the PATH environment +variable. Please see the filesystem-specific checker manual pages for +further details. +.SH OPTIONS +.TP +.B \-l +Lock the whole-disk device by an exclusive +.BR flock (2). +This option can be used with one device only (this means that \fB-A\fR and +\fB-l\fR are mutually exclusive). This option is recommended when more +.B fsck (8) +instances are executed in the same time. The option is ignored when used for +multiple devices or for non-rotating disks. \fBfsck\fR does not lock underlying +devices when executed to check stacked devices (e.g. MD or DM) -- this feature is +not implemented yet. +.TP +.B \-r +Report certain statistics for each fsck when it completes. These statistics +include the exit status, the maximum run set size (in kilobytes), the elapsed +all-clock time and the user and system CPU time used by the fsck run. For +example: + +/dev/sda1: status 0, rss 92828, real 4.002804, user 2.677592, sys 0.86186 +.TP +.B \-s +Serialize +.B fsck +operations. This is a good idea if you are checking multiple +filesystems and the checkers are in an interactive mode. (Note: +.BR e2fsck (8) +runs in an interactive mode by default. To make +.BR e2fsck (8) +run in a non-interactive mode, you must either specify the +.B \-p +or +.B \-a +option, if you wish for errors to be corrected automatically, or the +.B \-n +option if you do not.) +.TP +.BI \-t " fslist" +Specifies the type(s) of filesystem to be checked. When the +.B \-A +flag is specified, only filesystems that match +.I fslist +are checked. The +.I fslist +parameter is a comma-separated list of filesystems and options +specifiers. All of the filesystems in this comma-separated list may be +prefixed by a negation operator +.RB ' no ' +or +.RB ' ! ', +which requests that only those filesystems not listed in +.I fslist +will be checked. If none of the filesystems in +.I fslist +is prefixed by a negation operator, then only those listed filesystems +will be checked. +.sp +Options specifiers may be included in the comma-separated +.IR fslist . +They must have the format +.BI opts= fs-option\fR. +If an options specifier is present, then only filesystems which contain +.I fs-option +in their mount options field of +.B /etc/fstab +will be checked. If the options specifier is prefixed by a negation +operator, then only +those filesystems that do not have +.I fs-option +in their mount options field of +.B /etc/fstab +will be checked. +.sp +For example, if +.B opts=ro +appears in +.IR fslist , +then only filesystems listed in +.B /etc/fstab +with the +.B ro +option will be checked. +.sp +For compatibility with Mandrake distributions whose boot scripts +depend upon an unauthorized UI change to the +.B fsck +program, if a filesystem type of +.B loop +is found in +.IR fslist , +it is treated as if +.B opts=loop +were specified as an argument to the +.B \-t +option. +.sp +Normally, the filesystem type is deduced by searching for +.I filesys +in the +.I /etc/fstab +file and using the corresponding entry. +If the type can not be deduced, and there is only a single filesystem +given as an argument to the +.B \-t +option, +.B fsck +will use the specified filesystem type. If this type is not +available, then the default filesystem type (currently ext2) is used. +.TP +.B \-A +Walk through the +.I /etc/fstab +file and try to check all filesystems in one run. This option is +typically used from the +.I /etc/rc +system initialization file, instead of multiple commands for checking +a single filesystem. +.sp +The root filesystem will be checked first unless the +.B \-P +option is specified (see below). After that, +filesystems will be checked in the order specified by the +.I fs_passno +(the sixth) field in the +.I /etc/fstab +file. +Filesystems with a +.I fs_passno +value of 0 are skipped and are not checked at all. Filesystems with a +.I fs_passno +value of greater than zero will be checked in order, +with filesystems with the lowest +.I fs_passno +number being checked first. +If there are multiple filesystems with the same pass number, +fsck will attempt to check them in parallel, although it will avoid running +multiple filesystem checks on the same physical disk. +.sp +.B fsck +does not check stacked devices (RAIDs, dm-crypt, ...) in parallel with any other +device. See below for FSCK_FORCE_ALL_PARALLEL setting. The /sys filesystem is +used to detemine dependencies between devices. +.sp +Hence, a very common configuration in +.I /etc/fstab +files is to set the root filesystem to have a +.I fs_passno +value of 1 +and to set all other filesystems to have a +.I fs_passno +value of 2. This will allow +.B fsck +to automatically run filesystem checkers in parallel if it is advantageous +to do so. System administrators might choose +not to use this configuration if they need to avoid multiple filesystem +checks running in parallel for some reason --- for example, if the +machine in question is short on memory so that +excessive paging is a concern. +.sp +.B fsck +normally does not check whether the device actually exists before +calling a filesystem specific checker. Therefore non-existing +devices may cause the system to enter filesystem repair mode during +boot if the filesystem specific checker returns a fatal error. The +.B /etc/fstab +mount option +.B nofail +may be used to have +.B fsck +skip non-existing devices. +.B fsck +also skips non-existing devices that have the special filesystem type +.BR auto . +.TP +.B \-C\fR [ \fI "fd" \fR ] +Display completion/progress bars for those filesystem checkers (currently +only for ext2 and ext3) which support them. Fsck will manage the +filesystem checkers so that only one of them will display +a progress bar at a time. GUI front-ends may specify a file descriptor +.IR fd , +in which case the progress bar information will be sent to that file descriptor. +.TP +.B \-M +Do not check mounted filesystems and return an exit code of 0 +for mounted filesystems. +.TP +.B \-N +Don't execute, just show what would be done. +.TP +.B \-P +When the +.B \-A +flag is set, check the root filesystem in parallel with the other filesystems. +This is not the safest thing in the world to do, +since if the root filesystem is in doubt things like the +.BR e2fsck (8) +executable might be corrupted! This option is mainly provided +for those sysadmins who don't want to repartition the root +filesystem to be small and compact (which is really the right solution). +.TP +.B \-R +When checking all filesystems with the +.B \-A +flag, skip the root filesystem. (This is useful in case the root +filesystem has already been mounted read-write.) +.TP +.B \-T +Don't show the title on startup. +.TP +.B \-V +Produce verbose output, including all filesystem-specific commands +that are executed. +.TP +.B fs-specific-options +Options which are not understood by +.B fsck +are passed to the filesystem-specific checker. These arguments +.B must +not take arguments, as there is no +way for +.B fsck +to be able to properly guess which options take arguments and which +don't. +.IP +Options and arguments which follow the +.B \-\- +are treated as filesystem-specific options to be passed to the +filesystem-specific checker. +.IP +Please note that fsck is not +designed to pass arbitrarily complicated options to filesystem-specific +checkers. If you're doing something complicated, please just +execute the filesystem-specific checker directly. If you pass +.B fsck +some horribly complicated options and arguments, and it doesn't do +what you expect, +.B don't bother reporting it as a bug. +You're almost certainly doing something that you shouldn't be doing +with +.BR fsck. +.PP +Options to different filesystem-specific fsck's are not standardized. +If in doubt, please consult the man pages of the filesystem-specific +checker. Although not guaranteed, the following options are supported +by most filesystem checkers: +.TP +.B \-a +Automatically repair the filesystem without any questions (use +this option with caution). Note that +.BR e2fsck (8) +supports +.B \-a +for backward compatibility only. This option is mapped to +.BR e2fsck 's +.B \-p +option which is safe to use, unlike the +.B \-a +option that some filesystem checkers support. +.TP +.B \-n +For some filesystem-specific checkers, the +.B \-n +option will cause the fs-specific fsck to avoid attempting to repair any +problems, but simply report such problems to stdout. This is however +not true for all filesystem-specific checkers. In particular, +.BR fsck.reiserfs (8) +will not report any corruption if given this option. +.BR fsck.minix (8) +does not support the +.B \-n +option at all. +.TP +.B \-r +Interactively repair the filesystem (ask for confirmations). Note: It +is generally a bad idea to use this option if multiple fsck's are being +run in parallel. Also note that this is +.BR e2fsck 's +default behavior; it supports this option for backward compatibility +reasons only. +.TP +.B \-y +For some filesystem-specific checkers, the +.B \-y +option will cause the fs-specific fsck to always attempt to fix any +detected filesystem corruption automatically. Sometimes an expert may +be able to do better driving the fsck manually. Note that +.B not +all filesystem-specific checkers implement this option. In particular +.BR fsck.minix (8) +and +.BR fsck.cramfs (8) +do not support the +.B -y +option as of this writing. +.SH AUTHOR +.MT tytso@mit.edu +Theodore Ts'o +.ME +.SH AVAILABILITY +The fsck command is part of the util-linux package and is available from +.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/ +Linux Kernel Archive +.UE . +.SH FILES +.IR /etc/fstab . +.SH ENVIRONMENT VARIABLES +The +.B fsck +program's behavior is affected by the following environment variables: +.TP +.B FSCK_FORCE_ALL_PARALLEL +If this environment variable is set, +.B fsck +will attempt to check all of the specified filesystems in parallel, regardless of +whether the filesystems appear to be on the same device. (This is useful for +RAID systems or high-end storage systems such as those sold by companies such +as IBM or EMC.) Note that the fs_passno value is still used. +.TP +.B FSCK_MAX_INST +This environment variable will limit the maximum number of filesystem +checkers that can be running at one time. This allows configurations +which have a large number of disks to avoid +.B fsck +starting too many filesystem checkers at once, which might overload +CPU and memory resources available on the system. If this value is +zero, then an unlimited number of processes can be spawned. This is +currently the default, but future versions of +.B fsck +may attempt to automatically determine how many filesystem checks can +be run based on gathering accounting data from the operating system. +.TP +.B PATH +The +.B PATH +environment variable is used to find filesystem checkers. A set of +system directories are searched first: +.BR /sbin , +.BR /sbin/fs.d , +.BR /sbin/fs , +.BR /etc/fs , +and +.BR /etc . +Then the set of directories found in the +.B PATH +environment are searched. +.TP +.B FSTAB_FILE +This environment variable allows the system administrator +to override the standard location of the +.B /etc/fstab +file. It is also useful for developers who are testing +.BR fsck . +.SH SEE ALSO +.BR fstab (5), +.BR mkfs (8), +.BR fsck.ext2 (8) +or +.BR fsck.ext3 (8) +or +.BR e2fsck (8), +.BR cramfsck (8), +.BR fsck.minix (8), +.BR fsck.msdos (8), +.BR fsck.jfs (8), +.BR fsck.nfs (8), +.BR fsck.vfat (8), +.BR fsck.xfs (8), +.BR fsck.xiafs (8), +.BR reiserfsck (8). |