nbdkit – Online in der Cloud

Dies ist der Befehl nbdkit, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


nbdkit – Ein Toolkit zum Erstellen von NBD-Servern

ZUSAMMENFASSUNG


nbdkit [--dump-config] [-f] [-g GROUP] [-i IPADDR]
[-P PIDFILE] [-p PORT] [-r] [--run CMD] [-s]
[-U SOCKET] [-u USER] [-v] [-V]
PLUGIN [Schlüssel=Wert [Schlüssel=Wert [...]]]

BESCHREIBUNG


Network Block Device (NBD) ist ein Netzwerkprotokoll für den Zugriff auf Blockgeräte über das
Netzwerk. Blockgeräte sind Festplatten und Dinge, die sich wie Festplatten verhalten, wie z. B. Festplatten
Bilder und virtuelle Maschinen.

„nbdkit“ ist sowohl ein Toolkit zum Erstellen von NBD-Servern aus „unkonventionellen“ Quellen als auch das
Name eines NBD-Servers.

Um eine neue Network Block Device-Quelle zu erstellen, müssen Sie lediglich ein paar Kleber schreiben
Funktionen, möglicherweise in C oder vielleicht in einer Hochsprache wie Perl oder Python. Der
Die liberale Lizenzierung von nbdkit soll es Ihnen ermöglichen, nbdkit mit proprietären Produkten zu verknüpfen
Bibliotheken oder um nbdkit in proprietären Code einzubinden.

Wenn Sie ein nbdkit-Plugin schreiben möchten, sollten Sie es lesen nbdkit-plugin(3).

Mehrere Plugins können unter „$libdir/nbdkit/plugins“ gefunden werden. Sie können den vollständigen Pfad angeben
das Plugin, so:

nbdkit $libdir/nbdkit/plugins/nbdkit-file-plugin.so [...]

In der Regel ist es jedoch praktischer, diese äquivalente Syntax zu verwenden:

nbdkit-Datei [...]

$libdir wird zur Kompilierungszeit festgelegt. Um es auszudrucken, gehen Sie wie folgt vor:

nbdkit --dump-config

Beispiele:


Stellen Sie die Datei „disk.img“ auf Port 10809 bereit:

nbdkit-Datei file=disk.img

Führen Sie das Plugin „example1“ aus und stellen Sie über „eine Verbindung“ her Gastfisch(1):

nbdkit-Beispiel1
Guestfish --ro -a nbd://localhost

Führen Sie das Plugin „example3“ aus und stellen Sie über „eine Verbindung“ her Gastfisch(1):

nbdkit example3 size=1G
Guestfish --ro -a nbd://localhost

So zeigen Sie Nutzungsinformationen zu einem bestimmten Plugin an:

nbdkit --help example1

GLOBALES OPTIONAL


--help
Zeigen Sie kurze Informationen zur Befehlszeilenverwendung an und beenden Sie den Vorgang.

--dump-config
Geben Sie die Konfigurationswerte zur Kompilierungszeit aus und beenden Sie den Vorgang.

-f
--Vordergrund
--no-fork
Nicht in den Hintergrund treten.

-g
--Gruppe
Ändern Sie die Gruppe nach dem Start auf „GROUP“. Es kann ein Gruppenname oder eine numerische Gruppen-ID sein
benutzt.

Dazu benötigt der Server ausreichende Berechtigungen. Normalerweise wäre das der Fall
Ich meine, den Server als Root zu starten.

Web Link -u.

-i IPADDR
--ip-adr IPADDR
--ipaddr IPADDR
Hören Sie auf der angegebenen Schnittstelle. Standardmäßig werden alle Schnittstellen überwacht. Sehen
ebenfalls -p.

-P PID-DATEI
--pid-Datei PID-DATEI
--pidfile PID-DATEI
Schreiben Sie „PIDFILE“ (mit der Prozess-ID des Servers), nachdem nbdkit bereit ist
Verbindungen annehmen.

Wenn die Datei bereits vorhanden ist, wird sie überschrieben. nbdkit die nicht Löschen Sie die Datei, wenn
es wird beendet.

-p PORT
--Hafen PORT
Ändern Sie die TCP/IP-Portnummer, auf der nbdkit Anfragen bearbeitet. Der Standardwert ist 10809.
Web Link -i.

-r
--schreibgeschützt
--schreibgeschützt
Der Export ist schreibgeschützt. Wenn ein Client schreibt, erhält er eine Fehlermeldung.

Beachten Sie, dass einige Plugins von Natur aus keine Schreibvorgänge unterstützen. Mit diesen Plugins die -r
Option wird implizit hinzugefügt.

Die Copy-on-Write-Funktion (oder „Snapshot“) wird von diesem Server nicht unterstützt. Jedoch
Wenn Sie qemu als Client verwenden (oder indirekt über libguestfs), wird es unterstützt
Schnappschüsse.

--Lauf CMD
Führen Sie nbdkit als Captive-Unterprozess von „CMD“ aus. Wenn „CMD“ beendet wird, wird nbdkit beendet. Sehen
„CAPTIVE NBDKIT“ unten.

Diese Option impliziert --Vordergrund.

-s
--Einzel
--stdin
Nicht forken. Behandeln Sie eine einzelne NBD-Verbindung auf stdin/stdout. Nachdem stdin geschlossen wurde, wird die
Server wird beendet.

