2c4214cba2
Via elge, thanks.
427 lines
11 KiB
Groff
427 lines
11 KiB
Groff
.\" $NetBSD: newfs.8,v 1.85 2019/04/13 19:29:27 maya Exp $
|
|
.\"
|
|
.\" Copyright (c) 1983, 1987, 1991, 1993, 1994
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" 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.
|
|
.\" 3. 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.
|
|
.\"
|
|
.\" @(#)newfs.8 8.6 (Berkeley) 5/3/95
|
|
.\"
|
|
.Dd April 13, 2019
|
|
.Dt NEWFS 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm newfs
|
|
.Nd construct a new file system
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl FGINZ
|
|
.Op Fl a Ar maxcontig
|
|
.Op Fl B Ar byte-order
|
|
.Op Fl b Ar block-size
|
|
.Op Fl d Ar maxbsize
|
|
.Op Fl e Ar maxbpg
|
|
.Op Fl f Ar frag-size
|
|
.Op Fl g Ar avgfilesize
|
|
.Op Fl h Ar avgfpdir
|
|
.Op Fl i Ar bytes-per-inode
|
|
.Op Fl m Ar free-space
|
|
.Op Fl n Ar inodes
|
|
.Op Fl O Ar filesystem-format
|
|
.Op Fl o Ar optimization
|
|
.Op Fl q Ar quota
|
|
.Op Fl S Ar sector-size
|
|
.Op Fl s Ar size
|
|
.Op Fl T Ar disk-type
|
|
.Op Fl v Ar volname
|
|
.Op Fl V Ar verbose
|
|
.Ar special
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
is used to initialize and clear file systems before first use.
|
|
Before running
|
|
.Nm
|
|
the disk must be labeled using
|
|
.Xr disklabel 8 .
|
|
.Nm
|
|
builds a file system on the specified special device
|
|
basing its defaults on the information in the disk label.
|
|
Typically the defaults are reasonable, however
|
|
.Nm
|
|
has numerous options to allow the defaults to be selectively overridden.
|
|
.Pp
|
|
Options with numeric arguments may contain an optional (case-insensitive)
|
|
suffix:
|
|
.Bl -tag -width 3n -offset indent -compact
|
|
.It b
|
|
Bytes; causes no modification.
|
|
(Default)
|
|
.It k
|
|
Kilo; multiply the argument by 1024.
|
|
.It m
|
|
Mega; multiply the argument by 1048576.
|
|
.It g
|
|
Giga; multiply the argument by 1073741824.
|
|
.It t
|
|
Tera; multiply the argument by 1099511627776.
|
|
.El
|
|
.Pp
|
|
The following options define the general layout policies.
|
|
.Bl -tag -width Fl
|
|
.It Fl a Ar maxcontig
|
|
This sets the obsolete maxcontig parameter.
|
|
.It Fl B Ar byte-order
|
|
Specify the metadata byte order of the file system to be created.
|
|
Valid byte orders are
|
|
.Sq be
|
|
and
|
|
.Sq le .
|
|
If no byte order is specified, the file system is created in host
|
|
byte order.
|
|
.It Fl b Ar block-size
|
|
The block size of the file system, in bytes.
|
|
It must be a power of two.
|
|
The smallest allowable size is 4096 bytes.
|
|
The default size depends upon the size of the file system:
|
|
.Pp
|
|
.Bl -tag -width "file system size" -compact -offset indent
|
|
.It Sy "file system size"
|
|
.Ar block-size
|
|
.It < 20 MB
|
|
4 KB
|
|
.It < 1000 MB
|
|
8 KB
|
|
.It < 128 GB
|
|
16 KB
|
|
.It >= 128 GB
|
|
32 KB
|
|
.El
|
|
.It Fl d Ar maxbsize
|
|
Set the maximum extent size to
|
|
.Ar maxbsize .
|
|
.It Fl e Ar maxbpg
|
|
This indicates the maximum number of blocks any single file can
|
|
allocate out of a cylinder group before it is forced to begin
|
|
allocating blocks from another cylinder group.
|
|
The default is about one quarter of the total blocks in a cylinder group.
|
|
See
|
|
.Xr tunefs 8
|
|
for more details on how to set this option.
|
|
.It Fl F
|
|
Create a file system image in
|
|
.Ar special .
|
|
The file system size needs to be specified with
|
|
.Dq Fl s Ar size .
|
|
No attempts to use or update the disk label will be made.
|
|
.It Fl f Ar frag-size
|
|
The fragment size of the file system in bytes.
|
|
It must be a power of two ranging in value between
|
|
.Ar block-size Ns /8
|
|
and
|
|
.Ar block-size .
|
|
The optimal
|
|
.Ar block-size : Ns Ar frag-size
|
|
ratio is 8:1.
|
|
Other ratios are possible, but are not recommended,
|
|
and may produce unpredictable results.
|
|
The default size depends upon the size of the file system:
|
|
.Pp
|
|
.Bl -tag -width "file system size" -compact -offset indent
|
|
.It Sy "file system size"
|
|
.Ar frag-size
|
|
.It < 20 MB
|
|
0.5 KB
|
|
.It < 1000 MB
|
|
1 KB
|
|
.It < 128 GB
|
|
2 KB
|
|
.It >= 128 GB
|
|
4 KB
|
|
.El
|
|
.It Fl G
|
|
Treat garbage parameters as non-fatal.
|
|
Using this option may result in a file system which causes a kernel
|
|
panic and should only be used for testing.
|
|
.It Fl g Ar avgfilesize
|
|
The expected average file size for the file system.
|
|
.It Fl h Ar avgfpdir
|
|
The expected average number of files per directory on the file system.
|
|
.It Fl I
|
|
Do not require that the file system type listed in the disk label is
|
|
.Ql 4.2BSD
|
|
or
|
|
.Ql Apple UFS .
|
|
.It Fl i Ar bytes-per-inode
|
|
This specifies the density of inodes in the file system.
|
|
If fewer inodes are desired, a larger number should be used;
|
|
to create more inodes a smaller number should be given.
|
|
The default is to create an inode for every
|
|
.Pq 4 * Ar frag-size
|
|
bytes of data space:
|
|
.Pp
|
|
.Bl -tag -width "file system size" -compact -offset indent
|
|
.It Sy "file system size"
|
|
.Ar bytes-per-inode
|
|
.It < 20 MB
|
|
2 KB
|
|
.It < 1000 MB
|
|
4 KB
|
|
.It < 128 GB
|
|
8 KB
|
|
.It >= 128 GB
|
|
16 KB
|
|
.El
|
|
.It Fl m Ar free-space
|
|
The percentage of space reserved from normal users; the minimum free
|
|
space threshold.
|
|
The default value used is 5%.
|
|
See
|
|
.Xr tunefs 8
|
|
for more details on how to set this option.
|
|
.It Fl N
|
|
Causes the file system parameters to be printed out
|
|
without really creating the file system.
|
|
.It Fl n Ar inodes
|
|
This specifies the number of inodes for the filesystem.
|
|
If both
|
|
.Fl i
|
|
and
|
|
.Fl n
|
|
are specified then
|
|
.Fl n
|
|
takes precedence.
|
|
.It Fl O Ar filesystem-format
|
|
Select the filesystem-format.
|
|
.Bl -tag -width 3n -offset indent -compact
|
|
.It 0
|
|
4.3BSD; This option is primarily used to build root file systems that can be
|
|
understood by older boot ROMs.
|
|
This generates an FFSv1 file system with level 1 format.
|
|
.It 1
|
|
FFSv1; normal Fast File System, level 4 format.
|
|
Also known as
|
|
.Sq FFS ,
|
|
.Sq UFS ,
|
|
or
|
|
.Sq UFS1 .
|
|
This is the default.
|
|
.It 2
|
|
FFSv2; enhanced Fast File System, suited for more than 1 Terabyte capacity.
|
|
.\" Supports access control lists.
|
|
This is also known as
|
|
.Sq UFS2 .
|
|
.El
|
|
See
|
|
.Xr fsck_ffs 8
|
|
for more information about format levels.
|
|
.Pp
|
|
To create an LFS filesystem see
|
|
.Xr newfs_lfs 8 .
|
|
To create a Linux ext2 filesystem see
|
|
.Xr newfs_ext2fs 8 .
|
|
.It Fl o Ar optimization
|
|
Optimization preference; either
|
|
.Dq space
|
|
or
|
|
.Dq time .
|
|
The file system can either be instructed to try to minimize the time spent
|
|
allocating blocks, or to try to minimize the space fragmentation on the disk.
|
|
If the value of minfree (see above) is less than 5%,
|
|
the default is to optimize for space;
|
|
if the value of minfree is greater than or equal to 5%,
|
|
the default is to optimize for time.
|
|
See
|
|
.Xr tunefs 8
|
|
for more details on how to set this option.
|
|
.It Fl q Ar quota
|
|
enable a quota.
|
|
.Ar quota
|
|
can be one of
|
|
.Li user
|
|
or
|
|
.Li group
|
|
to enable the specified quota type.
|
|
Multiple
|
|
.Fl q
|
|
can be used to enable all types at once.
|
|
.It Fl s Ar size
|
|
The size of the file system in sectors.
|
|
An
|
|
.Sq s
|
|
suffix will be interpreted as the number of sectors (the default).
|
|
All other suffixes are interpreted as per other numeric arguments,
|
|
except that the number is converted into sectors by dividing by the
|
|
sector size (as specified by
|
|
.Fl S Ar secsize )
|
|
after suffix interpretation.
|
|
.Pp
|
|
If no
|
|
.Fl s Ar size
|
|
is specified then the filesystem size defaults to that of the partition, or,
|
|
if
|
|
.Fl F
|
|
is specified, the existing file.
|
|
.Pp
|
|
If
|
|
.Ar size
|
|
is negative the specified size is subtracted from the default size
|
|
(reserving space at the end of the partition).
|
|
.It Fl T Ar disk-type
|
|
Uses information for the specified disk from
|
|
.Pa /etc/disktab
|
|
instead of trying to get the information from the disk label.
|
|
.It Fl V Ar verbose
|
|
This controls the amount of information written to stdout:
|
|
.Bl -tag -width 3n -offset indent -compact
|
|
.It 0
|
|
No output.
|
|
.It 1
|
|
Overall size and cylinder group details.
|
|
.It 2
|
|
A progress bar (dots ending at right hand margin).
|
|
.It 3
|
|
The first few super-block backup sector numbers are displayed before the
|
|
progress bar.
|
|
.It 4
|
|
All the super-block backup sector numbers are displayed (no progress bar).
|
|
.El
|
|
The default is 3.
|
|
If
|
|
.Fl N
|
|
is specified
|
|
.Nm
|
|
stops before outputting the progress bar.
|
|
.It Fl v Ar volname
|
|
This specifies that an Apple UFS filesystem should be created
|
|
with the given volume name.
|
|
.It Fl Z
|
|
Pre-zeros the file system image created with
|
|
.Fl F .
|
|
.El
|
|
.Pp
|
|
The following option overrides the standard sizes for the disk geometry.
|
|
The default value is taken from the disk label.
|
|
Changing this default is useful only when using
|
|
.Nm
|
|
to build a file system whose raw image will eventually be used on a
|
|
different type of disk than the one on which it is initially created
|
|
(for example on a write-once disk).
|
|
Note that changing this value from its default will make
|
|
it impossible for
|
|
.Xr fsck_ffs 8
|
|
to find the alternative superblocks if the standard superblock is lost.
|
|
.Bl -tag -width Fl
|
|
.It Fl S Ar sector-size
|
|
The size of a sector in bytes (almost never anything but 512).
|
|
Defaults to 512.
|
|
.El
|
|
.Sh NOTES
|
|
The file system is created with
|
|
.Sq random
|
|
inode generation numbers to improve NFS security.
|
|
.Pp
|
|
The owner and group IDs of the root node of the new file system
|
|
are set to the effective UID and GID of the user initializing
|
|
the file system.
|
|
.Pp
|
|
For the
|
|
.Nm
|
|
command to succeed,
|
|
the disk label should first be updated such that the fstype field for the
|
|
partition is set to
|
|
.Ql 4.2BSD
|
|
or
|
|
.Ql Apple UFS ,
|
|
unless
|
|
.Fl F
|
|
or
|
|
.Fl I
|
|
is used.
|
|
.Pp
|
|
To create and populate a filesystem image within a file use the
|
|
.Xr makefs 8
|
|
utility.
|
|
.Pp
|
|
The partition size is found using
|
|
.Xr fstat 2 ,
|
|
not by inspecting the disk label.
|
|
The block size and fragment size will be written back to the disk label
|
|
only if the last character of
|
|
.Ar special
|
|
references the same partition as the minor device number.
|
|
.Pp
|
|
Unless
|
|
.Fl F
|
|
is specified,
|
|
.Ar special
|
|
must be a raw device.
|
|
This means that for example
|
|
.Pa wd0a
|
|
or
|
|
.Pa /dev/rwd0a
|
|
must be specified instead of
|
|
.Pa /dev/wd0a .
|
|
.Sh SEE ALSO
|
|
.Xr fstat 2 ,
|
|
.Xr disktab 5 ,
|
|
.Xr fs 5 ,
|
|
.Xr disklabel 8 ,
|
|
.Xr diskpart 8 ,
|
|
.Xr dumpfs 8 ,
|
|
.\" .Xr format 8 ,
|
|
.Xr fsck_ffs 8 ,
|
|
.\" .Xr fsirand 8 ,
|
|
.Xr makefs 8 ,
|
|
.Xr mount 8 ,
|
|
.Xr mount_mfs 8 ,
|
|
.Xr newfs_ext2fs 8 ,
|
|
.Xr newfs_lfs 8 ,
|
|
.Xr newfs_msdos 8 ,
|
|
.Xr tunefs 8
|
|
.Rs
|
|
.%A M. McKusick
|
|
.%A W. Joy
|
|
.%A S. Leffler
|
|
.%A R. Fabry
|
|
.%T A Fast File System for UNIX ,
|
|
.%J ACM Transactions on Computer Systems 2
|
|
.%V 3
|
|
.%P pp 181-197
|
|
.%D August 1984
|
|
.%O (reprinted in the BSD System Manager's Manual)
|
|
.Re
|
|
.Rs
|
|
.%A M. McKusick
|
|
.%T Enhancements to the fast filesystem to support multi-terabyte storage systems
|
|
.%J Proceedings of the BSD Conference 2003
|
|
.%P pp 79-90
|
|
.%D September 2003
|
|
.Re
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
command appeared in
|
|
.Bx 4.2 .
|