STORAGECTL(1)

BEZEICHNUNG
storagectl, mount.storage - Enumerate and mount storage volumes provided by storage providers

ÜBERSICHT

storagectl [OPTIONEN…] {BEFEHL} [NAME…]

mount -t storage ANBIETER:DATENTRÄGER VERZEICHNIS

mount -t storage.DSTYP ANBIETER:DATENTRÄGER VERZEICHNIS

BESCHREIBUNG

storagectl may be used to inspect storage providers and the storage volumes they expose. A storage provider is a service implementing the io.systemd.StorageProvider Varlink[1] interface, registered as an AF_UNIX socket below the well-known socket directory /run/systemd/io.systemd.StorageProvider/ (in system mode) or $XDG_RUNTIME_DIR/systemd/io.systemd.StorageProvider/ (in user mode). The two storage providers shipped with systemd are systemd-storage-block@.service(8), which exposes the system's block devices, and systemd-storage-fs@.service(8), which exposes regular files and directories from a backing file system.

The tool also provides a mount(8) helper for the file system type "storage", which permits mounting storage volumes to arbitrary places. See "Use as a mount helper" below for details.

BEFEHLE

Die folgenden Befehle werden verstanden:

volumes [GLOB]
    List storage volumes provided by all storage providers running on the system (or, with --user, in the user runtime). The optional GLOB argument is a shell-style pattern (see fnmatch(3)) that filters the result by volume name. The output is a table containing the providing service, the volume name, its type ("blk", "reg" or "dir"), whether it is read-only, and — if known — its size and the number of bytes used.

    This is the default command if none is specified.

    Hinzugefügt in Version 261.

templates [GLOB]
    List volume templates supported by the running storage providers. Templates encapsulate a configuration to use when creating volumes on-the-fly, when they are acquired. Template support is an optional feature for providers, and only applies to providers that allow creation of volumes on-the-fly. See the respective provider documentation for details, for example systemd-storage-fs@.service(8). The optional GLOB argument filters by template name. Storage providers that do not implement template-based volume creation (such as the block-device provider) do not contribute to this output.

    Hinzugefügt in Version 261.

providers
    List the storage providers known to the system. This is determined by scanning the well-known socket directory for AF_UNIX sockets that look like io.systemd.StorageProvider endpoints. For each provider it is also reported whether the socket can currently be connected to.

    Hinzugefügt in Version 261.

OPTIONEN

Die folgenden Optionen werden verstanden:

--system
    Operate on system-wide storage providers. Sockets are looked for in /run/systemd/io.systemd.StorageProvider/. This is the default.

    Hinzugefügt in Version 261.

--user
    Operate on per-user storage providers. Sockets are looked for in $XDG_RUNTIME_DIR/systemd/io.systemd.StorageProvider/.

    Hinzugefügt in Version 261.

--json=MODUS
    Zeigt die Ausgabe als JSON formatiert. Erwartet entweder »short« (für die kürzest mögliche Ausgabe ohne unnötigen Leerraum oder Zeilenumbrüche), »pretty« (für eine schönere Version der gleichen Ausgabe, mit Einzügen und Zeilenumbrüchen) oder »off« (um die JSON-Ausgabe auszuschalten, was die Vorgabe ist).

--no-pager
    Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter.

--no-legend
    Gibt die Legende nicht aus, d.h. die Spaltenköpfe und die Fußzeile mit Hinweisen.

--no-ask-password
    Befragt den Benutzer nicht für Authentifizierung für privilegierte Aktionen.

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

--version
    Zeigt eine kurze Versionszeichenkette an und beendet das Programm.

USE AS A MOUNT HELPER

The tool provides the /sbin/mount.storage alias, implementing the mount(8) "external helper" interface, allowing storage volumes to be mounted with the regular mount command. The volume to mount is encoded as the source of the mount, in the form "PROVIDER:VOLUME", where PROVIDER is the name of a storage provider (as listed by storagectl providers) and VOLUME is the volume name. Two file system type spellings are recognized:

"storage"
    Acquires a directory volume and bind-mounts its directory tree onto the target.

    Hinzugefügt in Version 261.

"storage.DSTYP"
    Acquires a regular file or block device volume and mounts it as a file system of type FSTYPE (for example "storage.ext4", "storage.btrfs", ...).

    Hinzugefügt in Version 261.

The standard -o mount options are forwarded to mount. In addition, the following "storage."-prefixed options are interpreted by mount.storage itself and stripped from the forwarded list:

