xref: /freebsd/sbin/quotacheck/quotacheck.8 (revision 2008043f386721d58158e37e0d7e50df8095942d)
1.\" Copyright (c) 1983, 1990, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" Robert Elz at The University of Melbourne.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. Neither the name of the University nor the names of its contributors
16.\"    may be used to endorse or promote products derived from this software
17.\"    without specific prior written permission.
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29.\" SUCH DAMAGE.
30.\"
31.\"     @(#)quotacheck.8	8.1 (Berkeley) 6/5/93
32.\"
33.Dd January 25, 2007
34.Dt QUOTACHECK 8
35.Os
36.Sh NAME
37.Nm quotacheck
38.Nd file system quota consistency checker
39.Sh SYNOPSIS
40.Nm
41.Op Fl guv
42.Op Fl c Ar 32 | 64
43.Op Fl l Ar maxrun
44.Fl a
45.Nm
46.Op Fl guv
47.Op Fl c Ar 32 | 64
48.Ar filesystem ...
49.Sh DESCRIPTION
50The
51.Nm
52utility examines each file system,
53builds a table of current disk usage,
54and compares this table against that recorded
55in the disk quota file for the file system.
56If any inconsistencies are detected, both the
57quota file and the current system copy of the
58incorrect quotas are updated (the latter only
59occurs if an active file system is checked).
60By default both user and group quotas are checked.
61.Pp
62The following options are available:
63.Bl -tag -width indent
64.It Fl a
65If supplied in place of any file system names,
66.Nm
67will check all the file systems indicated in
68.Pa /etc/fstab
69to be read-write with disk quotas.
70By default only the types of quotas listed in
71.Pa /etc/fstab
72are checked.
73.It Fl c Ar 32 | 64
74Before performing its checks,
75.Nm
76will convert the quota file to the specified word size.
77A conversion size of 64 is given to request conversion to
78the new 64-bit quota file format.
79A conversion size of 32 is given to request conversion back to
80the old 32-bit quota file format.
81The original quota file is left unchanged and moved aside with an
82underscore and its format size plus a
83.Pa .orig
84extension added to its name.
85Thus, the original 32-bit
86.Pa quota.user
87quota file converted to the 64-bit format quota file will be renamed to
88.Pa quota.user_32.orig .
89.It Fl g
90Only group quotas listed in
91.Pa /etc/fstab
92are to be checked.
93.It Fl l Ar maxrun
94Specifies the maximum number of concurrent file systems
95to check in parallel.
96If this option is omitted, or if
97.Ar maxrun
98is zero, parallel passes are run as per
99.Xr fsck 8 .
100This option is deprecated and parallel passes are always run
101as per
102.Xr fsck 8 .
103.It Fl u
104Only user quotas listed in
105.Pa /etc/fstab
106are to be checked.
107.It Fl v
108Report discrepancies between the
109calculated and recorded disk quotas and other additional diagnostic messages.
110.El
111.Pp
112Specifying both
113.Fl g
114and
115.Fl u
116is equivalent to the default.
117Parallel passes are run on the file systems required,
118using the pass numbers in
119.Pa /etc/fstab
120in an identical fashion to
121.Xr fsck 8 .
122.Pp
123Normally,
124.Nm
125operates silently.
126.Pp
127The
128.Nm
129utility expects each file system to be checked to have a
130quota files named
131.Pa quota.user
132and
133.Pa quota.group
134which are located at the root of the associated file system.
135These defaults may be overridden in
136.Pa /etc/fstab .
137If a file is not present,
138.Nm
139will create it.
140These files should be edited with the
141.Xr edquota 8
142utility.
143.Pp
144The
145.Nm
146utility is normally run at boot time from the
147.Pa /etc/rc
148file.
149The rc startup procedure is controlled by the
150.Pa /etc/rc.conf
151variable
152.Ar check_quotas .
153Note that to enable this functionality in
154.Pa /etc/rc
155you also need to enable startup quota procedures
156with the variable
157.Ar enable_quotas
158in
159.Pa /etc/rc.conf .
160The kernel must also be built with
161.Cd "options QUOTA" .
162.Pp
163The
164.Nm
165utility accesses the raw device in calculating the actual
166disk usage for each user.
167Thus, the file systems
168checked should be quiescent while
169.Nm
170is running.
171.Sh FILES
172.Bl -tag -width quota.group -compact
173.It Pa quota.user
174at the file system root with user quotas
175.It Pa quota.group
176at the file system root with group quotas
177.It Pa /etc/fstab
178default file systems
179.El
180.Sh SEE ALSO
181.Xr quota 1 ,
182.Xr quotactl 2 ,
183.Xr fstab 5 ,
184.Xr rc.conf 5 ,
185.Xr edquota 8 ,
186.Xr fsck 8 ,
187.Xr quotaon 8 ,
188.Xr repquota 8
189.Sh HISTORY
190The
191.Nm
192utility appeared in
193.Bx 4.2 .
194.Sh BUGS
195The quota system will ignore UIDs or GIDs that would be negative
196when evaluated as a signed value.
197Typically those types of ids can appear in the file system from NFS
198mounts or archive files from other operating systems.
199Extremely large UIDs or GIDs will cause
200.Nm
201to run for an unreasonable amount of time and also produce extremely
202large quota data files.
203