Whamcloud - gitweb
e2fsck: map PROMPT_* values to prompt messages
[tools/e2fsprogs.git] / misc / fsck.8.in
index c487365..c1890df 100644 (file)
@@ -1,33 +1,54 @@
 .\" -*- 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 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
 fsck \- check and repair a Linux file system
 .SH SYNOPSIS
 .B fsck
 [
-.B \-sACVRTNP
+.B \-sAVRTMNP
+]
+[
+.B \-C
+[
+.I fd
+]
 ]
 [
 .B \-t
 .I fstype
-] [\-\-] [
-.B fsck-options
 ]
-.I filesys [ ... ]
+.I [filesys ... ]
+[\-\-] [
+.B fs-specific-options
+]
 .SH DESCRIPTION
 .B fsck
-is used to check and optionally repair a one or more Linux file systems.  
+is used to check and optionally repair one or more Linux file systems.
 .I filesys
-can be a device name (e.g. /dev/hda1, /dev/sdb2), a
-mount point (e.g. /, /usr, /home), or an ext2 label or UUID specifier 
-(e.g., UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd or LABEL=root).  
-The 
-.B fsck 
-program will try to run filesystems on different physical disk drives 
-in parallel to reduce total amount time to check all of the filesystems.
+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 file systems on different physical disk drives
+in parallel to reduce the total amount of time needed to check all of the
+file systems.
+.PP
+If no file systems are specified on the command line, and the
+.B \-A
+option is not specified,
+.B fsck
+will default to checking file systems in
+.B /etc/fstab
+serially.  This is equivalent to the
+.B \-As
+options.
 .PP
 The exit code returned by
 .B fsck
@@ -45,178 +66,349 @@ is the sum of the following conditions:
 .br
 \      16\     \-\ Usage or syntax error
 .br
+\      32\     \-\ Fsck canceled by user request
+.br
 \      128\    \-\ Shared library error
 .br
-The exit code returned when all file systems are checked using the
-.B -A
-option is the bit-wise OR of the exit codes for each
+The exit code returned when multiple file systems are checked
+is the bit-wise OR of the exit codes for each
 file system that is checked.
 .PP
 In actuality,
 .B fsck
 is simply a front-end for the various file system checkers
 (\fBfsck\fR.\fIfstype\fR) available under Linux.  The file
-system-specific checker is searched for in /sbin first, then in /etc/fs
-and /etc, and finally in the directories listed in the PATH environment
+system-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 file system-specific checker manual pages for
 further details.
 .SH OPTIONS
 .TP
-.B -s
-Serialize 
-.B fsck 
-operations.  This is a good idea if you checking multiple
-filesystems and the checkers are in an interactive mode.  (Note:
+.B \-s
+Serialize
+.B fsck
+operations.  This is a good idea if you are checking multiple
+file systems and the checkers are in an interactive mode.  (Note:
 .BR e2fsck (8)
-runs in an interactive mode by default.  To make 
+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
+.B \-p
 or
-.B -a
-option, if you wish for errors to be corrected automatically, or
-the 
-.B -n
+.B \-a
+option, if you wish for errors to be corrected automatically, or the
+.B \-n
 option if you do not.)
 .TP
-.BI -t \ fstype
-Specifies the type of file system to be checked.  When the
-.B \-A 
-flag is specified, only filesystems that match 
-.I fstype
-are checked.  If 
-.I fstype
-is prefixed with 
-.B no
-then only filesystems whose type does not match
-.I fstype
-are checked.
+.BI \-t " fslist"
+Specifies the type(s) of file system to be checked.  When the
+.B \-A
+flag is specified, only file systems that match
+.I fslist
+are checked.  The
+.I fslist
+parameter is a comma-separated list of file systems and options
+specifiers.  All of the file systems in this comma-separated list may be
+prefixed by a negation operator
+.RB ' no '
+or
+.RB ' ! ',
+which requests that only those file systems not listed in
+.I fslist
+will be checked.  If all of the file systems in
+.I fslist
+are not prefixed by a negation operator, then only those file systems
+listed
+in
+.I fslist
+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 file systems 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 file systems that do not have
+.I fs-option
+in their mount options field of
+.B /etc/fstab
+will be checked.
 .sp
-Normally, the filesystem type is deduced by searching for
+For example, if
+.B opts=ro
+appears in
+.IR fslist ,
+then only file systems 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 file system 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 file system type is deduced by searching for
 .I filesys
-in the 
-.I /etc/fstab 
+in the
+.I /etc/fstab
 file and using the corresponding entry.
-If the type can not be deduced, 
-.B fsck
-will use the type specified by the 
+If the type can not be deduced, and there is only a single file system
+given as an argument to the
 .B \-t
-option if it specifies a unique filesystem type.  If this type is not
-available, then the default file system type (currently ext2) is used. 
+option,
+.B fsck
+will use the specified file system type.  If this type is not
+available, then the default file system type (currently ext2) is used.
 .TP
-.B -A
+.B \-A
 Walk through the
 .I /etc/fstab
 file and try to check all file systems in one run.  This option is
 typically used from the
 .I /etc/rc
-system initalization file, instead of multiple commands for checking
+system initialization file, instead of multiple commands for checking
 a single file system.
 .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 
+The root file system will be checked first unless the
+.B \-P
+option is specified (see below).  After that,
+file systems will be checked in the order specified by the
+.I fs_passno
+(the sixth) field in the
 .I /etc/fstab
-file.  If there are multiple filesystems with the same pass number, 
-e2fsck will attempt to check them in parallel, although it will avoid running 
-multiple filesystem checks on the same physical disk.  Hence, 
-a very common configuration in 
+file.
+File Systems with a
+.I fs_passno
+value of 0 are skipped and are not checked at all.  File Systems with a
+.I fs_passno
+value of greater than zero will be checked in order,
+with file systems with the lowest
+.I fs_passno
+number being checked first.
+If there are multiple file systems with the same pass number,
+fsck will attempt to check them in parallel, although it will avoid running
+multiple file system checks on the same physical disk.
+.sp
+Hence, a very common configuration in
 .I /etc/fstab
-files is to set the root filesystem to have a 
+files is to set the root file system to have a
 .I fs_passno
 value of 1
-and to set all filesystems to have a
+and to set all other file systems 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 automatically run file system 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
+not to use this configuration if they need to avoid multiple file system
 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.
 .TP
-.B -C
-Display completion/progress bars for those filesystems checkers (currently
-only for ext2) which support them.   Fsck will manage the filesystem checkers
-so that only one of them will display a progress bar at a time.
+.B \-C\fR [ \fI "fd" \fR ]
+Display completion/progress bars for those file system checkers (currently
+only for ext2 and ext3) which support them.   Fsck will manage the
+file system 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 -N
+.B \-M
+Do not check mounted file systems and return an exit code of 0
+for mounted file systems.
+.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.
+.B \-P
+When the
+.B \-A
+flag is set, check the root file system in parallel with the other file systems.
 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) 