Sie können diese Option verwenden, um nbdkit von inetd, systemd oder ähnlichen Superservern auszuführen; oder
nur zum Testen; oder wenn Sie nbdkit auf unkonventionelle Weise ausführen möchten.

Diese Option impliziert --Vordergrund.

-U STECKDOSE
--unix STECKDOSE
-U -
--unix -
Akzeptieren Sie Verbindungen auf dem Unix-Domänen-Socket „SOCKET“ (ein Pfad).

nbdkit erstellt diesen Socket, aber er wird wahrscheinlich (auch) falsche Berechtigungen haben
freizügig). Wenn es ein Problem gibt, könnte ein unbefugter Benutzer eine Verbindung herstellen
Socket zwischen dem Start von nbdkit und der Verbindung des autorisierten Benutzers
Legen Sie den Socket in einem Verzeichnis ab, das über restriktive Berechtigungen verfügt.

nbdkit tut es nicht Löschen Sie die Socket-Datei, wenn sie beendet wird. Der Anrufer sollte die löschen
socket-Datei nach der Verwendung (andernfalls, wenn Sie versuchen, nbdkit erneut zu starten, erhalten Sie eine Fehlermeldung
Fehler „Adresse bereits verwendet“.

Wenn der Socket-Name lautet - dann generiert nbdkit einen zufällig benannten privaten Socket. Das
ist sinnvoll mit „CAPTIVE NBDKIT“.

-u USER
--Benutzer USER
Nach dem Start den Benutzer auf „USER“ ändern. Es kann ein Benutzername oder eine numerische Benutzer-ID verwendet werden.

Dazu benötigt der Server ausreichende Berechtigungen. Normalerweise wäre das der Fall
Ich meine, den Server als Root zu starten.

Web Link -g.

-v
- ausführlich
Aktivieren Sie ausführliche Nachrichten.

Es ist eine gute Idee, es zu verwenden -f Auch damit der Prozess nicht in den Hintergrund gerät
(aber nicht erforderlich).

-V
--Version
Geben Sie die Versionsnummer von nbdkit aus und beenden Sie den Vorgang.

PLUGIN CONFIGURATION


Nach Angabe des Plugin-Namens können Sie (optional, es hängt vom Plugin ab) angeben
Plugin-Konfiguration auf der Befehlszeile in Form von „key=value“. Zum Beispiel:

nbdkit-Datei file=disk.img

Um alle von einem Plugin unterstützten Optionen aufzulisten, gehen Sie wie folgt vor:

nbdkit --help-Datei

GEFANGEN NBDKIT


Sie können nbdkit als „Captive-Prozess“ ausführen, indem Sie Folgendes verwenden: --Lauf Möglichkeit. Das bedeutet, dass nbdkit
läuft solange (zum Beispiel) qemu(1) oder Gastfisch(1) läuft. Wenn diese beendet werden, nbdkit
wurde getötet.

Einige Beispiele sollen dies verdeutlichen.

So führen Sie nbdkit captive unter qemu aus:

nbdkit-Datei file=disk.img --run 'qemu -drive file=$nbd,if=virtio'

Auf der qemu-Befehlszeile wird $nbd automatisch durch den richtigen NBD-Pfad ersetzt
kann eine Verbindung zu nbdkit herstellen. Wenn qemu beendet wird, wird nbdkit automatisch beendet und bereinigt.

nbdkit captive unter „guestfish“ ausführen:

nbdkit-Datei file=disk.img --run 'guestfish --format=raw -a $nbd -i'

Wenn Guestfish beendet wird, wird nbdkit getötet.

Die folgenden Shell-Variablen sind im verfügbar --Lauf Argument:

$nbd
Eine URL, die auf den nbdkit-Port oder -Socket verweist.

Beachten Sie, dass es hier etwas Magisches gibt, da Qemu- und Guestfish-URLs ein unterschiedliches Format haben.
Daher versucht nbdkit zu erraten, was Sie ausführen. Wenn die Magie nicht funktioniert, versuchen Sie es mit
stattdessen die Variablen unten.

$port
Wenn ≠ „“, die Portnummer, die nbdkit überwacht.

$unixsocket
Wenn ≠ „“, der Unix-Domänen-Socket, den nbdkit überwacht.

--Lauf impliziert --Vordergrund. Das ist nicht möglich und wahrscheinlich auch nicht wünschenswert
nbdkit fork tritt bei der Verwendung in den Hintergrund --Lauf.

Auch wenn nbdkit als Captive ausgeführt wird, überwacht es immer noch den regulären TCP/IP-Port, sofern Sie dies nicht tun
Präzisiere das -p/-U Optionen. Wenn Sie ein wirklich privates, unverlierbares NBDkit wünschen, dann sollten Sie das tun
Erstellen Sie einen privaten zufälligen Unix-Socket wie folgt:

nbdkit -U - Plugin [Argumente] --run '...'

SIGNALE


„nbdkit“ reagiert auf folgende Signale:

"SIGNAL"
„SIGQUIT“
„SIGTERM“
Der Server wird sauber beendet.

„SIGPIPE“
Dieses Signal wird ignoriert.

Nutzen Sie nbdkit online über die Dienste von onworks.net



Neueste Linux- und Windows-Online-Programme