storage.create=MODUS
    Takes one of "any" (open if it exists, otherwise create — the default), "open" (fail if the volume does not yet exist) or "new" (fail if the volume already exists).

    Hinzugefügt in Version 261.

storage.template=NAME
    The template to use when creating a new volume, if it is missing and the provider supports on-the-fly creation of volumes.

    Hinzugefügt in Version 261.

storage.create-size=BYTE
    When creating a new volume on-the-fly, the size in bytes to allocate. Accepts the usual "K"/"M"/"G"/"T" suffixes (base 1024). Required when creating a regular file volume.

    Hinzugefügt in Version 261.

BEISPIELE

Example 1. Enumerate available storage providers, volumes and templates

    $ storagectl providers
    $ storagectl volumes
    $ storagectl volumes '*foo*'
    $ storagectl templates

Example 2. Mount a directory volume from the file system provider

    # mount -t storage fs:myvol /mnt/myvol

If the volume "myvol" does not yet exist, it will be created using the default "subvolume" template.

Example 3. Create and mount an ext4 file system from a regular file.

    # mount -t storage.ext4 fs:scratch /mnt/scratch -o loop

Example 4. Mount a block device volume read-only

    # mount -t storage.ext4 -o ro block:/dev/disk/by-id/usb-foo /mnt/foo

EXIT-STATUS

Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.

UMGEBUNGSVARIABLEN

$SYSTEMD_LOG_LEVEL
    Die maximale Protokollierstufe für ausgegebene Meldungen (Meldungen mit einer höheren Protokollierstufe, d.h. weniger wichtige, werden unterdrückt). Akzeptiert eine Kommata-getrennte Liste von Werten. Ein Wert kann einer der folgenden sein (in Reihenfolge absteigender Bedeutung): emerg, alert, crit, err, warning, notice, info, debug oder eine Ganzzahl im Bereich 0…7. Siehe syslog(3) für weitere Informationen. Jedem Wert kann optional eine Zeichenkette aus console, syslog, kmsg oder journal gefolgt von einem Doppelpunkt vorangestellt werden, um die maximale Protokollierstufe für dieses spezielle Protokollierziel zu setzen (d.h. SYSTEMD_LOG_LEVEL=debug,console:info legt fest, dass auf der Stufe »debug« protokolliert werden soll, außer beim Protokollieren auf die Konsole, die auf Stufe »info« erfolgen soll). Beachten Sie, dass die globale maximale Protokollierstufe Priorität gegenüber jeder zielbezogenen maximalen Protokollierstufe hat.

$SYSTEMD_LOG_COLOR
    Ein logischer Wert. Falls true, werden auf das TTY geschriebene Nachrichten gemäß ihrer Priorität eingefärbt.

    Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das Terminal geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbständig Nachrichten gemäß ihrer Protokollierungsstufe einfärben.

$SYSTEMD_LOG_TIME
    Ein logischer Wert. Falls true, wird den Protokollnachrichten der Konsole ein Zeitstempel vorangestellt.

    Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das Terminal oder in eine Datei geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbständig Zeitstempel basierend auf ihren Metadaten den Nachrichten anhängen.

$SYSTEMD_LOG_LOCATION
    Ein logischer Wert. Falls true, wird den Protokollnachrichten ein Dateiname und eine Zeilenummer in dem Quellcode, aus dem die Nachrichten stammen, vorangestellt.

    Beachten Sie, dass der Protokollierort sowieso oft als Metadaten zu den Journal-Einträgen angehängt ist. Die Aufnahme in den Nachrichtentext kann bei der Fehlersuche in Programmen dennoch praktisch sein.

$SYSTEMD_LOG_TID
    Ein logischer Wert. Falls true, wird den Nachrichten die aktuelle numerische Thread-Kennung (TID) vorangestellt.

    Beachten Sie, dass diese Informationen sowieso als Metadaten an Journal-Einträge angehängt wird. Die Aufnahme direkt im Nachrichtentext kann aber trotzdem bei der Fehlersuche in Programmen praktisch sein.

$SYSTEMD_LOG_TARGET
    Das Ziel für Protokolliernachrichten. Entweder console (auf das angehängte TTY protokollieren), console-prefixed (auf das angehängte TTY protokollieren, aber die Protokollierstufe und »Einrichtung« voranstellen, siehe syslog(3)), kmsg (in den zirkulären Kernel-Protokollpuffer protokollieren), journal (in das Journal protokollieren), journal-or-kmsg (in das Journal protokollieren, falls verfügbar, und andernfalls nach Kmsg), auto (das geeignete Protokollierziel automatisch ermitteln, die Vorgabe) oder null (die Protokollierung deaktivieren).

