|
|
1.1 root 1: .\" Copyright (c) 1980 Regents of the University of California.
2: .\" All rights reserved. The Berkeley software License Agreement
3: .\" specifies the terms and conditions for redistribution.
4: .\"
5: .\" @(#)fsck.8 6.4 (Berkeley) 5/5/88
6: .\"
7: .TH FSCK 8 "May 5, 1988"
8: .UC 4
9: .de us
10: \\$1\l'|0\(ul'
11: ..
12: .SH NAME
13: fsck \- file system consistency check and interactive repair
14: .SH SYNOPSIS
15: .B /etc/fsck
16: .B \-p
17: [
18: filesystem ...
19: ]
20: .br
21: .B /etc/fsck
22: [
23: .B \-b
24: block#
25: ] [
26: .B \-c
27: ] [
28: .B \-y
29: ] [
30: .B \-n
31: ] [
32: filesystem
33: ] ...
34: .SH DESCRIPTION
35: The first form of
36: .I fsck
37: preens a standard set of filesystems or the specified file systems.
38: It is normally used in the script
39: .B /etc/rc
40: during automatic reboot.
41: In this case
42: .I fsck
43: reads the table
44: .B /etc/fstab
45: to determine which file systems to check.
46: It uses the information there to inspect groups of disks in parallel taking
47: maximum advantage of i/o overlap to check the file systems
48: as quickly as possible.
49: Normally, the root file system will be checked on pass 1, other
50: ``root'' (``a'' partition) file systems on pass 2, other
51: small file systems on separate passes (e.g. the ``d'' file systems
52: on pass 3 and the ``e'' file systems on pass 4), and finally
53: the large user file systems on the last pass, e.g. pass 5.
54: Only partitions in fstab that are mounted ``rw'' or ``rq''
55: and that have non-zero pass number are checked.
56: .PP
57: The system takes care that only a restricted class of innocuous
58: inconsistencies can happen unless hardware or software failures intervene.
59: These are limited to the following:
60: .IP
61: Unreferenced inodes
62: .ns
63: .IP
64: Link counts in inodes too large
65: .ns
66: .IP
67: Missing blocks in the free map
68: .ns
69: .IP
70: Blocks in the free map also in files
71: .ns
72: .IP
73: Counts in the super-block wrong
74: .PP
75: These are the only inconsistencies that
76: .I fsck
77: with the
78: .B \-p
79: option will correct; if it encounters other inconsistencies, it exits
80: with an abnormal return status and an automatic reboot will then fail.
81: For each corrected inconsistency one or more lines will be printed
82: identifying the file system on which the correction will take place,
83: and the nature of the correction. After successfully correcting a file
84: system,
85: .I fsck
86: will print the number of files on that file system,
87: the number of used and free blocks,
88: and the percentage of fragmentation.
89: .PP
90: If sent a QUIT signal,
91: .I fsck
92: will finish the file system checks, then exit with an abnormal
93: return status that causes the automatic reboot to fail.
94: This is useful when you wish to finish the file system checks,
95: but do not want the machine to come up multiuser.
96: .PP
97: Without the
98: .B \-p
99: option,
100: .I fsck
101: audits and interactively repairs inconsistent conditions for file systems.
102: If the file system is inconsistent the operator is prompted for concurrence
103: before each correction is attempted.
104: It should be noted that some of the corrective actions which are not
105: correctable under the
106: .B \-p
107: option will result in some loss of data.
108: The amount and severity of data lost may be determined from the diagnostic
109: output.
110: The default action for each consistency correction
111: is to wait for the operator to respond \fByes\fP or \fBno\fP.
112: If the operator does not have write permission on the file system
113: .I fsck
114: will default to a
115: .BR "\-n " action.
116: .PP
117: .I Fsck
118: has more consistency checks than
119: its predecessors
120: .IR "check, dcheck, fcheck, " "and" " icheck"
121: combined.
122: .PP
123: The following flags are interpreted by
124: .I fsck.
125: .TP 6
126: .B \-b
127: Use the block specified immediately after the flag as
128: the super block for the file system. Block 32 is usually
129: an alternate super block.
130: .TP 6
131: .B \-y
132: Assume a yes response to all questions asked by
133: .I fsck;
134: this should be used with great caution as this is a free license
135: to continue after essentially unlimited trouble has been encountered.
136: .TP 6
137: .B \-n
138: Assume a no response to all questions asked by
139: .I fsck;
140: do not open the file system for writing.
141: .TP 6
142: .B \-c
143: If the file system is in the old (static table) format,
144: convert it to the new (dynamic table) format.
145: If the file system is in the new format,
146: convert it to the old format provided the old format
147: can support the filesystem configuration.
148: In interactive mode,
149: .I fsck
150: will list the direction the conversion is to be made
151: and ask whether the conversion should be done.
152: If a negative answer is given,
153: no further operations are done on the filesystem.
154: In preen mode,
155: the direction of the conversion is listed and done if
156: possible without user interaction.
157: Conversion in preen mode is best used when all the file systems
158: are being converted at once.
159: The format of a file system can be determined from the
160: first line of output from
161: .IR dumpfs (8).
162: .PP
163: If no filesystems are given to
164: .I fsck
165: then a default list of file systems is read from
166: the file
167: .BR /etc/fstab .
168: .PP
169: .ne 10
170: Inconsistencies checked are as follows:
171: .TP 6
172: 1.
173: Blocks claimed by more than one inode or the free map.
174: .br
175: .br
176: .ns
177: .TP 6
178: 2.
179: Blocks claimed by an inode outside the range of the file system.
180: .br
181: .br
182: .ns
183: .TP 6
184: 3.
185: Incorrect link counts.
186: .br
187: .br
188: .ns
189: .TP 6
190: 4.
191: Size checks:
192: .br
193: .ns
194: .IP "" 12
195: Directory size not of proper format.
196: .br
197: Partially truncated file.
198: .br
199: .br
200: .ns
201: .TP 6
202: 5.
203: Bad inode format.
204: .br
205: .br
206: .ns
207: .TP 6
208: 6.
209: Blocks not accounted for anywhere.
210: .br
211: .br
212: .ns
213: .TP 6
214: 7.
215: Directory checks:
216: .br
217: .br
218: .ns
219: .IP "" 12
220: File pointing to unallocated inode.
221: .br
222: Inode number out of range.
223: .br
224: .br
225: .ns
226: .TP 6
227: 8.
228: Super Block checks:
229: .br
230: .br
231: .ns
232: .IP "" 12
233: More blocks for inodes than there are in the file system.
234: .br
235: .br
236: .ns
237: .TP 6
238: 9.
239: Bad free block map format.
240: .br
241: .br
242: .ns
243: .TP 6
244: 10.
245: Total free block and/or free inode count incorrect.
246: .PP
247: Orphaned files and directories (allocated but unreferenced) are,
248: with the operator's concurrence, reconnected by
249: placing them in the
250: .B lost+found
251: directory.
252: The name assigned is the inode number.
253: If the
254: .I lost+found
255: directory does not exist, it is created.
256: If there is insufficient space its size is increased.
257: .PP
258: Checking the raw device is almost always faster.
259: .SH FILES
260: .br
261: .ns
262: .TP 21
263: /etc/fstab
264: contains default list of file systems to check.
265: .SH DIAGNOSTICS
266: The diagnostics produced by
267: .I fsck
268: are fully enumerated and explained in Appendix A of
269: ``Fsck \- The UNIX File System Check Program'' (SMM:5).
270: .SH "SEE ALSO"
271: fstab(5),
272: fs(5),
273: fsdb(8),
274: newfs(8),
275: mkfs(8),
276: crash(8V),
277: reboot(8)
278: .SH BUGS
279: There should be some way to start a \fBfsck \-p\fR at pass \fIn\fR.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.