Vorige: , Nach oben: Dienste   [Inhalt][Index]


10.8.32 Verschiedene Dienste

Fingerabdrucklese-Dienst

Das Modul (gnu services authentication) stellt einen DBus-Dienst zur Verfügung, mit dem Fingerabdrücke mit Hilfe eines Fingerabdrucksensors gelesen und identifiziert werden können.

Scheme-Variable: fprintd-service-type

Der Diensttyp für fprintd, mit dem Fingerabdrücke gelesen werden können.

Systemsteuerungsdienst

Das Modul (gnu services sysctl) stellt einen Dienst zur Verfügung, um Kernelparameter zur Boot-Zeit einzustellen.

Scheme-Variable: sysctl-service-type

Der Diensttyp für sysctl, das Kernel-Parameter unter /proc/sys/ anpasst. Um IPv4-Weiterleitung („Forwarding“) zu aktivieren, kann er auf diese Weise instanziiert werden:

(service sysctl-service-type
         (sysctl-configuration
           (settings '(("net.ipv4.ip_forward" . "1")))))
Datentyp: sysctl-configuration

Der Datentyp, der die Konfiguration von sysctl repräsentiert.

sysctl (Vorgabe: (file-append procps "/sbin/sysctl")

Die ausführbare Datei für sysctl, die benutzt werden soll.

settings (Vorgabe: '())

Eine assoziative Liste, die Kernel-Parameter und ihre Werte festlegt.

PC/SC-Smart-Card-Daemon-Dienst

Das Modul (gnu services security-token) stellt den folgenden Dienst zur Verfügung, um pcscd auszuführen, den PC/SC-Smart-Card-Daemon. pcscd ist das Daemonprogramm für die Rahmensysteme pcsc-lite und MuscleCard. Es handelt sich um einen Ressourcenverwaltungsdienst, der die Kommunikation mit Smart-Card-Lesegeräten, Smart Cards und kryptographischen Tokens steuert, die mit dem System verbunden sind.

Scheme-Variable: pcscd-service-type

Diensttyp für den pcscd-Dienst. Als Wert muss ein pcscd-configuration-Objekt angegeben werden. Um pcscd mit seiner Vorgabekonfiguration auszuführen, instanziieren Sie ihn als:

Datentyp: pcscd-configuration

Repräsentiert die Konfiguration von pcscd.

pcsc-lite (Vorgabe: pcsc-lite)

Das „pcsc-lite“-Paket, das pcscd zur Verfügung stellt.

usb-drivers (Vorgabe: (list ccid))

Die Liste der Pakete, die USB-Treiber für pcscd zur Verfügung stellen. Es wird erwartet, dass sich Treiber unter pcsc/drivers innerhalb des Store-Verzeichnisses des Pakets befinden.

Lirc-Dienst

Das Modul (gnu services lirc) stellt den folgenden Dienst zur Verfügung.

Scheme-Prozedur: lirc-service [#:lirc lirc] [#:device #f] [#:driver #f] [#:config-file #f]  [#:extra-options '()]

Liefert einen Dienst, der LIRC ausführt, einen Dienst zum Dekodieren von Infrarot-Signalen aus Fernbedienungen.

Optional können device (Gerät), driver (Treiber) und config-file (Name der Konfigurationsdatei) festgelegt werden. Siehe das Handbuch von lircd für Details.

Schließlich enthält extra-options eine Liste zusätzlicher Befehlszeilenoptionen, die an lircd übergeben werden.

Spice-Dienst

Das Modul (gnu services spice) stellt den folgenden Dienst bereit.

Scheme-Prozedur: spice-vdagent-service [#:spice-vdagent]

Liefert einen Dienst, der VDAGENT ausführt, einen Daemon, um die Zwischenablage mit einer virtuellen Maschine zu teilen und die Auflösung des Anzeigegeräts des Gastsystems umzustellen, wenn sich die Größe des grafischen Konsolenfensters ändert.

inputattach-Dienst

Der inputattach-Dienst macht es Ihnen möglich, Eingabegeräte wie Wacom-Tabletts, Tastbildschirme („Touchscreens“) oder Joysticks mit dem Xorg-Anzeigeserver zu benutzen.

Scheme-Variable: inputattach-service-type

Der Diensttyp für den Dienst, der inputattach auf einem Gerät ausführt und Ereignisse davon weiterleitet.

Datentyp: inputattach-configuration
device-type (Vorgabe: "wacom")

Der Typ des Geräts, mit dem eine Verbindung hergestellt werden soll. Führen Sie inputattach --help aus dem inputattach-Paket aus, um eine Liste unterstützter Gerätetypen zu sehen.

device (Vorgabe: "/dev/ttyS0")

Die Gerätedatei, um sich mit dem Gerät zu verbinden.

baud-rate (Vorgabe: #f)

Welche Baudrate für die serielle Verbindung benutzt werden soll. Es sollte eine Zahl oder #f angegeben werden.

log-file (Vorgabe: #f)

Wenn es wahr ist, muss es der Name einer Datei sein, in die Protokollnachrichten geschrieben werden sollen.

Wörterbuchdienst

Das Modul (gnu services dict) stellt den folgenden Dienst zur Verfügung:

Scheme-Variable: dicod-service-type

Dies ist der Diensttyp für einen Dienst, der den dicod-Daemon ausführt. Dabei handelt es sich um eine Implementierung eines DICT-Servers (siehe das Dicod in Handbuch von GNU Dico).

Scheme-Prozedur: dicod-service [#:config (dicod-configuration)]

Liefert einen Dienst, der den dicod-Daemon ausführt. Dabei handelt es sich um eine Implementierung eines DICT-Servers (siehe das Dicod in Handbuch von GNU Dico).

Das optionale Argument config gibt die Konfiguration für dicod an, welche ein <dicod-configuration>-Objekt sein sollte. Nach Vorgabe wird als Wörterbuch das „GNU Collaborative International Dictionary of English“ angeboten.

Sie können in Ihre ~/.dico-Datei open localhost eintragen, damit localhost zum voreingestellten Server des dico-Clients wird (siehe das Initialization File in Handbuch von GNU Dico).

Datentyp: dicod-configuration

Der Datentyp, der die Konfiguration von dicod repräsentiert.

dico (Vorgabe: dico)

Paketobjekt des GNU-Dico-Wörterbuchservers.

interfaces (Vorgabe: ’("localhost"))

Hierfür muss die Liste der IP-Adressen, Ports und möglicherweise auch Socket-Dateinamen angegeben werden, auf die gelauscht werden soll (siehe listen directive in Handbuch von GNU Dico).

handlers (Vorgabe: ’())

Liste der <dicod-handler>-Objekte, die Handler (Modulinstanzen) bezeichnen.

databases (Vorgabe: (list %dicod-database:gcide))

Liste der <dicod-database>-Objekte, die anzubietende Wörterbücher bezeichnen.

Datentyp: dicod-handler

Der Datentyp, der einen Wörterbuch-Handler (eine Modulinstanz) repräsentiert.

name

Der Name des Handlers (der Modulinstanz).

module (Vorgabe: #f)

Der Name des dicod-Moduls (der Instanz) des Handlers. Wenn er #f ist, heißt das, das Modul hat denselben Namen wie der Handler (siehe Module in Handbuch von GNU Dico).

options

Liste der Zeichenketten oder G-Ausdrücke, die die Argumente für den Modul-Handler repräsentieren.

Datentyp: dicod-database

Datentyp, der eine Wörterbuchdatenbank repräsentiert.

name

Der Name der Datenbank, der in DICT-Befehlen benutzt wird.

handler

Der Name des dicod-Handlers (der Modulinstanz), die von dieser Datenbank benutzt wird (siehe Handlers in Handbuch von GNU Dico).

complex? (Vorgabe: #f)

Ob die Datenbankkonfiguration komplex ist. In diesem Fall muss für die komplexe Konfiguration auch ein entsprechendes <dicod-handler>-Objekt existieren, ansonsten nicht.

options

Liste der Zeichenketten oder G-Ausdrücke, die die Argumente für die Datenbank repräsentiert (siehe Databases in Handbuch von GNU Dico).

Scheme-Variable: %dicod-database:gcide

Ein <dicod-database>-Objekt, um das „GNU Collaborative International Dictionary of English“ anzubieten. Dazu wird das gcide-Paket benutzt.

Im Folgenden sehen Sie eine Beispielkonfiguration für einen dicod-service.

(dicod-service #:config
  (dicod-configuration
   (handlers (list (dicod-handler
                    (name "wordnet")
                    (module "dictorg")
                    (options
                     (list #~(string-append "dbdir=" #$wordnet))))))
   (databases (list (dicod-database
                     (name "wordnet")
                     (complex? #t)
                     (handler "wordnet")
                     (options '("database=wn")))
                    %dicod-database:gcide))))

Docker-Dienst

Das Modul (gnu services docker) stellt die folgenden Dienste zur Verfügung.

Scheme-Variable: docker-service-type

Dies ist der Diensttyp des Dienstes, um Docker auszuführen, einen Daemon, der Anwendungsbündel in isolierten Umgebungen ausführen kann (manchmal auch als „Container“ bezeichnet).

Datentyp: docker-configuration

Dies ist der Datentyp, der die Konfiguration von Docker und Containerd repräsentiert.

package (Vorgabe: docker)

Das Docker-Daemon-Paket, was benutzt werden soll.

package (Vorgabe: docker-cli)

Das Docker-Client-Paket, was benutzt werden soll.

containerd (Vorgabe: containerd)

Das Containerd-Paket, was benutzt werden soll.

proxy (Vorgabe: docker-libnetwork-cmd-proxy)

Das Paket des mit Benutzerrechten (im „User-Land“) ausgeführten Docker-Netzwerkproxys, das verwendet werden soll.

enable-proxy? (Vorgabe: #t)

Den mit Benutzerrechten (im „User-Land“) ausgeführten Docker-Netzwerkproxy an- oder abschalten.

debug? (Vorgabe: #f)

Ausgaben zur Fehlersuche an- oder abschalten.

enable-iptables? (Vorgabe: #t)

Das Hinzufügen von iptables-Regeln durch Docker an- oder abschalten.

Scheme-Variable: singularity-service-type

Dies ist der Diensttyp für den Dienst, mit dem Sie Singularity ausführen können, ein Docker-ähnliches Werkzeug, um Anwendungsbündel (auch bekannt als „Container“) auszuführen. Der Wert für diesen Dienst ist das Singularity-Paket, das benutzt werden soll.

Der Dienst installiert keinen Daemon, sondern er installiert Hilfsprogramme als setuid-root (siehe Setuid-Programme), damit auch „unprivilegierte“ Nutzer ohne besondere Berechtigungen singularity run und ähnliche Befehle ausführen können.

Auditd-Dienst

Das Modul (gnu services auditd) stellt den folgenden Dienst zur Verfügung.

Scheme-Variable: auditd-service-type

Dies ist der Diensttyp des Dienstes, mit dem auditd ausgeführt wird, ein Daemon, der sicherheitsrelevante Informationen auf Ihrem System sammelt.

Beispiele für Dinge, über die Informationen gesammelt werden sollen:

  1. Dateizugriffe
  2. Betriebssystemaufrufe („System Calls“)
  3. Aufgerufene Befehle
  4. Fehlgeschlagene Anmeldeversuche
  5. Filterung durch die Firewall
  6. Netzwerkzugriff

auditctl aus dem audit-Paket kann benutzt werden, um zu überwachende Ereignisse (bis zum nächsten Neustart) hinzuzufügen oder zu entfernen. Um über Ereignisse dauerhaft Informationen sammeln zu lassen, schreiben Sie die Befehlszeilenargumente für auditctl in eine Datei namens audit.rules im Verzeichnis für Konfigurationen (siehe unten). aureport aus dem audit-Paket kann benutzt werden, um einen Bericht über alle aufgezeichneten Ereignisse anzuzeigen. Nach Vorgabe speichert der Audit-Daemon Protokolle in die Datei /var/log/audit.log.

Datentyp: auditd-configuration

Dies ist der Datentyp, der die Konfiguration von auditd repräsentiert.

audit (Vorgabe: audit)

Das zu verwendende audit-Paket.

configuration-directory (Vorgabe: %default-auditd-configuration-directory)

Das Verzeichnis mit der Konfigurationsdatei für das audit-Paket. Sie muss den Namen auditd.conf tragen und optional kann sie ein paar Audit-Regeln enthalten, die beim Start instanziierrt werden sollen.

R-Shiny-Dienst

Das Modul (gnu services science) stellt den folgenden Dienst bereit.

Scheme-Variable: rshiny-service-type

Dies ist der Diensttyp eines Dienstes, um eine mit r-shiny erzeugte Web-Anwendung („Webapp“) auszuführen. Dieser Dienst legt die Umgebungsvariable R_LIBS_USER fest und führt das eingestellte Skript aus, um runApp aufzurufen.

Datentyp: rshiny-configuration

Dies ist der Datentyp, der die Konfiguration von rshiny repräsentiert.

package (Vorgabe: r-shiny)

Das zu benutzende Paket.

binary (Vorgabe: "rshiny")

Der Name der Binärdatei oder des Shell-Skripts, das sich in Paket/bin/ befindet und beim Starten des Dienstes ausgeführt werden soll.

Die übliche Art, diese Datei erzeugen zu lassen, ist folgende:


(let* ((out       (assoc-ref %outputs "out"))
       (targetdir (string-append out "/share/" ,name))
       (app       (string-append out "/bin/" ,name))
       (Rbin      (string-append (assoc-ref %build-inputs "r-min")
                                 "/bin/Rscript")))
  ;; …
  (mkdir-p (string-append out "/bin"))
  (call-with-output-file app
    (lambda (port)
      (format port
"#!~a
library(shiny)
setwd(\"~a\")
runApp(launch.browser=0, port=4202)~%\n"
      Rbin targetdir))))

Nix-Dienst

Das Modul (gnu services nix) stellt den folgenden Dienst zur Verfügung:

Scheme-Variable: nix-service-type

Dies ist der Diensttyp für den Dienst, der den Erstellungs-Daemon der Nix-Paketverwaltung ausführt. Hier ist ein Beispiel, wie man ihn benutzt:

(use-modules (gnu))
(use-service-modules nix)
(use-package-modules package-management)

(operating-system
  ;; …
  (packages (append (list nix)
                    %base-packages))

  (services (append (list (service nix-service-type))
                    %base-services)))

Nach guix system reconfigure können Sie Nix für Ihr Benutzerkonto konfigurieren:

$ ln -s "/nix/var/nix/profiles/per-user/$USER/profile" ~/.nix-profile
$ source /run/current-system/profile/etc/profile.d/nix.sh
Datentyp: nix-configuration

Dieser Datentyp repräsentiert die Konfiguration des Nix-Daemons.

nix (Vorgabe: nix)

Das zu verwendende Nix-Paket.

sandbox (Vorgabe: #t)

Gibt an, ob Erstellungen nach Voreinstellung in einer isolierten Umgebung („Sandbox“) durchgeführt werden sollen.

build-sandbox-items (Vorgabe: '())

Dies ist eine Liste von Zeichenketten oder Objekten, die an das build-sandbox-items-Feld der Konfigurationsdatei angehängt werden.

extra-config (Vorgabe: '())

Dies ist eine Liste von Zeichenketten oder Objekten, die an die Konfigurationsdatei angehängt werden. Mit ihnen wird zusätzlicher Text wortwörtlich zur Konfigurationsdatei hinzugefügt.

extra-options (Vorgabe: '())

Zusätzliche Befehlszeilenoptionen für nix-service-type.


Vorige: , Nach oben: Dienste   [Inhalt][Index]