$SYSTEMD_LOG_RATELIMIT_KMSG
    Ob Kmsg ratenlimitiert werden soll oder nicht. Akzeptiert einen logischen Wert. Standardmäßig »true«. Falls deaktiviert, wird Systemd die nach Kmsg geschriebenen Meldungen nicht ratenlimitieren.

$SYSTEMD_PAGER, $PAGER
    Zu verwendendes Textanzeigeprogramm, wenn --no-pager nicht angegeben ist. Falls gesetzt, wird $SYSTEMD_PAGER verwandt, andernfalls $PAGER. setzt $PAGER außer Kraft. Falls weder $SYSTEMD_PAGER noch $PAGER gesetzt sind, wird eine Reihe wohlbekannter Implementierungen von Textanzeigeprogrammen der Reihe nach ausprobiert, einschließlich less(1) und more(1), bis eines gefunden wird. Falls keine Implementierung eines Textanzeigeprogramms gefunden wird, wird keines aufgerufen. Setzen dieser Umgebungsvariablen auf die leere Zeichenkette oder den Wert »cat« ist äquivalent zur Übergabe von --no-pager.

    Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, können $SYSTEMD_PAGER und $PAGER nur zum Deaktivieren des Seitenanzeigeprogramms (mit »cat« oder »«) verwandt werden und werden ansonsten ignoriert.

$SYSTEMD_LESS
    Setzt die an less übergebenen Optionen (standardmäßig »FRSXMK«) außer Kraft.

    Benutzer könnten insbesondere zwei Optionen ändern wollen:

    K
        Diese Option weist das Textanzeigeprogramm an, sich sofort beim Druck von Strg-C zu beenden. Um less die Handhabung von Strg-C selbst zum Umschalten auf die Eingabeaufforderung zu erlauben, setzen Sie diese Option zurück.

        Falls der Wert von $SYSTEMD_LESS kein »K« enthält und less das aufgerufene Textanzeigeprogramm ist, wird Strg+C durch das Programm ignoriert und muss durch das Textanzeigeprogramm selbst gehandhabt werden.

    X
        Diese Option weist das Textanzeigeprogramm an, keine Termcap-Initialisierungs- und -Deinitalisierungszeichenketten an das Terminal zu senden. Dies ist standardmäßig gesetzt, damit die Darstellung von Befehlen selbst nach dem Beenden des Textanzeigeprogramms sichtbar bleibt. Allerdings stehen dadurch einige Funktionen des Textanzeigeprogramms nicht zur Verfügung; insbesondere ist das Scrollen in der Ausgabe mit der Maus nicht möglich.

    Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESS keine Auswirkungen auf die Ausführung von less(1) durch systemd(1)-Werkzeuge hat.

    Siehe less(1) für weitere Ausführungen.

$SYSTEMD_LESSCHARSET
    Setzt den an less zu übergebenden Zeichensatz (standardmäßig »utf-8«, falls das aufrufende Terminal als UTF-8-kompatibel erkannt wurde) außer Kraft.

    Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESSCHARSET keine Auswirkungen auf die Ausführungen von less(1) durch systemd(1)-Werkzeuge hat.

