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.\" 4. 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.\" $FreeBSD$ 33.\" 34.Dd January 25, 2007 35.Dt QUOTACHECK 8 36.Os 37.Sh NAME 38.Nm quotacheck 39.Nd file system quota consistency checker 40.Sh SYNOPSIS 41.Nm 42.Op Fl guv 43.Op Fl l Ar maxrun 44.Fl a 45.Nm 46.Op Fl guv 47.Ar filesystem ... 48.Sh DESCRIPTION 49The 50.Nm 51utility examines each file system, 52builds a table of current disk usage, 53and compares this table against that recorded 54in the disk quota file for the file system. 55If any inconsistencies are detected, both the 56quota file and the current system copy of the 57incorrect quotas are updated (the latter only 58occurs if an active file system is checked). 59By default both user and group quotas are checked. 60.Pp 61The following options are available: 62.Bl -tag -width indent 63.It Fl a 64If supplied in place of any file system names, 65.Nm 66will check all the file systems indicated in 67.Pa /etc/fstab 68to be read-write with disk quotas. 69By default only the types of quotas listed in 70.Pa /etc/fstab 71are checked. 72.It Fl g 73Only group quotas listed in 74.Pa /etc/fstab 75are to be checked. 76.It Fl l Ar maxrun 77Specifies the maximum number of concurrent file systems 78to check in parallel. 79If this option is omitted, or if 80.Ar maxrun 81is zero, parallel passes are run as per 82.Xr fsck 8 . 83.It Fl u 84Only user quotas listed in 85.Pa /etc/fstab 86are to be checked. 87.It Fl v 88Report discrepancies between the 89calculated and recorded disk quotas and other additional diagnostic messages. 90.El 91.Pp 92Specifying both 93.Fl g 94and 95.Fl u 96is equivalent to the default. 97Parallel passes are run on the file systems required, 98using the pass numbers in 99.Pa /etc/fstab 100in an identical fashion to 101.Xr fsck 8 . 102.Pp 103Normally, 104.Nm 105operates silently. 106.Pp 107The 108.Nm 109utility expects each file system to be checked to have a 110quota files named 111.Pa quota.user 112and 113.Pa quota.group 114which are located at the root of the associated file system. 115These defaults may be overridden in 116.Pa /etc/fstab . 117If a file is not present, 118.Nm 119will create it. 120These files should be edited with the 121.Xr edquota 8 122utility. 123.Pp 124The 125.Nm 126utility is normally run at boot time from the 127.Pa /etc/rc 128file. 129The rc startup procedure is controlled by the 130.Pa /etc/rc.conf 131variable 132.Ar check_quotas . 133Note that to enable this functionality in 134.Pa /etc/rc 135you also need to enable startup quota procedures 136with the variable 137.Ar enable_quotas 138in 139.Pa /etc/rc.conf . 140The kernel must also be built with 141.Cd "options QUOTA" . 142.Pp 143The 144.Nm 145utility accesses the raw device in calculating the actual 146disk usage for each user. 147Thus, the file systems 148checked should be quiescent while 149.Nm 150is running. 151.Sh FILES 152.Bl -tag -width quota.group -compact 153.It Pa quota.user 154at the file system root with user quotas 155.It Pa quota.group 156at the file system root with group quotas 157.It Pa /etc/fstab 158default file systems 159.El 160.Sh SEE ALSO 161.Xr quota 1 , 162.Xr quotactl 2 , 163.Xr fstab 5 , 164.Xr rc.conf 5 , 165.Xr edquota 8 , 166.Xr fsck 8 , 167.Xr quotaon 8 , 168.Xr repquota 8 169.Sh HISTORY 170The 171.Nm 172utility appeared in 173.Bx 4.2 . 174.Sh BUGS 175The quota system will ignore UIDs or GIDs that would be negative 176when evaluated as a signed value. 177Typically those types of ids can appear in the file system from NFS 178mounts or archive files from other operating systems. 179Extremely large UIDs or GIDs will cause 180.Nm 181to run for an unreasonable amount of time and also produce extremely 182large quota data files. 183