MKSWAP(8)

BEZEICHNUNG
mkswap - einen Linux-Auslagerungsspeicher einrichten

ÜBERSICHT

mkswap [options] device [blocks]

mkswap [options] --size size --file file

BESCHREIBUNG

mkswap sets up a Linux swap area on a device or in a file.

Das Argument Gerät ist üblicherweise eine Festplattenpartition (etwa /dev/sdb7), kann aber auch eine Datei sein. Der Linux-Kernel achtet nicht auf Partitionskennungen, aber viele Installationsskripte setzen voraus, dass Partitionen des hexadezimalen Typs 82 (LINUX_SWAP) Auslagerungspartitionen sind. (Warnung: Solaris verwendet diesen Typ ebenfalls. Seien Sie vorsichtig, um Ihre Solaris-Partitionen nicht zu zerstören.)

Der Parameter Blöcke ist entbehrlich, steht aber zwecks Abwärtskompatibilität zur Verfügung. Es handelt sich um die gewünschte Größe des Auslagerungsbereiches in 1024-Byte-Blöcken. mkswap verwendet die gesamte Partition oder Datei, falls die Größe nicht angegeben wird. Die Angabe ist jedoch keine gute Idee, denn ein Eingabefehler kann Ihre Festplatte zerstören.

Nach dem Anlegen des Auslagerungsbereiches müssen Sie den Befehl swapon(8) ausführen, um den Bereich nutzen zu können. Üblicherweise werden Auslagerungsbereiche auch in der Datei /etc/fstab aufgelistet, so dass sie beim Systemstart mittels des Befehls swapon -a innerhalb eines Skriptes in Betrieb genommen werden können.

WARNUNG

Der Auslagerungs-Header wirkt sich nicht auf den ersten Block aus. Ein Bootloader oder eine Laufwerksbezeichnung können sich dort befinden, aber diese Konstellation ist nicht empfehlenswert. Es ist besser, eine separate Partition für einen Linux-Auslagerungsbereich zu verwenden.

mkswap, like many others mkfs-like utils, erases the first partition block to make any previous filesystem invisible.

Allerdings verweigert mkswap das Löschen des ersten Blocks auf einem Gerät mit einer Bezeichnung (SUN, BSD, ...).

OPTIONEN

-c, --check
    überprüft das Gerät (falls es sich um ein blockorientiertes Gerät handelt) auf fehlerhafte Blöcke, bevor der Auslagerungsbereich angelegt wird. Falls fehlerhafte Blöcke gefunden werden, wird deren Anzahl ausgegeben.

-F, --file
    Create a swap file with the appropriate file permissions and populated blocks on disk.

-f, --force
    erzwingt die Ausführung, selbst wenn der Befehl unlogisch wäre. Dies erlaubt die Erstellung eines Auslagerungsbereiches, der größer als die Datei oder die Partition ist, auf der er sich befinden soll.

    Außerdem verweigert mkswap mit dieser Option das Löschen des ersten Blocks auf einem Gerät mit einer Partitionstabelle.

-q, --quiet
    unterdrückt Ausgabe- und Warnmeldungen.

-L, --label Bezeichnung
    gibt eine Bezeichnung für dieses Gerät an, wodurch die Aktivierung mit swapon(8) anhand dieser Bezeichnung möglich ist.

--lock[=Modus]
    verwendet eine exklusive BSD-Sperre für das Gerät oder die Datei, auf dem/der es agiert. Das optionale Argument Modus kann yes, no (oder 1 und 0) oder nonblock sein. Falls das Argument Modus weggelassen wird, wird standardmäßig yes angenommen. Diese Option setzt die Umgebungsvariable $LOCK_BLOCK_DEVICE außer Kraft. Standardmäßig wird überhaupt keine Sperre gesetzt, dies wird aber empfohlen, um Kollisionen mit *systemd-udevd>(8) oder anderen Werkzeugen zu vermeiden.

-p, --pagesize Größe
    gibt die zu verwendende Größe der Seite (in Bytes) an. Diese Option ist normalerweise nicht erforderlich, da mkswap die Größe vom Kernel erhält.

-U, --uuid UUID
    gibt die zu verwendende UUID an. Standardmäßig wird eine UUID erzeugt. Das Format der UUID ist eine Reihe von Hexadezimalzahlen, die durch Bindestriche getrennt sind, wie folgt: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". Der UUID-Parameter kann auch einer der folgenden sein:

    clear
        leert die UUID des Dateisystems.

    random
        erzeugt zufallsbasiert eine neue UUID

    time
        erzeugt zeitbasiert eine neue UUID

-e, --endianness BYTEREIHENFOLGE
    gibt die zu verwendende BYTEREIHENFOLGE an, gültige Argumente sind native, little oder big. Die Vorgabe ist native.

-o, --offset Versatz
    gibt den Versatz an, wo der Auslagerungsbereich geschrieben werden soll.

-s, --size Größe
    Specify the size of the created swap file in bytes and may be followed by a multiplicative suffix: KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the "iB" is optional, e.g., "K" has the same meaning as "KiB"). If the file exists and is larger than size, it will be truncated to this size. This option only makes sense when used with --file.

-v, --swapversion 1
    gibt die Version von swap-space an. Diese Option ist gegenwärtig wirkungslos, da die alte Option -v 0 obsolet ist und nun nur noch -v 1 unterstützt wird. Der Kernel unterstützt das swap-space-Format Version 0 seit der Linux-Version 2.5.22 nicht mehr (Juni 2002). Die neue Version 1 wird seit 2.1.17 unterstützt (August 1998).

--verbose
    aktiviert die ausführliche Ausgabe. Mit dieser Option gibt mkswap mehr Details zu während der Einrichtung des Auslagerungsbereichs erkannten Problemen aus.

-h, --help
    zeigt einen Hilfetext an und beendet das Programm.

-V, --version
    zeigt Versionsinformationen an und beendet das Programm.

UMGEBUNGSVARIABLEN

LIBBLKID_DEBUG=all
    aktiviert die Debug-Ausgabe für libblkid.

LOCK_BLOCK_DEVICE=<Modus>
    verwendet eine exklusive BSD-Sperre. Der Modus ist »1« oder »0«. Siehe --lock für weitere Details.

ANMERKUNGEN

Die maximal sinnvolle Größe eines Auslagerungsbereiches hängt von der Architektur und der Kernel-Version ab.

Die maximale Anzahl der addressierbaren Seiten im Header eines Auslagerungsbereiches ist 4294967295 (vorzeichenlose 32-Bit-Ganzzahl). Der verbleibende Platz im Auslagerungsgerät wird ignoriert.

Gegenwärtig erlaubt Linux 32 Auslagerungsbereiche. Die in Betrieb befindlichen Auslagerungsbereiche sind in der Datei /proc/swaps zu sehen.

mkswap refuses areas smaller than 10 pages.

Falls Sie nicht wissen, welche Speicherseitengröße Ihr Rechner verwendet, können Sie diese mit getconf PAGESIZE ermitteln.

Aside from mkswap --file, it is also possible to create the swapfile manually before initializing it with mkswap, e.g. using a command like

    # dd if=/dev/zero of=swapfile bs=1MiB count=$((8*1024))

um eine 8 GiB-Auslagerungsdatei zu erstellen.

In such a case, please read notes from swapon(8) about the swap file use restrictions (holes, preallocation and copy-on-write issues).

SIEHE AUCH

fdisk(8), swapon(8)

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem auf

VERFÜGBARKEIT

Der Befehl mkswap ist Teil des Pakets util-linux, welches aus dem heruntergeladen werden kann.