freebsd-skq/sbin/quotacheck/quotacheck.8
2010-04-28 05:33:59 +00:00

204 lines
5.6 KiB
Groff

.\" Copyright (c) 1983, 1990, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Robert Elz at The University of Melbourne.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)quotacheck.8 8.1 (Berkeley) 6/5/93
.\" $FreeBSD$
.\"
.Dd January 25, 2007
.Dt QUOTACHECK 8
.Os
.Sh NAME
.Nm quotacheck
.Nd file system quota consistency checker
.Sh SYNOPSIS
.Nm
.Op Fl guv
.Op Fl c Ar 32 | 64
.Op Fl l Ar maxrun
.Fl a
.Nm
.Op Fl guv
.Op Fl c Ar 32 | 64
.Ar filesystem ...
.Sh DESCRIPTION
The
.Nm
utility examines each file system,
builds a table of current disk usage,
and compares this table against that recorded
in the disk quota file for the file system.
If any inconsistencies are detected, both the
quota file and the current system copy of the
incorrect quotas are updated (the latter only
occurs if an active file system is checked).
By default both user and group quotas are checked.
.Pp
The following options are available:
.Bl -tag -width indent
.It Fl a
If supplied in place of any file system names,
.Nm
will check all the file systems indicated in
.Pa /etc/fstab
to be read-write with disk quotas.
By default only the types of quotas listed in
.Pa /etc/fstab
are checked.
.It Fl c Ar 32 | 64
Before performing its checks,
.Nm
will convert the quota file to the specified word size.
A conversion size of 64 is given to request conversion to
the new 64-bit quota file format.
A conversion size of 32 is given to request conversion back to
the old 32-bit quota file format.
The original quota file is left unchanged and moved aside with an
underscore and its format size plus a
.Pa .orig
extension added to its name.
Thus, the original 32-bit
.Pa quota.user
quota file converted to the 64-bit format quota file will be renamed to
.Pa quota.user_32.orig .
.It Fl g
Only group quotas listed in
.Pa /etc/fstab
are to be checked.
.It Fl l Ar maxrun
Specifies the maximum number of concurrent file systems
to check in parallel.
If this option is omitted, or if
.Ar maxrun
is zero, parallel passes are run as per
.Xr fsck 8 .
This option is deprecated and parallel passes are always run
as per
.Xr fsck 8 .
.It Fl u
Only user quotas listed in
.Pa /etc/fstab
are to be checked.
.It Fl v
Report discrepancies between the
calculated and recorded disk quotas and other additional diagnostic messages.
.El
.Pp
Specifying both
.Fl g
and
.Fl u
is equivalent to the default.
Parallel passes are run on the file systems required,
using the pass numbers in
.Pa /etc/fstab
in an identical fashion to
.Xr fsck 8 .
.Pp
Normally,
.Nm
operates silently.
.Pp
The
.Nm
utility expects each file system to be checked to have a
quota files named
.Pa quota.user
and
.Pa quota.group
which are located at the root of the associated file system.
These defaults may be overridden in
.Pa /etc/fstab .
If a file is not present,
.Nm
will create it.
These files should be edited with the
.Xr edquota 8
utility.
.Pp
The
.Nm
utility is normally run at boot time from the
.Pa /etc/rc
file.
The rc startup procedure is controlled by the
.Pa /etc/rc.conf
variable
.Ar check_quotas .
Note that to enable this functionality in
.Pa /etc/rc
you also need to enable startup quota procedures
with the variable
.Ar enable_quotas
in
.Pa /etc/rc.conf .
The kernel must also be built with
.Cd "options QUOTA" .
.Pp
The
.Nm
utility accesses the raw device in calculating the actual
disk usage for each user.
Thus, the file systems
checked should be quiescent while
.Nm
is running.
.Sh FILES
.Bl -tag -width quota.group -compact
.It Pa quota.user
at the file system root with user quotas
.It Pa quota.group
at the file system root with group quotas
.It Pa /etc/fstab
default file systems
.El
.Sh SEE ALSO
.Xr quota 1 ,
.Xr quotactl 2 ,
.Xr fstab 5 ,
.Xr rc.conf 5 ,
.Xr edquota 8 ,
.Xr fsck 8 ,
.Xr quotaon 8 ,
.Xr repquota 8
.Sh HISTORY
The
.Nm
utility appeared in
.Bx 4.2 .
.Sh BUGS
The quota system will ignore UIDs or GIDs that would be negative
when evaluated as a signed value.
Typically those types of ids can appear in the file system from NFS
mounts or archive files from other operating systems.
Extremely large UIDs or GIDs will cause
.Nm
to run for an unreasonable amount of time and also produce extremely
large quota data files.