Imported upstream version 1.5
[manpages-zh.git] / src / man8 / fsck.8
blob047fa0010b5819908cac525732ea940cf55a6297
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 "July 2003" "E2fsprogs version 1.34"
6 .SH NAME
7 fsck \- 检查并修复Linux文件系统
8 .SH 总览 SYNOPSIS
9 .B fsck
11 .B \-sACVRTNP
14 .B \-t
15 .I fstype
16
17 .I [filesys ... ]
18 [\-\-] [
19 .B fs-specific-options
21 .SH 描述 DESCRIPTION
22 .B fsck
23 通常用来检查并适当修复一个或多个Linux文件系统.
24 .I filesys
25 可以是一个设备名(例如:
26 .IR /dev/hdc1 ", " /dev/sdb2 ),
27 一个挂载点(例如:
28 .IR / ", " /usr ", " /home ),
29 或一个ext2文件系统的磁盘标签, 也可以是UUID指定符(例如:
30 UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd 或 LABEL=root).  
31 通常,
32 .B fsck 
33 会试着以并行的方式同时在不同的物理磁盘上运行文件系统检查,这样可以减少对所有文件系统进行检查的时间。
34 .PP
35 如果没有在命令行指定文件系统,并且没有指定
36 .B \-A 
37 选项,
38 .B fsck
39 将默认顺序地检查
40 .B /etc/fstab
41 中登记的文件系统。这和使用
42 .B \-As
43 选项是相同的。
44 .PP
45 .B fsck
46 退出的返回值是下列情况之和:
47 .br
48 \       0\      \-\ 没有错误
49 .br
50 \       1\      \-\ 文件系统有错但已修复
51 .br
52 \       2\      \-\ 系统应当重启
53 .br
54 \       4\      \-\ 文件系统错误没有修复
55 .br
56 \       8\      \-\ 运行错误
57 .br
58 \       16\     \-\ 用法或语法错误
59 .br
60 \       32\     \-\ 用户撤销了fsck 操作
61 .br
62 \       128\    \-\ 共享库出错
63 .br
64 当检测多个文件系统时,退出的返回值是对每个文件系统检查的返回值按位或的结果。
65 .PP
66 实际上,
67 .B fsck
68 只是Linux 中不同的文件系统检查器(\fBfsck\fR.\fIfstype\fR)的一个前端。首先,它在
69 .I /sbin
70 中搜索特定文件系统的检查器,然后在
71 .I /etc/fs
72
73 .IR /etc 
74 中搜索,最后在 PATH 环境变量中列出的路径中搜索。请查看特定文件系统的检查器的手册页来获取细节信息。
75 .SH 选项 OPTIONS
76 .TP
77 .B \-s
78 顺序地进行
79 .B fsck 
80 操作。如果你要检查多个文件系统,并且检查器运行在交互模式,这样作比较有好处。(注意:
81 .BR e2fsck (8)
82 默认是以交互方式运行的。要使
83 .BR e2fsck (8)
84 以非交互方式运行,你必须指定
85 .B \-p
86
87 .B \-a
88 选项,如果你想要自动纠正错误,或
89 .B \-n
90 选项,如果不想自动纠正错误。)
91 .TP
92 .BI \-t " fslist"
93 指定要检查的文件系统的类型。当指定了
94 .B \-A
95 标志时,只有
96 .I fslist
97 中列出的类型的文件系统会被检查。
98 .I fslist
99 参数是一个以逗号分隔的文件系统类型列表以及选项说明符。可以在这个以逗号分隔的列表的所有文件系统前面加上否定前缀
100 .RB ' no '
102 .RB ' ! '
103 来使得只有没有列在
104 .I fslist
105 中的文件系统将被检查。如果并非
106 .I fslist
107 中列出的所有文件系统都加上了否定前缀,那么只有
108 .I fslist
109 中列出的文件系统将被检查。
111 选项说明符也可能包含在这个以逗号分隔的列表
112 .IR fslist
113 中。它们的格式是
114 .BI opts= fs-option\fR
115 。如果出现了选项说明符,那么只有在
116 .B /etc/fstab
117 中它们的挂载选项字段中不包含
118 .I fs-option
119 的文件系统将被检查。
120 如果选项说明符有否定前缀,那么只有在
121 .B /etc/fstab
122 中它们的挂载选项字段中包含
123 .I fs-option
124 的文件系统将被检查。
126 例如,如果
127 .IR fslist
128 中出现了
129 .B opts=ro
130 那么只有
131 .B /etc/fstab 
132 中,挂载选项包含
133 .B ro
134 的文件系统将被检查。
136 为了和Mandrake 发行版兼容(它的启动脚本依赖于一个未经许可而对
137 .B fsck
138 程序用户接口作出的改变),如果
139 .IR fslist
140 中有一个
141 .B loop
142 文件系统,它被视为指定了
143 .B opts=loop
144 作为
145 .B \-t
146 选项的参数。
148 一般地,文件系统类型是在
149 .I /etc/fstab 
150 中通过搜索与
151 .I filesys
152 相应的条目得到的。如果不能这样推知类型,并且
153 .B \-t 
154 选项只有一个文件系统参数,
155 .B fsck
156 将使用指定的文件系统类型。如果不能使用这种类型,将使用默认的文件系统类型(当前是ext2)。
158 .B \-A
159 搜索
160 .I /etc/fstab
161 文件,一次检查所有在文件中有定义的文件系统。这个选项典型地用在
162 .I /etc/rc
163 系统初始化文件中,而不使用多条命令来分别检查各独立的分区。
165 如果没有使用
166 .B \-P
167 选项,则根文件系统将第一个被检查。之后,将按
168 .I /etc/fstab
169 文件中第六字段
170 .I fs_passno
171 指定的顺序对各文件系统进行检查。
172 .I fs_passno
173 值为0 的文件系统将被跳过,不会被检查。
174 .I fs_passno
175 值大于0 的文件系统将被按顺序检查,
176 .I fs_passno 值最小的文件系统将被最先检查。
177 如果多个文件系统有相同的pass号,fsck将试着并行处理这些文件系统,尽管它不允许在同一个物理磁盘上同时运行多个文件系统检查程序。
179 因此,
180 .I /etc/fstab
181 文件中的一个很普遍的设置是将root文件系统的
182 .I fs_passno
183 设为1,定义其它文件系统的
184 .I fs_passno
185 为2。这样就充许
186 .B fsck
187 程序自动以并行的方式运行文件系统检查, 如果这样有好处的话。系统管理员可能会出于某些原因而不希望并行运行多个文件系统检查--例如,如果内存不够,那么过多的换页会成为系统瓶颈。
189 .B \-C
190 如果文件系统检查器支持的话(当前只有ext2),显示进度条。fsck 将管理各文件系统检查器,使得同一时间它们中只能有一个可以显示进度条。
192 .B \-N
193 不执行,仅仅显示将执行的操作。
195 .B \-P
196 当设置了
197 .B \-A
198 标志时,将并行检查root文件系统和其他文件系统。这样是世界上最不安全的做法,因为如果root文件系统有问题,
199 .BR e2fsck (8) 
200 这样的程序可执行文件将被破坏!这个选项是为不想把root 文件系统分得小而紧凑(这才是正确的做法)的系统管理员准备的。
202 .B \-R
203 当使用
204 .B \-A
205 标志来检查所有文件系统时,跳过root文件系统 (它可能已经被挂载为可读写)。
207 .B \-T
208 启动时不显示标题。
210 .B \-V
211 产生冗余输出,包含所有被执行的特定文件系统的命令。
213 .B fs-specific-options
214 .B fsck 
215 不理解的选项被传递给特定文件系统的检查器。这些选项
216 .B 决不能
217 有参数,因为
218 .B fsck
219 不能判断出哪个选项有参数,那些没有。
222 .B \-\-
223 引导的选项和参数将被当作特定文件系统的选项传给它的检查器。
225 注意 fsck 没有为传递任意复杂的选项给特定文件系统的检查器而专门设计。如果你要做复杂的操作,请直接执行特定文件系统的检查器。如果你传给
226 .B fsck
227 极其复杂的选项和参数,它没有按照你想要的那样工作,
228 .B 不要把它报告为一个bug!
229 You're almost certainly doing something that you shouldn't be doing with 
230 .BR fsck.
232 当前,标准的特定文件系统的选项仍在改进之中。尽管不能保证,还是有下列这些选项可以被大部分文件系统检查器所支持。
234 .B \-a
235 不提问,自动修复文件系统(请小心使用此选项)。注意
236 .BR e2fsck (8)
237 支持
238 .B \-a
239 仅仅是为了向前兼容。这个选项被映射到
240 .BR e2fsck
242 .B \-p
243 选项,那比较安全一点,不像大多数文件系统检查器支持的
244 .B \-a
245 那样。
247 .B \-r
248 交互式地修复文件系统错误(询问确认)。注意: 如果多个 fsck 在并行执行,这不是一个好想法。还要注意
249 .BR e2fsck
250 的默认行为;它也只为了向前兼容才保留这个选项。
251 .SH 作者 AUTHOR
252 Theodore Ts'o (tytso@mit.edu)
253 .SH 文件 FILES
254 .IR /etc/fstab
255 .SH 环境变量 ENVIRONMENT VARIABLES
256 .B fsck
257 程序的行为受下列环境变量影响:
259 .B FSCK_FORCE_ALL_PARALLEL
260 如果设置了这个环境变量,
261 .B fsck
262 将试着并行运行所有指定的文件系统检查,不管这些文件系统是不是在同一设备上。(这对于RAID系统或者高端存储系统比如IBM或者EMC出售的那种很有用)
264 .B FSCK_MAX_INST
265 这个环境变量将限制同时可以运行的文件系统检查器的最大数量。这样使得拥有大量磁盘的系统避免
266 .B fsck
267 一次启动过多文件系统检查器,那样有可能耗尽机器的CPU和内存资源。如果值为0,可以孵化出没有限制的数量的进程,这是当前的默认值。将来版本的
268 .B fsck
269 将试着根据收集操作系统的统计数据,自动判断应当启动多少文件系统检查。
271 .B PATH
272 .B PATH
273 环境变量用来查找文件系统检查器。一些系统目录会被最先搜索:
274 .BR /sbin ,
275 .BR /sbin/fs.d ,
276 .BR  /sbin/fs ,
277 .BR /etc/fs ,
278 和 
279 .BR /etc .
280 然后才搜索
281 .B PATH
282 环境变量中设置的目录集合。
284 .B FSTAB_FILE
285 这个环境变量允许系统管理员指定
286 .B /etc/fstab
287 文件的位置。它也为
288 .BR fsck
289 的开发者做测试之用。
290 .SH 参见 SEE ALSO
291 .BR fstab (5),
292 .BR mkfs (8),
293 .BR fsck.minix (8),
294 .BR fsck.ext2 (8)
295 或者
296 .BR e2fsck (8),
297 .BR fsck.xiafs (8).
299 .SH "[中文版维护人]"
300 .B 袁乙钧 <bbbush@163.com>
301 .SH "[中文版最新更新]"
302 .B 2003.11.01
303 .SH "《中国linux论坛man手册页翻译计划》:"
304 .BI http://cmpp.linuxforum.net