$SYSTEMD_PAGERSECURE
    Typische Seitenanzeigeprogramme wie less(1) unterstützen nebem dem seitenweisen Anzeigen (d.h. dem Durchlaufen der Ausgabe) das Öffnen von oder Schreiben in andere Dateien und die Ausführung von beliebigen Shell-Befehlen. Werden Befehle mit erhöhten Berechtigungen, beispielsweise unter sudo(8) oder pkexec(1), aufgerufen, wird das Seitenanzeigeprogramm zur Sicherheitsgrenze. Es muss darauf geachtet werden, dass nur Programme mit streng begrenzter Funktionalität als Seitenanzeigeprogramm verwandt werden und unerwünschte interaktive Funktionalitäten wie das Öffnen oder Erstellen von neuen Dateien oder das Starten von Subprozessen nicht erlaubt sind. Der »Sichere Modus« für das Seitenanzeigeprogramm kann wie nachfolgend beschrieben aktiviert werden, falls das Seitenanzeigeprogramm dies unterstützt (die meisten Seitenanzeigeprogramme sind nicht so geschrieben, dass sie dies berücksichtigen). Es wird empfohlen, den »Sicheren Modus« explizit zu aktivieren oder das Seitenanzeigeprogramm komplett mittels --no-pager oder PAGER=cat zu deaktivieren, wenn nicht vertrauenswürdigen Benutzern die Ausführung von Programmen mit erhöhten Privilegien erlaubt wird.

    Diese Option akzeptiert ein logisches Argument. Ist es auf »true« gesetzt, wird der »Sichere Modus« des Seitenanzeigeprogramms aktiviert. Im »Sicheren Modus« wird LESSSECURE=1 beim Aufruf des Seitenanzeigeprogramms gesetzt. Dies weist das Seiteanzeigeprogramm an, Befehle zum Öffnen oder Erstellen von neuen Dateien sowie das Starten von Subprozessen zu deaktivieren. Derzeit ist nur von less(1) bekannt, dass es diese Variable versteht und den »Sicheren Modus« implementiert.

    Ist diese Variable auf »false« gesetzt, unterliegt das Seitenanzeigeprogramm keinen Beschränkungen. Setzen auf SYSTEMD_PAGERSECURE=0 oder das Beibehalten der Variable von der geerbten Umgebung könnte den Benutzern die Ausführung beliebiger Befehle erlauben.

    Ist $SYSTEMD_PAGERSECURE nicht gesetzt, versuchen die Systemd-Werkzeuge automatisch herauszufinden, ob der »Sicheren Modus« aktiviert werden soll und ob das Seitenanzeigeprogramm dies unterstützt. Der »Sichere Modus« wird aktiviert, falls die effektive UID nicht mit der UID des Eigentümers der Anmeldesitzung übereinstimmt, siehe geteuid(2) und sd_pid_get_owner_uid(3), oder wenn die Ausführung unter Werkzeugen wie sudo(8) oder ähnlichem erfolgt ($SUDO_UID ist gesetzt [2]). In diesen Fällen wird SYSTEMD_PAGERSECURE=1 gesetzt und Seitenanzeigeprogramme, von denen nicht bekannt ist, dass sie den »Sicheren Modus« unterstützen, werden überhaupt nicht verwandt. Beachten Sie, dass diese automatische Erkennung nur die typischsten Mechanismen zur Erlangung von Privilegien abdeckt und dem Komfort dient. Es wird empfohlen, explizit $SYSTEMD_PAGERSECURE zu setzen oder das Seitenanzeigeprogramm zu deaktivieren.

    Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt sein muss, damit die Variablen $SYSTEMD_PAGER oder $PAGER (außer zum Deaktivieren des Seitenanzeigeprogramms) berücksichtigt werden.

$SYSTEMD_COLORS
    Akzeptiert ein logisches Argument oder einen besonderen Wert. Standardmäßig (nicht gesetzt) werden systemd und zugehörige Hilfswerkzeuge in ihrer Ausgabe Farben verwenden, falls dies möglich ist. Falls $COLORTERM auf »truecolor« oder »24bit« gesetzt ist, werden 24-bit-Farben aktiviert, ansonsten 256 Farben, außer wenn $NO_COLOR gesetzt ist oder $TERM anzeigt, dass Farben deaktiviert sind.

    true
        Identisch zu nicht gesetzt, außer dass $NO_COLOR ignoriert wird.

    false
        Die Ausgabe erfolgt monochrom.

    »16«, »256«, »24bit«
        Verwendet immer die 16, 256 bzw. 24-bit-ANSI-Basisfarben.

    »auto-16«, »auto-256«, »auto-24bit«
        Verwendet die angegebene Menge an Farben, abhängig von $TERM und womit die Konsole verbunden ist.

$SYSTEMD_URLIFY
    Dies muss ein logischer Wert sein. Er steuert, ob anklickbare Links für Terminal-Emulatoren, die dies unterstützen, erstellt werden sollen. Dies kann angegeben werden, um die Entscheidung, die systemd basierend auf $TERM und anderen Bedingungen trifft, außer Kraft zu setzen.

SIEHE AUCH

systemd(1), systemd-storage-block@.service(8), systemd-storage-fs@.service(8), varlinkctl(1), mount(8)

ANMERKUNGEN

1.  Varlink
    https://varlink.org/

2.  Es wird für andere Werkzeuge empfohlen, $SUDO_UID geeignet zu setzen und zu überprüfen und es als allgemeine Schnittstelle zu behandeln.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von

erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).