+since if the root file system 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).
+file system to be small and compact (which is really the right solution).
 .TP
-.B -R
+.B \-R
 When checking all file systems with the
 .B \-A
 flag, skip the root file system (in case it's already mounted read-write).
 .TP
-.B -T
+.B \-T
 Don't show the title on startup.
 .TP
-.B -V
+.B \-V
 Produce verbose output, including all file system-specific commands
 that are executed.
 .TP
-.B fsck-options
-Any options which are not understood by 
-.BR fsck ,
-or which follow the
-.B --
-option are treated as file system-specific options to be passed to the
+.B fs-specific-options
+Options which are not understood by
+.B fsck
+are passed to the file system-specific checker.  These arguments
+.B must
+not take arguments, as there is no
+way for
+.B fsck
+to be able to properly guess which arguments take options and which
+don't.
+.IP
+Options and arguments which follow the
+.B \-\-
+are treated as file system-specific options to be passed to the
 file system-specific checker.
+.IP
+Please note that fsck is not
+designed to pass arbitrarily complicated options to file system-specific
+checkers.  If you're doing something complicated, please just
+execute the file system-specific checker directly.  If you pass
+.B fsck
+some horribly complicated option 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
-Currently, standardized file system-specific options are somewhat in
-flux.  Although not guaranteed, the following options are supported
+Options to different file system-specific fsck's are not standardized.
+If in doubt, please consult the man pages of the file system-specific
+checker.  Although not guaranteed, the following options are supported
 by most file system checkers:
 .TP
-.B -a
+.B \-a
 Automatically repair the file system without any questions (use
-this option with caution).  Note that 
+this option with caution).  Note that
 .BR e2fsck (8)
-supports 
-.B -a
-for backwards compatibility only.  This option is mapped to 
+supports
+.B \-a
+for backwards compatibility only.  This option is mapped to
 .BR e2fsck 's
-.B -p
-option which is safe to use, unlike the 
-.B -a 
-option that most file system checkers support.
+.B \-p
+option which is safe to use, unlike the
+.B \-a
+option that some file system checkers support.
 .TP
-.B -r
-Interactively repair the filesystem (ask for confirmations).  Note: It
+.B \-n
+For some file system-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 file system-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 file system (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 
+run in parallel.  Also note that this is
 .BR e2fsck 's
 default behavior; it supports this option for backwards compatibility
 reasons only.
+.TP
+.B \-y
+For some file system-specific checkers, the
+.B \-y
+option will cause the fs-specific fsck to always attempt to fix any
+detected file system corruption automatically.  Sometimes an expert may
+be able to do better driving the fsck manually.  Note that
+.B not
+all file system-specific checkers implement this option.  In particular
+.BR fsck.minix (8)
+and
+.BR fsck.cramfs (8)
+does not support the
+.B -y
+option as of this writing.
 .SH AUTHOR
 Theodore Ts'o (tytso@mit.edu)
-.PP
-The manual page was shamelessly adapted from David Engel and Fred van
-Kempen's generic 
-.B fsck
-front end program, which was in turn shamelessly
-adapted from Remy Card's version for the ext2 file system.
 .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 run all of the specified file systems in parallel,
+regardless of whether the file systems 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.)
+.TP
+.B FSCK_MAX_INST
+This environment variable will limit the maximum number of file system
+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 file system 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 file system 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 file system 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.minix (8),
 .BR fsck.ext2 (8)
 or
+.BR fsck.ext3 (8)
+or
 .BR e2fsck (8),
-.BR fsck.xiafs (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).