xref: /freebsd/sbin/fsck/fsck.8 (revision 4c8945a06b01a5c8122cdeb402af36bb46a06acc)
1.\"	$NetBSD: fsck.8,v 1.19 1999/03/10 00:08:33 erh Exp $
2.\"
3.\" Copyright (c) 1996 Christos Zoulas.  All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\" 3. All advertising materials mentioning features or use of this software
14.\"    must display the following acknowledgement:
15.\"	This product includes software developed by Christos Zoulas.
16.\" 4. The name of the author may not be used to endorse or promote products
17.\"    derived from this software without specific prior written permission.
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29.\"
30.\" $FreeBSD$
31.\"
32.Dd January 25, 2009
33.Dt FSCK 8
34.Os
35.Sh NAME
36.Nm fsck
37.Nd file system consistency check and interactive repair
38.Sh SYNOPSIS
39.Nm
40.Op Fl Cdfnpvy
41.Op Fl B | F
42.Op Fl T Ar fstype : Ns Ar fsoptions
43.Op Fl t Ar fstype
44.Oo Ar special | node Oc ...
45.Sh DESCRIPTION
46The
47.Nm
48utility invokes file system-specific programs to check
49the special devices listed in the
50.Xr fstab 5
51file or in the command line for consistency.
52.Pp
53It is normally used in the script
54.Pa /etc/rc
55during automatic reboot.
56Traditionally,
57.Nm
58is invoked before the file systems are mounted
59and all checks are done to completion at that time.
60If background checking is available,
61.Nm
62is invoked twice.
63It is first invoked at the traditional time,
64before the file systems are mounted, with the
65.Fl F
66flag to do checking on all the file systems
67that cannot do background checking.
68It is then invoked a second time,
69after the system has completed going multiuser, with the
70.Fl B
71flag to do checking on all the file systems
72that can do background checking.
73Unlike the foreground checking,
74the background checking is started asynchronously
75so that other system activity can proceed
76even on the file systems that are being checked.
77.Pp
78If no file systems are specified,
79.Nm
80reads the table
81.Pa /etc/fstab
82to determine which file systems to check.
83Only partitions in
84.Pa /etc/fstab
85that are mounted
86.Dq rw ,
87.Dq rq
88or
89.Dq ro
90and that have non-zero pass number are checked.
91File systems with pass number 1 (normally just the root file system)
92are always checked one at a time.
93.Pp
94If not in preen mode, the remaining entries are checked in order of
95increasing pass number one at a time.
96This is needed when interaction with
97.Nm
98is required.
99.Pp
100In preen mode, after pass 1 completes, all remaining file systems are checked,
101in pass number order running one process per disk drive in parallel for each
102pass number in increasing order.
103.Pp
104In other words: In preen mode all pass 1 partitions are checked sequentially.
105Next all pass 2 partitions are checked in parallel, one process per disk drive.
106Next all pass 3 partitions are checked in parallel, one process per disk drive.
107etc.
108.Pp
109The disk drive containing each file system is inferred from the shortest prefix
110of the device name that ends in a digit; the remaining characters are assumed
111to be the partition and slice designators.
112.Pp
113The options are as follows:
114.Bl -tag -width indent
115.It Fl C
116Check if the
117.Dq clean
118flag is set in the superblock and skip file system checks if file system was
119properly dismounted and marked clean.
120.It Fl d
121Debugging mode.
122Just print the commands without executing them.
123Available
124only if
125.Nm
126is compiled to support it.
127.It Fl f
128Force checking of file systems, even when they are marked clean (for file systems
129that support this).
130.It Fl n
131Causes
132.Nm
133to assume no as the answer to all operator questions, except "CONTINUE?".
134.It Fl p
135Enter preen mode.
136In preen mode, only a restricted class of innocuous
137file system inconsistencies will be corrected.
138If unexpected inconsistencies caused by hardware or
139software failures are encountered, the check program
140will exit with a failure.
141See the manual pages for the individual check programs
142for a list of the sorts of failures that they correct
143when running in preen mode.
144.It Fl F
145Run in foreground mode.
146The check program for each file system is invoked with the
147.Fl F
148flag to determine whether it wishes to run as part of
149the boot up sequence,
150or if it is able to do its job in background after the
151system is up and running.
152A non-zero exit code indicates that it wants to run in foreground
153and the check program is invoked.
154A zero exit code indicates that it is able to run later in background
155and just a deferred message is printed.
156.It Fl B
157Run in background mode.
158The check program for each file system is invoked with the
159.Fl F
160flag to determine whether it wishes to run as part of
161the boot up sequence,
162or if it is able to do its job in background after the
163system is up and running.
164A non-zero exit code indicates that it wanted to run in foreground
165which is assumed to have been done, so the file system is skipped.
166A zero exit code indicates that it is able to run in background
167so the check program is invoked with the
168.Fl B
169flag to indicate that a check on the active file system should be done.
170When running in background mode,
171only one file system at a time will be checked.
172Note that background
173.Nm
174is limited to checking for only the most commonly occurring
175file system abnormalities.
176Under certain circumstances,
177some errors can escape background
178.Nm .
179It is recommended that you perform foreground
180.Nm
181on your systems periodically and whenever you encounter
182file-system\-related panics.
183.It Fl t Ar fstype
184Invoke
185.Nm
186only for the comma separated list of file system types.
187If the
188list starts with
189.Dq no
190then invoke
191.Nm
192for the file system types that are not specified in the list.
193.It Fl v
194Print the commands before executing them.
195.It Fl y
196Causes
197.Nm
198to assume yes
199as the answer to all operator questions.
200.It Fl T Ar fstype : Ns Ar fsoptions
201List of comma separated file system specific options for the specified
202file system type, in the same format as
203.Xr mount 8 .
204.El
205.Sh FILES
206.Bl -tag -width /etc/fstab -compact
207.It Pa /etc/fstab
208file system table
209.El
210.Sh SEE ALSO
211.Xr fstab 5 ,
212.Xr fsck_ffs 8 ,
213.Xr fsck_msdosfs 8 ,
214.Xr mount 8
215