diff options
Diffstat (limited to 'disk-utils/fsck.8')
-rw-r--r-- | disk-utils/fsck.8 | 418 |
1 files changed, 418 insertions, 0 deletions
diff --git a/disk-utils/fsck.8 b/disk-utils/fsck.8 new file mode 100644 index 0000000..90759f2 --- /dev/null +++ b/disk-utils/fsck.8 @@ -0,0 +1,418 @@ +.\" 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 [ \-lsAVRTMNP ] +.RB [ \-r +.RI [ fd ]] +.RB [ \-C +.RI [ fd ]] +.RB [ \-t +.IR fstype ] +.RI [ filesystem \&...\&] +.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 +.I /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 +Checking 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 the +PATH environment variable. If the PATH is undefined then +fallback to "/sbin". +.PP +Please see the filesystem-specific checker manual pages for +further details. +.SH OPTIONS +.TP +.B \-l +Create an exclusive +.BR flock (2) +lock file (/run/fsck/<diskname>.lock) for whole-disk device. +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 +.BR 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) \(en this feature is +not implemented yet. +.TP +.BR \-r \ [ \fIfd\fR ] +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 + +GUI front-ends may specify a file descriptor +.IR fd , +in which case the progress bar information will be sent to that file descriptor +in a machine parsable format. For example: + +/dev/sda1 0 92828 4.002804 2.677592 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 +.I /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 +.I /etc/fstab +will be checked. +.sp +For example, if +.B opts=ro +appears in +.IR fslist , +then only filesystems listed in +.I /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 cannot 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, +.B 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 determine 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 \(en 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 +.I /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 +.BR \-C \ [ \fIfd\fR ] +Display completion/progress bars for those filesystem checkers (currently +only for ext[234]) which support them. \fBfsck\fR 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 +\fB\-?\fR, \fB\-\-help\fR +Display help text and exit. +.TP +\fB\-\-version\fR +Display version information and exit. +.SH FILESYSTEM SPECIFIC OPTIONS +.B Options which are not understood by fsck are passed to the filesystem-specific checker! +.PP +These options +.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. +.PP +Options and arguments which follow the +.B \-\- +are treated as filesystem-specific options to be passed to the +filesystem-specific checker. +.PP +Please note that \fBfsck\fR 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 . +Options to different filesystem-specific fsck's are not standardized. +.SH FILES +.I /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. +.TP +.B FSTAB_FILE +This environment variable allows the system administrator +to override the standard location of the +.I /etc/fstab +file. It is also useful for developers who are testing +.BR fsck . +.TP +.B LIBBLKID_DEBUG=all +enables libblkid debug output. +.TP +.B LIBMOUNT_DEBUG=all +enables libmount debug output. +.SH SEE ALSO +.na +.BR fstab (5), +.BR mkfs (8), +.BR fsck.ext2 (8) +or +.BR fsck.ext3 (8) +or +.BR e2fsck (8), +.BR cramfsck (8), +.BR fsck.jfs (8), +.BR fsck.nfs (8), +.BR fsck.minix (8), +.BR fsck.msdos (8), +.BR fsck.vfat (8), +.BR fsck.xfs (8), +.BR reiserfsck (8) +.ad +.SH AUTHORS +.nf +Theodore Ts'o <tytso@mit.edu> +Karel Zak <kzak@redhat.com> +.fi +.SH AVAILABILITY +The fsck command is part of the util-linux package and is available from +.UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/ +Linux Kernel Archive +.UE . |