.\" -*- coding: UTF-8 -*- '\" t .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH VARLINKCTL 1 "" "systemd 260.2" varlinkctl .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH BEZEICHNUNG varlinkctl \- Varlink\-Diensten untersuchen und aufrufen .SH ÜBERSICHT .HP \w'\fBvarlinkctl\fR\ 'u \fBvarlinkctl\fP [\fIOPTIONEN\fP…] info \fIADRESSE\fP .HP \w'\fBvarlinkctl\fR\ 'u \fBvarlinkctl\fP [\fIOPTIONEN\fP…] list\-interfaces \fIADRESSE\fP .HP \w'\fBvarlinkctl\fR\ 'u \fBvarlinkctl\fP [OPTIONEN…] list\-methods \fIADRESSE\fP [\fISCHNITTSTELLE\fP…] .HP \w'\fBvarlinkctl\fR\ 'u \fBvarlinkctl\fP [OPTIONEN…] introspect \fIADRESSE\fP [\fISCHNITTSTELLE\fP…] .HP \w'\fBvarlinkctl\fR\ 'u \fBvarlinkctl\fP [OPTIONEN…] call \fIADRESSE\fP \fIMETHODE\fP [\fIARGUMENTE\fP] .HP \w'\fBvarlinkctl\fR\ 'u \fBvarlinkctl\fP [\fIOPTIONEN\fP…] \-\-exec call \fIADRESSE\fP \fIMETHODE\fP \fIARGUMENTE\fP \-\- \fIBEFEHLSZEILE\fP .HP \w'\fBvarlinkctl\fR\ 'u \fBvarlinkctl\fP [OPTIONEN…] validate\-idl [\fIDATEI\fP] .SH BESCHREIBUNG .PP \fBvarlinkctl\fP kann zur Untersuchung und dem Aufruf von \m[blue]\fBVarlink\fP\m[]\&\s-2\u[1]\d\s+2\-Diensten verwandt werden\&. .PP Dienste werden durch eines der Folgenden referenziert: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Eine Varlink\-Referenz, die mit der Zeichenkette »unix:« beginnt, gefolgt von einem absoluten \fBAF_UNIX\fP\-Socket\-Pfad, oder durch »@« und eine beliebige Zeichenkette (letzteres für die Referenzierung von Sockets in dem abstrakten Namensraum)\&. In diesem Fall erfolgt eine Datenstrom\-Socket\-Verbindung mit dem angegebenen Socket\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Eine Varlink\-Referenz, die mit der Zeichenkette »exec:« beginnt, gefolgt von einem absoluten Pfad zum auszuführenden Programm\&. In diesem Fall wird der angegebene Prozess lokal gestartet, wobei ein verbundener Datenstrom\-Socket hereingereicht wird\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Eine Varlink\-Referenz, die mit der Zeichenkette »ssh\-unix:« beginnt, gefolgt von einer SSH\-Rechnerangabe, gefolgt von »:«, gefolgt von einem absoluten \fBAF_UNIX\fP\-Socket\-Pfad\&. (Dies benötigt OpenSSH 9\&.4 oder neuer auf der Server\-Seite und abstrakte Namensräume werden nicht unterstützt\&.) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Eine Varlink\-Referenz, die mit der Zeichenkette »ssh\-exec:« beginnt, gefolgt von einer SSH\-Rechnerangabe, gefolgt von »:«, gefolgt von einer Befehlszeile\&. In diesem Fall wird der Befehl aufgerufen und das Varlink\-Protokoll auf der Standardeingabe und der Standardausgabe des aufgerufenen Befehls gesprochen\&. .RE .PP Für mehr Komfort werden diese zwei einfacheren (redundanten) Diensteadressyntaxen auch unterstützt: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Ein Dateisystempfad zu einem \fBAF_UNIX\fP\-Socket, entweder absolut (d\&.h\&. mit »/« beginnend) oder relativ (dann muss er mit »\&./« anfangen)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Ein Dateisystempfad zu einem Programm, entweder absolut oder relativ (wie oben, muss mit »/« bzw. »\&./« beginnen)\&. .RE .SH BEFEHLE .PP Die folgenden Befehle werden verstanden: .PP \fBinfo\fP \fIADRESSE\fP .RS 4 Zeigt eine kurze Information über den angegebenen Dienst, einschließlich des Lieferantennamens und einer Liste der implementierten Schnittstellen\&. Erwartet eine Dienstadresse in einem der oben beschriebenen Formate\&. .sp Hinzugefügt in Version 255\&. .RE .PP \fBlist\-interfaces\fP \fIADRESSE\fP .RS 4 Zeigt eine Liste von durch den Dienst implementierten Schnittstellen\&. Erwartet eine Dienstadresse in einem der oben beschriebenen Formate\&. .sp Hinzugefügt in Version 255\&. .RE .PP \fBlist\-methods\fP \fIADRESSE\fP [\fISCHNITTSTELLE…\fP] .RS 4 Zeigt eine Liste der durch den angegebenen Dienst implementierten Methoden\&. Erwartet eine Diensteadresse in einem der oben beschriebenen Formate sowie einen oder mehrere Schnittstellennamen\&. Falls kein Schnittstellenname angegeben ist, werden alle durch den Dienst implementierten Methoden auf allen Schnittstellen aufgelistet, andernfalls nur die Methoden an der angegebenen Schnittstelle\&. .sp Hinzugefügt in Version 257\&. .RE .PP \fBintrospect\fP \fIADRESSE\fP [\fISCHNITTSTELLE…\fP] .RS 4 Zeigt die Schnittstellendefinitionen der angegebenen Schnittstellen, die durch den angegebenen Dienst bereitgestellt wird\&. Erwartet eine Dienstadresse in einem der oben beschriebenen Formate und optional einen oder mehrere Varlink\-Schnittstellennamen\&. Falls keine Schnittstellennamen angegeben sind, werden alle durch den Dienst bereitgestellten Schnittstellen angezeigt\&. .sp Hinzugefügt in Version 255\&. .RE .PP \fBcall\fP \fIADRESSE\fP \fIMETHODE\fP [\fIARGUMENTE\fP] .RS 4 Ruft die angegebene Methode des angegebenen Dienstes auf\&. Erwartet eine Dienstadresse in den oben beschriebenen Formaten, einen vollständig qualifizierten Varlink\-Methodennamen und ein JSON\-Argumentenobjekt\&. Falls das Argumentenobjekt nicht angegeben ist, wird es stattdessen von Stdin gelesen\&. Um eine leere Parameterliste zu übergeben, geben Sie das leere Objekt »{}« an\&. .sp Die Antwortparameter werden als JSON\-Objekte nach Stdout geschrieben\&. .sp Hinzugefügt in Version 255\&. .RE .PP \fBlist\-registry\fP .RS 4 Zeigt eine Liste der derzeit in der Diensteregistrierung registrierten Varlink\-Dienste zusammen mit ihren Eintrittspunkt\-Sockets an\&. (Derzeit zählt dies einfach die Sockets und mittels Symlinks verbundene Sockets in /run/varlink/registry/ auf, wie nachfolgend beschrieben\&.) .sp Hinzugefügt in Version 260\&. .RE .PP \fBvalidate\-idl\fP [\fIDATEI\fP] .RS 4 Liest eine Varlink\-Schnittstellendefinitionsdatei, wertet sie aus, validiert sie und gibt sie mit Syntaxhervorhebung aus\&. Dies prüft auf Syntax und interne Konsistenz der Schnittstelle\&. Erwartet einen Dateinamen, aus dem die Schnittstellendefinition gelesen werden soll\&. Falls dieser fehlt, wird die Schnittstellendefinition von Stdin gelesen\&. .sp Hinzugefügt in Version 255\&. .RE .PP \fBhelp\fP .RS 4 Zeigt die Hilfe zur Befehlssyntax\&. .sp Hinzugefügt in Version 255\&. .RE .SH OPTIONEN .PP Die folgenden Optionen werden verstanden: .PP \fB\-\-more\fP .RS 4 Bei der Verwendung mit \fBcall\fP: Erwartet mehrere Methodenantworten\&. Falls dieser Schalter gesetzt ist, wird der Methodenaufruf mit gesetztem Schalter \fBmore\fP gesandt\&. Dies teilt dem Dienst mit, falls notwendig, mehrere Antworten zu generieren\&. Der Befehl läuft, bis der Dienst eine Antwortnachricht sendet, die anzeigt, dass sie die letzte in der Serie ist (oder falls die konfigurierte Zeitüberschreitung erreicht wird, siehe unten)\&. Dieser Schalter sollte nur für Methodenaufrufe gesetzt werden, die diesen Mechanismus unterstützten\&. .sp Falls dieser Modus aktiviert ist, wird die Ausgabe automatisch auf den JSON\-SEQ\-Modus umgeschaltet, so dass einzelne Antwortobjekte leicht unterschieden werden können\&. .sp Dieser Schalter hat keine Auswirkung auf die standardmäßig angewandte Methodenaufruf\-Zeitüberschreitung\&. Unabhängig davon, ob \fB\-\-more\fP angegeben ist, wird die Standardzeitüberschreitung 45 s sein\&. Verwenden Sie den (nachfolgend beschriebenen) \fB\-\-timeout=\fP, um die Zeitüberschreitung zu ändern oder zu deaktivieren\&. Beim Aufruf eines Methodenaufrufs, der kontinuierlich Aktualisierungen zurückliefert, ist es typischerweise wünschenswert, die Zeitüberschreitung mit \fB\-\-timeout=infinity\fP zu deaktivieren\&. Andererseits ist es typischerweise von Vorteil, beim Aufruf des Methodenaufrufs \fB\-\-more\fP zum Zwecke der Aufzählung von Objekten (was wahrscheinlich sehr schnell abgeschlossen ist), die Zeitüberschreitungslogik aus Zwecken der Robustheit aktiviert zu lassen\&. .sp Hinzugefügt in Version 255\&. .RE .PP \fB\-E\fP .RS 4 Eine Abkürzung für \fB\-\-more \-\-timeout=infinity\fP\&. Dieser Schalter ist für Methodenaufrufe nützlich, die ein Abonnement für einen dauerhaften Datenstrom von Aktualisierungen implementieren\&. .sp Hinzugefügt in Version 257\&. .RE .PP \fB\-\-collect\fP .RS 4 Dies ist ähnlich zu \fB\-\-more\fP, sammelt aber alle Antworten in einem JSON\-Feld und gibt sie aus, anders als im Modus JSON\-SEQ\&. .sp Hinzugefügt in Version 256\&. .RE .PP \fB\-\-oneway\fP .RS 4 Bei der Verwendung mit \fBcall\fP wird keine Methodenantwort erwartet\&. Falls dieser Schalter gesetzt ist, wird der Methodenaufruf mit gesetztem Schalter \fBoneway\fP gesandt (der Befehl beendet sich direkt danach)\&. Dies teilt dem Dienst mit, keine Antwort zu erstellen\&. .sp Hinzugefügt in Version 255\&. .RE .PP \fB\-\-json=\fP\fIMODUS\fP .RS 4 Wählt die JSON\-Ausgabeformatierung\&. Entweder »pretty« (für schön eingerückte, gefärbte Ausgabe) oder »short« (für knappe Ausgabe mit minimalem Leerraum und keinen Zeilenumbrüchen)\&. Die Vorgabe ist »short«\&. .sp Hinzugefügt in Version 255\&. .RE .PP \fB\-j\fP .RS 4 Bei dem interaktiven Aufruf vom Terminal äquivalent zu \fB\-\-json=pretty\fP\&. Andernfalls ist es zu \fB\-\-json=short\fP äquivalent, insbesondere wenn die Ausgabe mittels einer Pipe an ein anderes Programm weitergeleitet wird\&. .sp Hinzugefügt in Version 255\&. .RE .PP \fB\-\-quiet\fP, \fB\-q\fP .RS 4 Untderdrückt die Ausgabe der Antworten von Methodenaufrufen\&. .sp Hinzugefügt in Version 257\&. .RE .PP \fB\-\-graceful=\fP .RS 4 Akzeptiert einen qualifizierten Varlink\-Fehlernamen, d\&.h\&. einen Schnittstellenanmen mit angehängtem Fehlernamen, getrennt durch einen Punkt, z\&.B\&. »org\&.varlink\&.service\&.InvalidParameter«\&. Dies stellt sicher, dasss beim Fehlschlag eines Methodenaufrufs mit dem angegebenen Fehler dies als Erfolg behandelt wird, d\&.h\&. dazu führt, dass der Aufruf von \fBvarlinkctl\fP mit einem Exit\-Status Null beendet wird\&. Diese Option kann mehr als einmal verwandt werden, um mehrere verschiedene Fehler als Erfolg zu behandeln\&. .sp Hinzugefügt in Version 257\&. .RE .PP \fB\-\-timeout=\fP .RS 4 Erwartet als Parameter eine Zeitüberschreitung in Sekunden\&. Standardmäßig wird eine Zeitüberschreitung von 45 s durchgesetzt\&. Um die Zeitüberschreitung auszuschalten, geben Sie »infinity« oder die leere Zeichenkette an\&. .sp Hinzugefügt in Version 257\&. .RE .PP \fB\-\-exec\fP .RS 4 Sobald der mittels \fBcall\fP aufgerufene Methodenaufruf erfolgreich abgeschlossen wurde, wird die angegebene Befehlszeile nachgeladen, wobei die Methodenaufruf\-Ausgabeparameter, serialisiert nach JSON, in die Standardeingabe übergeben werden (und die Standardausgabe und die Standardfehlerausgabe vom aufrufenden Prozess geerbt werden)\&. Desweiteren werden alle Dateideskriptoren, die auf dem zugrundeliegenden Kommunikations\-Socket zurückgegeben werden, an den aufgerufenen Prozess mittels des gewöhnlichen Protokolls \fI$LISTEN_FDS\fP weitergegeben\&. Diese Funktionalität kann zum Verarbeiten von Antworten verwandt werden, die auf eine vernünftige Weise einem zugehörigen Dateideskriptor zugeordnet sind\&. .sp Beachten Sie, dass bei der Angabe von \fB\-\-exec\fP der dritte Parameter für \fBcall\fP nicht optional ist (d\&.h\&. die Methodenaufrufparameter)\&. .sp Hinzugefügt in Version 258\&. .RE .PP \fB\-\-push\-fd=\fP .RS 4 Akzeptiert eine numerische Dateideskriptorennummer als Parameter\&. Kann zur Übergabe eines Dateideskriptors zusammen mit einem Methodenaufruf verwandt werden, falls der zugrundeliegende Transport dies unterstützt\&. Kann mehrfach verwandt werden, um mehrere Dateideskriptoren zu übergeben, dabei bleibt die Reihenfolge der Angabe erhalten\&. Die angegebenen Dateideskriptoren müssen an den \fBvarlinkctl\fP\-Aufruf übergeben werden\&. Optional kann anstelle einer numerische Dateideskriptorennummer ein absoluter oder relativer Dateisystempfad übergeben werden (letzterem muss »\&./« vorangestellt werden), der dann schreibgeschützt geöffnet wird\&. .sp Hinzugefügt in Version 258\&. .RE .PP \fB\-\-system\fP, \fB\-\-user\fP .RS 4 Bestimmt, ob die systemweite oder benutzerbezogene Registratur abgefragt werden soll, wenn der Befehl \fBlist\-registry\fP verwandt wird\&. Standardmäßig wird die systemweite Registratur abgefragt\&. .PP Hinzugefügt in Version 260\&. .RE .PP \fB\-\-no\-ask\-password\fP .RS 4 Befragt den Benutzer nicht für Authentifizierung für privilegierte Aktionen\&. .RE .PP \fB\-\-no\-pager\fP .RS 4 Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter\&. .RE .PP \fB\-h\fP, \fB\-\-help\fP .RS 4 Zeigt einen kurzen Hilfetext an und beendet das Programm\&. .RE .PP \fB\-\-version\fP .RS 4 Zeigt eine kurze Versionszeichenkette an und beendet das Programm\&. .RE .SH "DATEIEN UND VERZEICHNISSE" .PP /run/varlink/registry/ .RS 4 Verzeichnis, das \fBAF_UNIX\fP\-Eintrittspunkt\-Socket\-Inodes (oder Symlinks zu ihnen) von gut bekannten, öffentlichen Varlink\-Schnittstellen auf dem lokalen System enthält\&. Sie sind nach ihrer Varlink\-Schnittstelle, die sie implementieren, benannt\&. .sp Verwenden Sie \fBvarlinkctl list\-registry\fP, um den Inhalt dieses Verzeichnisses anzuzeigen\&. .sp (Inodes, die weder als Socket\-Inodes noch als Symlinks auf sie befähigt sind, werden ignoriert\&. Eine zukünftige Erweiterung könnte reguläre Dateien und Verzeichnisse einführen, um die Registraturfunktionalität zu erweiteren\&.) .sp Hinzugefügt in Version 260\&. .RE .SH BEISPIELE .PP \fBBeispiel\ \&1.\ \&Einen Dienst untersuchen\fP .PP Die folgenden drei Befehle untersuchen den durch \fBsystemd\-resolved.service\fP(8) implementierten Dienst »io\&.systemd\&.Resolve«\&. Sie listen allgemeine Dienstinformationen und Implementierungsschnittstellen auf und zeigen dann die Schnittstellendefinitionen seiner primären Schnittstelle an: .sp .if n \{\ .RS 4 .\} .nf $ varlinkctl info /run/systemd/resolve/io\&.systemd\&.Resolve Vendor: The systemd Project Product: systemd (systemd\-resolved) Version: 254 (254\-1522\-g4790521^) URL: https://systemd\&.io/ Interfaces: io\&.systemd io\&.systemd\&.Resolve org\&.varlink\&.service $ varlinkctl list\-interfaces /run/systemd/resolve/io\&.systemd\&.Resolve io\&.systemd io\&.systemd\&.Resolve org\&.varlink\&.service $ varlinkctl introspect /run/systemd/resolve/io\&.systemd\&.Resolve io\&.systemd\&.Resolve interface io\&.systemd\&.Resolve type ResolvedAddress( ifindex: ?int, … .fi .if n \{\ .RE .\} .PP (Im obigen Beispiel wurden die Schnittstellendefinitionen im Interesse einer kurzen Darstellung abgeschnitten\&.) .PP \fBBeispiel\ \&2.\ \&Aufruf einer Methode\fP .PP Der folgende Befehl löst einen Rechnernamen mittels des Methodenaufrufs \fBResolveHostname\fP von \fBsystemd\-resolved.service\fP(8) auf\&. .sp .if n \{\ .RS 4 .\} .nf $ varlinkctl call /run/systemd/resolve/io\&.systemd\&.Resolve io\&.systemd\&.Resolve\&.ResolveHostname \*(Aq{"name":"systemd\&.io","family":2}\*(Aq \-j { "addresses" : [ { "ifindex" : 2, "family" : 2, "address" : [ 185, 199, 111, 153 ] } ], "name" : "systemd\&.io", "flags" : 1048577 } .fi .if n \{\ .RE .\} .PP \fBBeispiel\ \&3.\ \&Untersuchung des Programms eines Dienstes\fP .PP Der folgende Befehl untersucht das Programm /usr/lib/systemd/systemd\-pcrextend und die von ihm bereitgestellten IPC\-APIs\&. Dann ruft es eine Methode darauf aus: .sp .if n \{\ .RS 4 .\} .nf # varlinkctl info /usr/lib/systemd/systemd\-pcrextend Vendor: The systemd Project Product: systemd (systemd\-pcrextend) Version: 254 (254\-1536\-g97734fb) URL: https://systemd\&.io/ Interfaces: io\&.systemd io\&.systemd\&.PCRExtend org\&.varlink\&.service # varlinkctl introspect /usr/lib/systemd/systemd\-pcrextend io\&.systemd\&.PCRExtend interface io\&.systemd\&.PCRExtend method Extend( pcr: int, text: ?string, data: ?string ) \-> () # varlinkctl call /usr/lib/systemd/systemd\-pcrextend io\&.systemd\&.PCRExtend\&.Extend \*(Aq{"pcr":15,"text":"foobar"}\*(Aq {} .fi .if n \{\ .RE .\} .PP \fBBeispiel \ \&4.\ \&Aufruf einer Methode aus der Ferne mittels SSH\fP .PP Der folgende Befehl erlangt einen Bericht über die Identität des fernen Rechners »einemaschine« von \fBsystemd\-hostnamed.service\fP(8) durch Verbindung mittels SSH an das \fBAF_UNIX\fP\-Socket, auf dem der Dienst auf Anfragen wartet: .sp .if n \{\ .RS 4 .\} .nf # varlinkctl call ssh\-unix:einemaschine:/run/systemd/io\&.systemd\&.Hostname io\&.systemd\&.Hostname\&.Describe \*(Aq{}\*(Aq .fi .if n \{\ .RE .\} .PP Um das Varlink\-Diensteprogramm direkt auf dem fernen Rechner aufzurufen, können Sie folgendes anstelle der Kommunikation mit dem Dienst über \fBAF_UNIX\fP durchführen: .sp .if n \{\ .RS 4 .\} .nf # varlinkctl call ssh\-exec:einemaschine:systemd\-creds org\&.varlink\&.service\&.GetInfo \*(Aq{}\*(Aq .fi .if n \{\ .RE .\} .SH "SIEHE AUCH" .PP \fBbusctl\fP(1), \m[blue]\fBVarlink\fP\m[]\&\s-2\u[1]\d\s+2 .SH ANMERKUNGEN .IP " 1." 4 Varlink .RS 4 \%https://varlink.org/ .RE .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .