Whamcloud - gitweb
ChangeLog, fsck.8.in, fsck.c:
[tools/e2fsprogs.git] / misc / fsck.8.in
1 .\" -*- nroff -*-
2 .\" Copyright 1993, 1994, 1995 by Theodore Ts'o.  All Rights Reserved.
3 .\" This file may be copied under the terms of the GNU Public License.
4 .\" 
5 .TH FSCK 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
6 .SH NAME
7 fsck \- check and repair a Linux file system
8 .SH SYNOPSIS
9 .B fsck
10 [
11 .B \-sACVRTNP
12 ]
13 [
14 .B \-t
15 .I fstype
16 ] [\-\-] [
17 .B fsck-options
18 ]
19 .I filesys [ ... ]
20 .SH DESCRIPTION
21 .B fsck
22 is used to check and optionally repair a one or more Linux file systems.  
23 .I filesys
24 can be a device name (e.g.
25 .IR /dev/hdc1 ", " /dev/sdb2 ),
26 a mount point (e.g.
27 .IR / ", " /usr ", " /home ),
28 or an ext2 label or UUID specifier (e.g.
29 UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd or LABEL=root).  
30 The 
31 .B fsck 
32 program will try to run filesystems on different physical disk drives 
33 in parallel to reduce total amount time to check all of the filesystems.
34 .PP
35 The exit code returned by
36 .B fsck
37 is the sum of the following conditions:
38 .br
39 \       0\      \-\ No errors
40 .br
41 \       1\      \-\ File system errors corrected
42 .br
43 \       2\      \-\ System should be rebooted
44 .br
45 \       4\      \-\ File system errors left uncorrected
46 .br
47 \       8\      \-\ Operational error
48 .br
49 \       16\     \-\ Usage or syntax error
50 .br
51 \       128\    \-\ Shared library error
52 .br
53 The exit code returned when all file systems are checked using the
54 .B \-A
55 option is the bit-wise OR of the exit codes for each
56 file system that is checked.
57 .PP
58 In actuality,
59 .B fsck
60 is simply a front-end for the various file system checkers
61 (\fBfsck\fR.\fIfstype\fR) available under Linux.  The file
62 system-specific checker is searched for in
63 .I /sbin
64 first, then in
65 .I /etc/fs
66 and
67 .IR /etc ,
68 and finally in the directories listed in the PATH environment
69 variable.  Please see the file system-specific checker manual pages for
70 further details.
71 .SH OPTIONS
72 .TP
73 .B \-s
74 Serialize 
75 .B fsck 
76 operations.  This is a good idea if you checking multiple
77 filesystems and the checkers are in an interactive mode.  (Note:
78 .BR e2fsck (8)
79 runs in an interactive mode by default.  To make 
80 .BR e2fsck (8)
81 run in a non-interactive mode, you must either specify the
82 .B \-p
83 or
84 .B \-a
85 option, if you wish for errors to be corrected automatically, or the 
86 .B \-n
87 option if you do not.)
88 .TP
89 .BI \-t " fslist"
90 Specifies the type(s) of file system to be checked.  When the
91 .B \-A 
92 flag is specified, only filesystems that match 
93 .I fslist
94 are checked.  The
95 .I fslist
96 parameter is a comma-separated list of filesystems and options
97 specifiers.  All of the filesystems in this comma-separated list may be
98 prefixed by a negation operator 
99 .RB ' no '
100 or 
101 .RB ' ! ',
102 which requests that only those filesystems not listed in
103 .I fslist
104 will be checked.  If all of the filesystems in 
105 .I fslist
106 are not prefixed by a negation operator, then only those filesystems
107 listed
108 in
109 .I fslist
110 will be checked.
111 .sp
112 Options specifiers may be included in the comma separated
113 .IR fslist .
114 They must have the format 
115 .BI opts= fs-option\fR,
116 and may be prefixed by a negation operator.  If an options specifier is
117 present, then only filesystems whose 
118 .B /etc/fstab
119 entry do (or do not, if the options specifier was prefixed by a negation
120 operator) contain 
121 .I fs-option
122 in their options field of the
123 .B /etc/fstab 
124 file will be checked.
125 .sp
126 For compatibility with Mandrake distributions whose boot scripts
127 depend upon an unauthorized UI change to the
128 .B fsck
129 program, if a filesystem type of
130 .B loop
131 is found in
132 .IR fslist ,
133 it is treated as if
134 .B opts=loop
135 were specified as an argument to the
136 .B \-t
137 option.
138 .sp
139 Normally, the filesystem type is deduced by searching for
140 .I filesys
141 in the 
142 .I /etc/fstab 
143 file and using the corresponding entry.
144 If the type can not be deduced, and there is only a single filesystem 
145 given as an argument to the 
146 .B \-t 
147 option, 
148 .B fsck
149 will use the specified filesystem type.  If this type is not
150 available, then the default file system type (currently ext2) is used. 
151 .TP
152 .B \-A
153 Walk through the
154 .I /etc/fstab
155 file and try to check all file systems in one run.  This option is
156 typically used from the
157 .I /etc/rc
158 system initalization file, instead of multiple commands for checking
159 a single file system.
160 .sp
161 The root filesystem will be checked first unless the
162 .B \-P
163 option is specified (see below).  After that, 
164 filesystems will be checked in the order specified by the 
165 .I fs_passno 
166 (the sixth) field in the 
167 .I /etc/fstab
168 file.  
169 Filesystems with a 
170 .I fs_passno
171 value of 0 are skipped and are not checked at all.
172 If there are multiple filesystems with the same pass number, 
173 fsck will attempt to check them in parallel, although it will avoid running 
174 multiple filesystem checks on the same physical disk.  
175 Hence, a very common configuration in 
176 .I /etc/fstab
177 files is to set the root filesystem to have a 
178 .I fs_passno
179 value of 1
180 and to set all filesystems to have a
181 .I fs_passno
182 value of 2.  This will allow
183 .B fsck
184 to automatically run filesystem checkers in parallel if it is advantageous
185 to do so.  System administrators might choose
186 not to use this configuration if they need to avoid multiple filesystem
187 checks running in parallel for some reason --- for example, if the
188 machine in question is short on memory so that
189 excessive paging is a concern.
190 .TP
191 .B \-C
192 Display completion/progress bars for those filesystems checkers (currently
193 only for ext2) which support them.   Fsck will manage the filesystem checkers
194 so that only one of them will display a progress bar at a time.
195 .TP
196 .B \-N
197 Don't execute, just show what would be done.
198 .TP
199 .B \-P
200 When the 
201 .B \-A
202 flag is set, check the root filesystem in parallel with the other filesystems.
203 This is not the safest thing in the world to do,
204 since if the root filesystem is in doubt things like the 
205 .BR e2fsck (8) 
206 executable might be corrupted!  This option is mainly provided
207 for those sysadmins who don't want to repartition the root
208 filesystem to be small and compact (which is really the right solution).
209 .TP
210 .B \-R
211 When checking all file systems with the
212 .B \-A
213 flag, skip the root file system (in case it's already mounted read-write).
214 .TP
215 .B \-T
216 Don't show the title on startup.
217 .TP
218 .B \-V
219 Produce verbose output, including all file system-specific commands
220 that are executed.
221 .TP
222 .B fsck-options
223 Options which which are not understood by 
224 .B fsck 
225 are passed to the filesystem-specific checker.  These arguments
226 .B must
227 not take arguments, as there is no
228 way for 
229 .B fsck
230 to be able to properly guess which arguments take options and which
231 don't.
232 .IP
233 Options and arguments which follow the
234 .B \-\-
235 are treated as file system-specific options to be passed to the
236 file system-specific checker.
237 .IP
238 Please note that fsck is not
239 designed to pass arbitrarily complicated options to filesystem-specific
240 checkers.  If you're doing something complicated, please just
241 execute the filesystem-specific checker directly.  If you pass 
242 .B fsck
243 some horribly complicated option and arguments, and it doesn't do
244 what you expect, 
245 .B don't bother reporting it as a bug.
246 You're almost certainly doing something that you shouldn't be doing
247 with 
248 .BR fsck.
249 .PP
250 Currently, standardized file system-specific options are somewhat in
251 flux.  Although not guaranteed, the following options are supported
252 by most file system checkers:
253 .TP
254 .B \-a
255 Automatically repair the file system without any questions (use
256 this option with caution).  Note that 
257 .BR e2fsck (8)
258 supports 
259 .B \-a
260 for backwards compatibility only.  This option is mapped to 
261 .BR e2fsck 's
262 .B \-p
263 option which is safe to use, unlike the 
264 .B \-a 
265 option that most file system checkers support.
266 .TP
267 .B \-r
268 Interactively repair the filesystem (ask for confirmations).  Note: It
269 is generally a bad idea to use this option if multiple fsck's are being
270 run in parallel.  Also note that this is 
271 .BR e2fsck 's
272 default behavior; it supports this option for backwards compatibility
273 reasons only.
274 .SH AUTHOR
275 Theodore Ts'o (tytso@mit.edu)
276 .PP
277 The manual page was shamelessly adapted from David Engel and Fred van
278 Kempen's generic 
279 .B fsck
280 front end program, which was in turn shamelessly
281 adapted from Remy Card's version for the ext2 file system.
282 .SH FILES
283 .IR /etc/fstab .
284 .SH SEE ALSO
285 .BR fstab (5),
286 .BR mkfs (8),
287 .BR fsck.minix (8),
288 .BR fsck.ext2 (8)
289 or
290 .BR e2fsck (8),
291 .BR fsck.xiafs (8).