Scroll to navigation

MKSWAP(8) System-Administration MKSWAP(8)

BEZEICHNUNG

mkswap - einen Linux-Auslagerungsspeicher einrichten

ÜBERSICHT

mkswap [Optionen] Gerät [Größe]

mkswap [Optionen] --size Größe --file Datei

BESCHREIBUNG

mkswap richtet einen Linux-Auslagerungsspeicher auf einem Gerät oder in einer Datei ein.

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 verhält sich wie viele andere mkfs-Werkzeuge, es löscht den ersten Block der Partition, um vorher darauf befindliche Dateisysteme unsichtbar zu machen.

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 verweigert die Erstellung von Bereichen, die kleiner als 10 Seiten sind.

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 <https://github.com/util-linux/util-linux/issues>.

VERFÜGBARKEIT

Der Befehl mkswap ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann.

2024-10-01 util-linux 2.40.2