util-linux/disk-utils/mkswap.8

164 lines
4.8 KiB
Groff
Raw Normal View History

2006-12-06 17:25:37 -06:00
.\" Copyright 1998 Andries E. Brouwer (aeb@cwi.nl)
.\"
2006-12-06 17:25:32 -06:00
.\" May be distributed under the GNU General Public License
2006-12-06 17:25:37 -06:00
.\"
.TH MKSWAP 8 "March 2009" "util-linux" "System Administration"
2006-12-06 17:25:32 -06:00
.SH NAME
2006-12-06 17:25:33 -06:00
mkswap \- set up a Linux swap area
2006-12-06 17:25:32 -06:00
.SH SYNOPSIS
.B mkswap
[options]
.I device
.RI [ size ]
2006-12-06 17:25:32 -06:00
.SH DESCRIPTION
.B mkswap
2006-12-06 17:25:33 -06:00
sets up a Linux swap area on a device or in a file.
2006-12-06 17:25:32 -06:00
The
.I device
2006-12-06 17:25:37 -06:00
argument will usually be a disk partition (something like
.IR /dev/sdb7 )
but can also be a file.
The Linux kernel does not look at partition IDs, but
2006-12-06 17:25:37 -06:00
many installation scripts will assume that partitions
of hex type 82 (LINUX_SWAP) are meant to be swap partitions.
(\fBWarning: Solaris also uses this type. Be careful not to kill
your Solaris partitions.\fP)
2006-12-06 17:25:32 -06:00
The
2006-12-06 17:25:37 -06:00
.I size
parameter is superfluous but retained for backwards compatibility.
(It specifies the desired size of the swap area in 1024-byte blocks.
2006-12-06 17:25:33 -06:00
.B mkswap
2006-12-06 17:25:39 -06:00
will use the entire partition or file if it is omitted.
Specifying it is unwise \(en a typo may destroy your disk.)
2006-12-06 17:25:33 -06:00
After creating the swap area, you need the
.B swapon
command to start using it. Usually swap areas are listed in
.I /etc/fstab
so that they can be taken into use at boot time by a
.B swapon \-a
command in some boot script.
.SH WARNING
The swap header does not touch the first block. A boot loader or disk label
can be there, but it is not a recommended setup. The recommended setup is to
use a separate partition for a Linux swap area.
.BR mkswap ,
like many others mkfs-like utils,
.B erases the first partition block to make any previous filesystem invisible.
However,
.B mkswap
refuses to erase the first block on a device with a disk
label (SUN, BSD, \&...\&).
.SH OPTIONS
.TP
.BR \-c , " \-\-check"
Check the device (if it is a block device) for bad blocks
before creating the swap area.
If any bad blocks are found, the count is printed.
.TP
.BR \-f , " \-\-force"
Go ahead even if the command is stupid.
This allows the creation of a swap area larger than the file
or partition it resides on.
Also, without this option,
.B mkswap
will refuse to erase the first block on a device with a partition table.
.TP
.BR \-L , " \-\-label " \fIlabel\fR
Specify a \fIlabel\fR for the device, to allow
.B swapon
by label.
.TP
\fB\-\-lock\fR[=\fImode\fR]
Use exclusive BSD lock for device or file it operates. The optional argument
\fImode\fP can be \fByes\fR, \fBno\fR (or 1 and 0) or \fBnonblock\fR. If the \fImode\fR
argument is omitted, it defaults to \fB"yes"\fR. This option overwrites
environment variable \fB$LOCK_BLOCK_DEVICE\fR. The default is not to use any
lock at all, but it's recommended to avoid collisions with udevd or other
tools.
.TP
.BR \-p , " \-\-pagesize " \fIsize\fR
Specify the page \fIsize\fR (in bytes) to use. This option is usually unnecessary;
.B mkswap
reads the size from the kernel.
.TP
.BR \-U , " \-\-uuid " \fIUUID\fR
Specify the \fIUUID\fR to use. The default is to generate a UUID.
.TP
.BR \-v , " \-\-swapversion 1"
Specify the swap-space version. (This option is currently pointless, as the old
.B \-v 0
option has become obsolete and now only
.B \-v 1
is supported.
The kernel has not supported v0 swap-space format since 2.5.22 (June 2002).
The new version v1 is supported since 2.1.117 (August 1998).)
.TP
\fB\-\-verbose\fR
Verbose execution. With this option
.B mkswap
will output more details about detected problems during swap area set up.
.TP
.BR \-h , " \-\-help"
Display help text and exit.
.TP
.BR \-V , " \-\-version"
Display version information and exit.
.SH ENVIRONMENT
.IP LIBBLKID_DEBUG=all
enables libblkid debug output.
.IP LOCK_BLOCK_DEVICE=<mode>
use exclusive BSD lock. The mode is "1" or "0". See \fB\-\-lock\fR for more details.
.SH NOTES
The maximum useful size of a swap area depends on the architecture and
the kernel version.
2006-12-06 17:25:33 -06:00
The maximum number of the pages that is possible to address by swap area header
is 4294967295 (32-bit unsigned int). The remaining space on the swap device is ignored.
Presently, Linux allows 32 swap areas.
The areas in use can be seen in the file
2006-12-06 17:25:37 -06:00
.I /proc/swaps
2006-12-06 17:25:33 -06:00
2006-12-06 17:25:37 -06:00
.B mkswap
refuses areas smaller than 10 pages.
2006-12-06 17:25:33 -06:00
2006-12-06 17:25:37 -06:00
If you don't know the page size that your machine uses, you may be
able to look it up with "cat /proc/cpuinfo" (or you may not \(en
2006-12-06 17:25:37 -06:00
the contents of this file depend on architecture and kernel version).
2006-12-06 17:25:33 -06:00
To set up a swap file, it is necessary to create that file before
initializing it with
.BR mkswap ,
e.g.\& using a command like
2006-12-06 17:25:32 -06:00
.nf
.RS
# dd if=/dev/zero of=swapfile bs=1MiB count=$((8*1024))
2006-12-06 17:25:32 -06:00
.RE
.fi
to create 8GiB swapfile.
Please read notes from
.BR swapon (8)
about
.B the swap file use restrictions
(holes, preallocation and copy-on-write issues).
2006-12-06 17:25:32 -06:00
.SH SEE ALSO
2006-12-06 17:25:37 -06:00
.BR fdisk (8),
.BR swapon (8)
.SH AVAILABILITY
The mkswap command is part of the util-linux package and is available from
https://www.kernel.org/pub/linux/utils/util-linux/.