# German translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Helge Kreutzmann , 2018-2020,2023. msgid "" msgstr "" "Project-Id-Version: manpages-l10n 4.22.0\n" "POT-Creation-Date: 2024-06-01 05:46+0200\n" "PO-Revision-Date: 2024-05-01 19:48+0200\n" "Last-Translator: Helge Kreutzmann \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DAEMON" msgstr "DAEMON" #. type: TH #: archlinux fedora-40 mageia-cauldron opensuse-tumbleweed #, no-wrap msgid "systemd 255" msgstr "systemd 255" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "daemon" msgstr "daemon" #. ----------------------------------------------------------------- #. * MAIN CONTENT STARTS HERE * #. ----------------------------------------------------------------- #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "BEZEICHNUNG" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "daemon - Writing and packaging system daemons" msgstr "daemon - Schreiben und Paketieren von System-Daemons" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "BESCHREIBUNG" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A daemon is a service process that runs in the background and supervises the " "system or provides functionality to other processes\\&. Traditionally, " "daemons are implemented following a scheme originating in SysV Unix\\&. " "Modern daemons should follow a simpler yet more powerful scheme (here called " "\"new-style\" daemons), as implemented by B(1)\\&. This manual page " "covers both schemes, and in particular includes recommendations for daemons " "that shall be included in the systemd init system\\&." msgstr "" "Ein Daemon ist ein Diensteprozess, der im Hintergrund läuft und das System " "beaufsichtigt oder Funktionalitäten für andere Prozesse bereitstellt\\&. " "Traditionell werden Daemons so implementiert, dass sie einem ursprünglich " "aus SysV-Unix stammenden Schema folgen\\&. Moderne Daemons sollten einem " "einfacheren, aber dennoch leistungsfähigeren Schema folgen (hier »neuartige« " "Daemons genannt), wie es von B(1) implementiert wird\\&. Diese " "Handbuchseite deckt beide Schemata ab und enthält insbesondere Empfehlungen " "für Daemons, die im Systemd-Init-System aufgenommen werden sollen\\&." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SysV Daemons" msgstr "SysV-Daemons" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When a traditional SysV daemon starts, it should execute the following steps " "as part of the initialization\\&. Note that these steps are unnecessary for " "new-style daemons (see below), and should only be implemented if " "compatibility with SysV is essential\\&." msgstr "" "Wenn ein traditioneller SysV-Daemon startet, sollte er die folgenden " "Schritte als Teil seiner Initialisierung ausführen\\&. Beachten Sie, dass " "diese Schritte von neuartigen Daemons (siehe unten) nicht benötigt " "werden\\&. Sie sollten daher nur implementiert werden, wenn die " "Kompatibilität zu SysV essenziell ist\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Close all open file descriptors except standard input, output, and error " "(i\\&.e\\&. the first three file descriptors 0, 1, 2)\\&. This ensures that " "no accidentally passed file descriptor stays around in the daemon " "process\\&. On Linux, this is best implemented by iterating through /proc/" "self/fd, with a fallback of iterating from file descriptor 3 to the value " "returned by B for B\\&." msgstr "" "Alle offenen Dateideskriptoren außer der Standardeingabe, -ausgabe und -" "fehlerausgabe (d\\&.h\\&. den drei ersten Dateideskriptoren 0, 1, 2) werden " "geschlossen\\&. Dies stellt sicher, dass kein versehentlich geöffneter " "Dateideskriptor im Daemon-Prozess verbleibt\\&. Unter Linux wird dies am " "besten dadurch implementiert, dass durch /proc/self/fd iteriert wird, mit " "der Rückfalloption, von Dateideskriptor 3 bis zu dem von B für " "B zurückgelieferten Wert durchzuiterieren\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Reset all signal handlers to their default\\&. This is best done by " "iterating through the available signals up to the limit of B<_NSIG> and " "resetting them to B\\&." msgstr "" "Alle Signal-Handler werden auf ihre Vorgaben zurückgesetzt\\&. Dies erfolgt " "am besten durch Iteration durch alle verfügbaren Signale bis zur Grenze von " "B<_NSIG> und dem Zurücksetzen dieser auf B\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Reset the signal mask using B\\&." msgstr "Zurücksetzen der Signal-Maske mittels B\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Sanitize the environment block, removing or resetting environment variables " "that might negatively impact daemon runtime\\&." msgstr "" "Bereinigen des Umgebungsblocks, Entfernen oder Zurücksetzen der " "Umgebungsvariablen, die einen negativen Einfluss auf die Laufzeit des " "Daemons haben könnten\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Call B, to create a background process\\&." msgstr "Aufrufen von B, um einen Hintergrundprozess zu erzeugen\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the child, call B to detach from any terminal and create an " "independent session\\&." msgstr "" "Aufruf von B im Kind, um von jedem Terminal zu trennen und eine " "unabhängige Sitzung zu erzeugen\\&." #. type: Plain text #: archlinux debian-unstable fedora-rawhide mageia-cauldron opensuse-tumbleweed msgid "" "In the child, call B again, to ensure that the daemon can never re-" "acquire a terminal again\\&. (This is relevant if the program \\(em and all " "its dependencies \\(em does not carefully specify `O_NOCTTY` on each and " "every single `open()` call that might potentially open a TTY device node\\&.)" msgstr "" "Erneuter Aufruf von B im Kind, um sicherzustellen, dass der Daemon " "niemals wieder ein Terminal erlangen kann\\&. (Dies ist relevant, falls das " "Programm und alle seine Abhängigkeiten nicht sorgfältig genug sind, um bei " "jedem »open()«-Aufruf, der möglicherweise einen TTY-Geräteknoten erlangen " "könnte, stets »O_NOCTTY« festzulegen\\&.)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Call B in the first child, so that only the second child (the actual " "daemon process) stays around\\&. This ensures that the daemon process is re-" "parented to init/PID 1, as all daemons should be\\&." msgstr "" "Aufruf von B im ersten Kind, so dass nur das zweite Kind (der " "eigentliche Daemon) verbleibt\\&. Dies stellt sicher, dass der Daemon-" "Prozess PID 1 als neuen Elternprozess bekommt, wie das bei allen Daemons der " "Fall sein sollte." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the daemon process, connect /dev/null to standard input, output, and " "error\\&." msgstr "" "Verbinden von /dev/null im Daemon-Prozess mit der Standardeingabe, -ausgabe " "und -fehlerausgabe\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the daemon process, reset the umask to 0, so that the file modes passed " "to B, B and suchlike directly control the access mode of " "the created files and directories\\&." msgstr "" "Zurücksetzen der Umask auf 0 im Daemon-Prozess, so dass die an B, " "B und ähnliche weitergegebenen Dateimodi direkt die Zugriffsmodi " "auf die erstellten Dateien und Verzeichnisse steuern\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the daemon process, change the current directory to the root directory " "(/), in order to avoid that the daemon involuntarily blocks mount points " "from being unmounted\\&." msgstr "" "Ändern des aktuellen Verzeichnisses im Daemon-Prozess auf das " "Wurzelverzeichnis (/), um zu vermeiden, dass der Daemon unfreiwillig die " "Einhängepunkte vor dem Aushängen blockiert\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the daemon process, write the daemon PID (as returned by B) to " "a PID file, for example /run/foobar\\&.pid (for a hypothetical daemon " "\"foobar\") to ensure that the daemon cannot be started more than once\\&. " "This must be implemented in race-free fashion so that the PID file is only " "updated when it is verified at the same time that the PID previously stored " "in the PID file no longer exists or belongs to a foreign process\\&." msgstr "" "Schreiben der Daemon-PID (wie von B zurückgeliefert) im Daemon-" "Prozess in eine PID-Datei, beispielsweise /run/foobar\\&.pid (für einen " "hypothetischen Daemon »foobar«), um sicherzustellen, dass der Daemon nicht " "mehr als einmal gestartet wird\\&. Dies muss so implementiert werden, dass " "kein Ressourcenwettlauf möglich ist, so dass die PID-Datei nur aktualisiert " "wird, wenn gleichzeitig sichergestellt ist, dass die vorher in der PID-Datei " "gespeicherte PID nicht mehr existiert oder zu einem fremden Prozess " "gehört\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "In the daemon process, drop privileges, if possible and applicable\\&." msgstr "" "Abgeben der Privilegien im Daemon-Prozess, falls möglich und zutreffend\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "From the daemon process, notify the original process started that " "initialization is complete\\&. This can be implemented via an unnamed pipe " "or similar communication channel that is created before the first B " "and hence available in both the original and the daemon process\\&." msgstr "" "Benachrichtigen des ursprünglich gestarteten Prozesses aus dem Daemon-" "Prozess, dass die Initialisierung abgeschlossen ist\\&. Dies kann über eine " "unbenannte Pipe oder einen ähnlichen Kommunikationskanal, der vor dem ersten " "B erstellt wurde und daher in sowohl dem ursprünglichen als auch dem " "Daemon-Prozess verfügbar ist, erfolgen\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Call B in the original process\\&. The process that invoked the " "daemon must be able to rely on that this B happens after " "initialization is complete and all external communication channels are " "established and accessible\\&." msgstr "" "Aufrufen von B im ursprünglichen Prozess\\&. Der Prozess, der den " "Daemon gestartet hat, muss in der Lage sein, sich darauf zu verlassen, dass " "dieser B passiert, nachdem die Initialisierung abgeschlossen und die " "externen Kommunikationskanäle etabliert und zugreifbar sind\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The BSD B function should not be used, as it implements only a " "subset of these steps\\&." msgstr "" "Die BSD-Funktion B sollte nicht verwandt werden, da sie nur eine " "Teilmenge dieser Schritte implementiert\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A daemon that needs to provide compatibility with SysV systems should " "implement the scheme pointed out above\\&. However, it is recommended to " "make this behavior optional and configurable via a command line argument to " "ease debugging as well as to simplify integration into systems using " "systemd\\&." msgstr "" "Ein Daemon, der Kompatibilität mit SysV-Systemen bereitstellen muss, sollte " "das oben dargestellte Schema implementieren\\&. Es wird allerdings " "empfohlen, dieses Verhalten über eine Befehlszeilenoption optional und " "konfigurierbar zu gestalten, um die Fehlersuche zu erleichtern und um die " "Integration in Systeme, die Systemd verwenden, zu erleichtern\\&." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "New-Style Daemons" msgstr "Neuartige Daemons" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Modern services for Linux should be implemented as new-style daemons\\&. " "This makes it easier to supervise and control them at runtime and simplifies " "their implementation\\&." msgstr "" "Moderne Dienste für Linux sollten als neuartige Daemons implementiert " "werden\\&. Dies erleichtert die Beaufsichtigung und Steuerung zur Laufzeit " "und vereinfacht ihre Implementierung\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "For developing a new-style daemon, none of the initialization steps " "recommended for SysV daemons need to be implemented\\&. New-style init " "systems such as systemd make all of them redundant\\&. Moreover, since some " "of these steps interfere with process monitoring, file descriptor passing, " "and other functionality of the service manager, it is recommended not to " "execute them when run as new-style service\\&." msgstr "" "Zur Entwicklung eines neuartigen Daemons muss keiner der für SysV-Daemons " "empfohlenen Initialisierungsschritte implementiert werden\\&. Bei neuartigen " "Init-Systemen wie Systemd sind diese alle redundant\\&. Da einige dieser " "Schritte sogar die Prozessüberwachung, Dateideskriptorweitergabe und andere " "Funktionalitäten des Diensteverwalters stören, wird empfohlen, sie nicht " "auszuführen, wenn sie als neuartiger Dienst ausgeführt laufen\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that new-style init systems guarantee execution of daemon processes in " "a clean process context: it is guaranteed that the environment block is " "sanitized, that the signal handlers and mask is reset and that no left-over " "file descriptors are passed\\&. Daemons will be executed in their own " "session, with standard input connected to /dev/null and standard output/" "error connected to the B(8) logging service, " "unless otherwise configured\\&. The umask is reset\\&." msgstr "" "Beachten Sie, dass neuartige Init-Systeme die Ausführung eines Daemon-" "Prozesses in einem sauberen Prozesskontext garantieren: Es wird garantiert, " "dass der Umgebungsblock bereinigt ist, dass Signal-Handler und -Masken " "zurückgesetzt sind und dass kein übrig gebliebener Dateideskriptor " "weitergegeben wird\\&. Daemons werden in ihrer eigenen Sitzung ausgeführt, " "wobei die Standardeingabe mit /dev/null und die Standardausgabe/" "Standardfehlerausgabe mit dem Protokollierungsdienst B(8) verbunden ist, außer dies ist anders konfiguriert\\&. Die Umask " "ist zurückgesetzt\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "It is recommended for new-style daemons to implement the following:" msgstr "Es wird empfohlen, dass neuartige Daemons folgendes implementieren:" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "If applicable, the daemon should notify the service manager about startup " "completion or status updates via the B(3) interface, in " "particular I and I\\&." msgstr "" "Falls zutreffend sollte der Daemon über den Abschluss des Startens oder " "Statusaktualisierungen den Diensteverwalter mittels der Schnittstelle " "B(3), insbesondere I und I, informieren\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "If B is received, shut down the daemon and exit cleanly\\&. A " "I notification should be sent via B(3)\\&." msgstr "" "Falls B empfangen wird, soll der Daemon sich herunterfahren und " "sauber beenden\\&. Es sollte mittels B(3) eine Stopp-" "Benachrichtigung gesandt werden\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "If B is received, reload the configuration files, if this " "applies\\&. This should be combined with notifications via B(3): " "I and I\\&." msgstr "" "Falls B empfangen wird, sollen die Konfigurationsdateien, falls " "zutreffend, neu geladen werden\\&. Dies sollte mit Benachrichtigungen " "mittels B(3) kombiniert werden: I und I\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "Provide a correct exit code from the main daemon process, as this is used by " "the service manager to detect service errors and problems\\&. It is " "recommended to follow the exit code scheme as defined in the \\m[blue]B\\m[]\\&\\s-2\\u[1]\\d\\s+2\\&." msgstr "" "Es soll ein korrekter Exit-Code vom Haupt-Daemon-Prozess bereitgestellt " "werden, da dieser vom Diensteverwalter benutzt wird, um Dienstefehler und " "Probleme zu erkennen\\&. Es wird empfohlen, dem in \\m[blue]B\\m[]\\&\\s-2\\u[1]\\d\\s+2 definierten " "Exit-Code-System zu folgen\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If possible and applicable, expose the daemon\\*(Aqs control interface via " "the D-Bus IPC system and grab a bus name as last step of initialization\\&." msgstr "" "Falls möglich und zutreffend sollte die Steuerschnittstelle mittels des D-" "Bus-IPC-Systems zugänglich gemacht und ein Bus-Name als letzten Schritt in " "der Initialisierung erlangt werden\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For integration in systemd, provide a \\&.service unit file that carries " "information about starting, stopping and otherwise maintaining the " "daemon\\&. See B(5) for details\\&." msgstr "" "Stellen Sie eine \\&.service-Unit-Datei zur Integration mit Systemd bereit, " "die Informationen zum Starten, Beenden und anderseitigen Verwalten des " "Daemons enthält\\&. Siehe B(5) für Details\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "As much as possible, rely on the service manager\\*(Aqs functionality to " "limit the access of the daemon to files, services, and other resources, i\\&." "e\\&. in the case of systemd, rely on systemd\\*(Aqs resource limit control " "instead of implementing your own, rely on systemd\\*(Aqs privilege dropping " "code instead of implementing it in the daemon, and so on\\&. See B(5) for the available controls\\&." msgstr "" "Verlassen Sie sich soweit möglich auf die Funktionalitäten des " "Diensteverwalters, den Zugriff des Daemons auf Dateien, Dienste und andere " "Ressourcen zu begrenzen, d\\&.h\\&. im Falle von Systemd, verlassen Sie sich " "auf Systemds Ressourenbegrenzungssteuerung statt Ihre eigene zu " "implementieren, verlassen Sie sich auf den Privilegienabgabe-Code von " "Systemd, statt ihn in Ihrem Daemon zu implementieren und so weiter\\&. Siehe " "B(5) für die verfügbaren Steuerungen\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If D-Bus is used, make your daemon bus-activatable by supplying a D-Bus " "service activation configuration file\\&. This has multiple advantages: your " "daemon may be started lazily on-demand; it may be started in parallel to " "other daemons requiring it \\(em which maximizes parallelization and boot-up " "speed; your daemon can be restarted on failure without losing any bus " "requests, as the bus queues requests for activatable services\\&. See below " "for details\\&." msgstr "" "Falls D-Bus verwandt wird, ermöglichen Sie die Bus-Aktivierung Ihres " "Daemons, indem Sie eine D-Bus-Dienste-Aktivierungsdatei bereitstellen\\&. " "Dies hat eine Reihe von Vorteilen: Ihr Daemon kann erst bei Bedarf gestartet " "werden; er kann parallel zu anderen Daemons, die ihn benötigen, gestartet " "werden \\(em wodurch die Parallelisierung und die Systemstartgeschwindigkeit " "maximiert wird; Ihr Daemon kann im Fehlerfall neu gestartet werden, ohne " "eine Bus-Anfrage zu verlieren, da die Bus-Warteschlagen aktivierbare Dienste " "erbitten\\&. Siehe unten für Details\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If your daemon provides services to other local processes or remote clients " "via a socket, it should be made socket-activatable following the scheme " "pointed out below\\&. Like D-Bus activation, this enables on-demand starting " "of services as well as it allows improved parallelization of service start-" "up\\&. Also, for state-less protocols (such as syslog, DNS), a daemon " "implementing socket-based activation can be restarted without losing a " "single request\\&. See below for details\\&." msgstr "" "Falls Ihr Daemon Dienste für andere lokale Prozesse oder Clients in der " "Ferne über ein Socket anbietet, sollte es gemäß des nachfolgend " "dargestellten Schemas Socket-aktivierbar sein\\&. Ähnlich der D-Bus-" "Aktivierung ermöglicht dies bedarfsgesteuertes Starten von Diensten sowie " "verbesserte Parallelisierung beim Starten der Dienste\\&. Für zustandslose " "Protokolle (wie Syslog, DNS) kann ein Daemon, der Socket-basierte " "Aktivierung implementiert, auch ohne Verlust einer einzelnen Anfrage neu " "gestartet werden\\&. Siehe unten für Details\\&." #. type: Plain text #: archlinux debian-unstable fedora-rawhide mageia-cauldron opensuse-tumbleweed msgid "" "If the service opens sockets or other files on it own, and those file " "descriptors shall survive a restart, the daemon should store them in the " "service manager via B(3) with I\\&." msgstr "" "Falls der Dienst Sockets oder andere Dateien selbst öffnet und diese " "Dateideskriptoren einen Neustart überleben sollen, sollte der Daemon sie im " "Diensteverwalter mittels B(3) mit I speichern\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "Instead of using the B call to log directly to the system syslog " "service, a new-style daemon may choose to simply log to standard error via " "B, which is then forwarded to syslog\\&. If log levels are " "necessary, these can be encoded by prefixing individual log lines with " "strings like \"E4E\" (for log level 4 \"WARNING\" in the syslog " "priority scheme), following a similar style as the Linux kernel\\*(Aqs " "B level system\\&. For details, see B(3) and B(5)\\&." msgstr "" "Statt den Aufruf B zum direkten Protokollieren in den " "Systemprotokolldienst zu verwenden, kann ein neuartiger Daemon einfach auf " "die Standardfehlerausgabe mittels B protokollieren, was dann an " "Syslog weitergeleitet wird\\&. Falls Protokollierungsstufen notwendig sind, " "können diese durch Voranstellen von Zeichenketten wie »E4E« (für " "Protokollierungsstufe 4 »WARNING« im Syslog-Prioritätsschema) vor " "individuellen Protokollierzeilen kodiert werden. Dies folgt einem ähnlichen " "Stil wie das B-Stufensystem des Linux-Kernels\\&. Für Details " "siehe B(3) und B(5)\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "As new-style daemons are invoked without a controlling TTY (but as their own " "session leaders) care should be taken to always specify B on " "B(2) calls that possibly reference a TTY device node, so that no " "controlling TTY is accidentally acquired\\&." msgstr "" "Da neuartige Daemons ohne ein steuerndes TTY (aber sie selbst als ihren " "eigenen Sitzungsleiter) aufgerufen werden, sollte sichergestellt werden, " "dass bei B(2)-Aufrufen, die möglicherweise einen TTY-Geräteknoten " "referenzieren, stets B festgelegt wird, so dass nicht " "versehentlich ein steuerndes TTY erlangt wird\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "These recommendations are similar but not identical to the \\m[blue]B\\m[]\\&\\s-2\\u[2]\\d\\s+2\\&." msgstr "" "Diese Empfehlungen sind ähnlich zu, aber nicht identisch mit den " "\\m[blue]B\\m[]\\&\\s-2\\u[2]\\d\\s+2\\&." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ACTIVATION" msgstr "AKTIVIERUNG" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "New-style init systems provide multiple additional mechanisms to activate " "services, as detailed below\\&. It is common that services are configured to " "be activated via more than one mechanism at the same time\\&. An example for " "systemd: bluetoothd\\&.service might get activated either when Bluetooth " "hardware is plugged in, or when an application accesses its programming " "interfaces via D-Bus\\&. Or, a print server daemon might get activated when " "traffic arrives at an IPP port, or when a printer is plugged in, or when a " "file is queued in the printer spool directory\\&. Even for services that are " "intended to be started on system bootup unconditionally, it is a good idea " "to implement some of the various activation schemes outlined below, in order " "to maximize parallelization\\&. If a daemon implements a D-Bus service or " "listening socket, implementing the full bus and socket activation scheme " "allows starting of the daemon with its clients in parallel (which speeds up " "boot-up), since all its communication channels are established already, and " "no request is lost because client requests will be queued by the bus system " "(in case of D-Bus) or the kernel (in case of sockets) until the activation " "is completed\\&." msgstr "" "Neuartige Init-Systeme stellen eine Reihe von zusätzlichen Mechanismen " "bereit, um Dienste zu aktivieren\\&. Details dazu weiter unten\\&. Es ist " "typisch, dass Dienste konfiguriert wurden, über mehr als einen Mechanismus " "gleichzeitig aktiviert zu werden\\&. Beispielsweise könnte in einem Systemd-" "System bluetoothd\\&.service aktiviert werden, wenn eine Bluetooth-Hardware " "eingesteckt wird oder wenn eine Anwendung mittels D-Bus auf seine " "Programmierschnittstelle zugreift\\&. Oder ein Drucker-Server-Daemon könnte " "aktiviert werden, wenn Daten auf einem IPP-Port ankommen oder wenn ein " "Drucker eingesteckt wird oder wenn eine Datei im Drucker-Spool-Verzeichnis " "in die Warteschlange kommt\\&. Selbst für Dienste, die dazu gedacht sind, " "beim Systemstart bedingungslos zu starten, ist es eine gute Idee, einige der " "unten dargestellten verschiedenen Aktivierungsschemata zu implementieren, um " "die Parallelisierung zu maximieren\\&. Falls ein Daemon einen D-Bus-Dienst " "implementiert oder an einem Socket auf Anfragen wartet, erlaubt die " "Implementierung des kompletten Bus- und Socket-Aktivierungsschematas das " "Starten des Daemons mit seinen Clients parallel durchzuführen (womit der " "Systemstart beschleunigt wird), da bereits alle Kommunikationskanäle " "etabliert sind und keine Anfrage verloren geht, da Client-Anfragen vom Bus-" "System in Warteschlangen gestellt werden (im Falle von D-Bus) oder durch den " "Kernel (im Falle von Sockets), bis die Aktivierung abgeschlossen ist\\&." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Activation on Boot" msgstr "Aktivierung beim Systemstart" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "Old-style daemons are usually activated exclusively on boot (and manually by " "the administrator) via SysV init scripts, as detailed in the \\m[blue]B\\m[]\\&\\s-2\\u[1]\\d\\s+2\\&. This " "method of activation is supported ubiquitously on Linux init systems, both " "old-style and new-style systems\\&. Among other issues, SysV init scripts " "have the disadvantage of involving shell scripts in the boot process\\&. New-" "style init systems generally use updated versions of activation, both during " "boot-up and during runtime and using more minimal service description " "files\\&." msgstr "" "Daemons der alten Art werden typischerweise exklusiv beim Systemstart (oder " "manuell durch den Systemadministrator) mittels SysV-Init-Skripten aktiviert, " "wie dies in der \\m[blue]B\\m[]\\&\\s-2\\u[1]\\d\\s+2 dargestellt ist\\&. Diese Methode " "wird universell auf Linux-Init-Systemen unterstützt, sowohl bei denen der " "alten Art als auch bei neuartigen\\&. Unter anderen Problemen haben die SysV-" "Init-Skripte den Nachteil, Shell-Skripte im Systemstartprozess zu " "involvieren\\&. Neuartige Init-Systeme verwenden im Allgemeinen " "aktualisierte Versionen der Aktivierung, sowohl während des Systemstarts als " "auch während der Laufzeit und verwenden minimalere " "Dienstebeschreibungsdateien\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In systemd, if the developer or administrator wants to make sure that a " "service or other unit is activated automatically on boot, it is recommended " "to place a symlink to the unit file in the \\&.wants/ directory of either " "multi-user\\&.target or graphical\\&.target, which are normally used as boot " "targets at system startup\\&. See B(5) for details about the " "\\&.wants/ directories, and B(7) for details about the two " "boot targets\\&." msgstr "" "Falls der Entwickler oder Administrator in Systemd sicherstellen möchte, " "dass ein Dienst oder eine andere Unit automatisch beim Systemstart aktiviert " "ist, wird empfohlen, einen Symlink auf die Unit-Datei im Verzeichnis \\&." "wants/ von entweder multi-user\\&.target oder graphical\\&.target, die " "normalerweise als Systemstartziele beim Systemstart verwandt werden, zu " "legen\\&. Siehe B(5) für Details über die Verzeichnisse \\&." "wants/ und B(7) für Details über die zwei " "Systemstartziele\\&." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Socket-Based Activation" msgstr "Socket-basierte Aktivierung" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "In order to maximize the possible parallelization and robustness and " "simplify configuration and development, it is recommended for all new-style " "daemons that communicate via listening sockets to use socket-based " "activation\\&. In a socket-based activation scheme, the creation and binding " "of the listening socket as primary communication channel of daemons to local " "(and sometimes remote) clients is moved out of the daemon code and into the " "service manager\\&. Based on per-daemon configuration, the service manager " "installs the sockets and then hands them off to the spawned process as soon " "as the respective daemon is to be started\\&. Optionally, activation of the " "service can be delayed until the first inbound traffic arrives at the socket " "to implement on-demand activation of daemons\\&. However, the primary " "advantage of this scheme is that all providers and all consumers of the " "sockets can be started in parallel as soon as all sockets are " "established\\&. In addition to that, daemons can be restarted with losing " "only a minimal number of client transactions, or even any client request at " "all (the latter is particularly true for state-less protocols, such as DNS " "or syslog), because the socket stays bound and accessible during the " "restart, and all requests are queued while the daemon cannot process them\\&." msgstr "" "Um die Parallelisierung und Robustheit zu maximieren und die Konfiguration " "und Entwicklung zu vereinfachen, wird für alle neuartigen Daemons empfohlen, " "die über Warten an Sockets kommunizieren, eine Socket-basierte Aktivierung " "zu verwenden\\&. In einem Socket-basierten Aktivierungsschema wird die " "Erstellung und das Binden des Sockets, an dem gewartet werden soll, als " "primären Kommunikationskanal von Daemons mit lokalen (und manchmal fernen) " "Clients aus dem Daemon-Code in den Diensteverwalter verschoben\\&. Basierend " "auf einer Daemon-basierten Konfiguration installiert der Diensteverwalter " "die Sockets und gibt sie an die erstellten Prozesse, sobald der respektive " "Daemon gestartet wird\\&. Optional kann die Aktivierung des Dienstes " "verzögert werden, bis der erste eingehende Verkehr auf dem Socket eintrifft, " "um eine bedarfsgesteuerte Aktivierung von Daemons zu realisieren\\&. " "Allerdings ist der Hauptvorteil dieses Schemas, dass alle Anbieter und " "Konsumenten des Sockets parallel gestartet werden können, sobald alle " "Sockets etabliert sind\\&. Zusätzlich können Daemons neugestartet werden und " "dabei nur eine minimale Anzahl an Client-Transaktionen verlieren oder sogar " "überhaupt keine Client-Anfrage (Letzteres stimmt insbesondere für " "zustandslose Protokolle wie DNS oder Syslog), da das Socket während des " "Neustarts angebunden und zugreifbar verbleibt und alle Anfragen in einer " "Warteschlange verbleiben, während der Daemon sie nicht verarbeiten kann\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "New-style daemons which support socket activation must be able to receive " "their sockets from the service manager instead of creating and binding them " "themselves\\&. For details about the programming interfaces for this scheme " "provided by systemd, see B(3) and B(3)\\&. For " "details about porting existing daemons to socket-based activation, see " "below\\&. With minimal effort, it is possible to implement socket-based " "activation in addition to traditional internal socket creation in the same " "codebase in order to support both new-style and old-style init systems from " "the same daemon binary\\&." msgstr "" "Neuartige Daemons, die Socket-Aktivierung unterstützen, müssen in der Lage " "sein, Sockets vom Diensteverwalter zu erhalten, statt sie selbst zu " "erstellen und sich daran zu binden\\&. Für Details über die " "Programmierschnittstellen für dieses von Systemd bereitgestellte Schema, " "siehe B(3) und B(3)\\&. Für Details über die " "Portierung bestehender Daemons zu Socket-basierter Aktivierung, siehe " "unten\\&. Mit minimalem Einsatz ist es möglich, Socket-basierte Aktivierung " "zusätzlich zu traditioneller interner Socket-Erstellung in der gleichen " "Codebasis zu erstellen, um sowohl neuartige als auch Init-Systeme der alten " "Art im gleichen Daemon-Programm zu unterstützen\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "systemd implements socket-based activation via \\&.socket units, which are " "described in B(5)\\&. When configuring socket units for " "socket-based activation, it is essential that all listening sockets are " "pulled in by the special target unit sockets\\&.target\\&. It is recommended " "to place a I directive in the [Install] section " "to automatically add such a dependency on installation of a socket unit\\&. " "Unless I is set, the necessary ordering dependencies " "are implicitly created for all socket units\\&. For more information about " "sockets\\&.target, see B(7)\\&. It is not necessary or " "recommended to place any additional dependencies on socket units (for " "example from multi-user\\&.target or suchlike) when one is installed in " "sockets\\&.target\\&." msgstr "" "Systemd implementiert Socket-basierte Aktivierung mittels \\&.socket-Units, " "die in B(5) beschrieben sind\\&. Wenn Socket-Units für " "Socket-basierte Aktivierung konfiguriert werden, ist es wesentlich, dass " "alle Sockets, bei denen auf Anfragen gewartet wird, durch eine spezielle " "Ziel-Unit sockets\\&.target hereingezogen werden\\&. Es wird empfohlen, eine " "Anweisung I in den Abschnitt »[Install]« zu " "setzen, um eine solche Abhängigkeit automatisch bei der Installation einer " "Socket-Unit hinzuzufügen\\&. Die notwendigen Ordnungs-Abhängigkeiten werden " "für alle Socket-Units implizit erstellt, falls I " "nicht gesetzt ist\\&. Für weitere Informationen über sockets\\&.target, " "siehe B(7)\\&. Es ist nicht notwendig oder empfohlen, " "zusätzliche Abhängigkeiten auf Socket-Units abzulegen (zum Beispiel von " "multi-user\\&.target oder ähnlichem), wenn eine in sockets\\&.target " "installiert ist\\&." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Bus-Based Activation" msgstr "Bus-basierte Aktivierung" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "When the D-Bus IPC system is used for communication with clients, new-style " "daemons should use bus activation so that they are automatically activated " "when a client application accesses their IPC interfaces\\&. This is " "configured in D-Bus service files (not to be confused with systemd service " "unit files!)\\&. To ensure that D-Bus uses systemd to start-up and maintain " "the daemon, use the I directive in these service files to " "configure the matching systemd service for a D-Bus service\\&. e\\&.g\\&.: " "For a D-Bus service whose D-Bus activation file is named org\\&." "freedesktop\\&.RealtimeKit\\&.service, make sure to set " "I in that file to bind it to the " "systemd service rtkit-daemon\\&.service\\&. This is needed to make sure that " "the daemon is started in a race-free fashion when activated via multiple " "mechanisms simultaneously\\&." msgstr "" "Wenn das D-Bus-IPC-System für die Kommunikation mit Clients verwandt wird, " "sollten neuartige Daemons Bus-Aktivierung verwenden, so dass sie automatisch " "aktiviert werden, wenn eine Client-Anwendung auf ihre IPC-Schnittstelle " "zugreift\\&. Dies wird in D-Bus-Dienste-Dateien (die nicht mit Systemds " "Dienste-Unit-Dateien durcheinandergebracht werden dürfen) konfiguriert\\&. " "Um sicherzustellen, dass D-Bus Systemd verwendet, um den Daemon zu starten " "und zu verwalten, verwenden Sie die Anweisung I in diesen " "Dienste-Dateien, um den passenden Systemd-Dienst für einen D-Bus-Dienst zu " "konfigurieren. Stellen Sie beispielsweise für einen D-Bus-Dienst, dessen D-" "Bus-Aktivierungsdatei org\\&.freedesktop\\&.RealtimeKit\\&.service heißt, " "sicher, dass I in dieser Datei " "gesetzt ist, um ihn an den Systemd-Dienst rtkit-daemon\\&.service zu binden. " "Dies wird benötigt, um sicherzustellen, dass der Daemon ohne " "Ressourcenwettläufe gestartet wird, wenn er über mehrere Mechanismen " "simultan aktiviert wird\\&." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Device-Based Activation" msgstr "Geräte-basierte Aktivierung" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Often, daemons that manage a particular type of hardware should be activated " "only when the hardware of the respective kind is plugged in or otherwise " "becomes available\\&. In a new-style init system, it is possible to bind " "activation to hardware plug/unplug events\\&. In systemd, kernel devices " "appearing in the sysfs/udev device tree can be exposed as units if they are " "tagged with the string \"systemd\"\\&. Like any other kind of unit, they may " "then pull in other units when activated (i\\&.e\\&. plugged in) and thus " "implement device-based activation\\&. systemd dependencies may be encoded in " "the udev database via the I property\\&. See B(5) for details\\&. Often, it is nicer to pull in services from " "devices only indirectly via dedicated targets\\&. Example: Instead of " "pulling in bluetoothd\\&.service from all the various bluetooth dongles and " "other hardware available, pull in bluetooth\\&.target from them and " "bluetoothd\\&.service from that target\\&. This provides for nicer " "abstraction and gives administrators the option to enable bluetoothd\\&." "service via controlling a bluetooth\\&.target\\&.wants/ symlink uniformly " "with a command like B of B(1) instead of manipulating " "the udev ruleset\\&." msgstr "" "Oft sollen Daemons, die einen besonderen Hardwaretyp verwalten, nur " "aktiviert werden, wenn die Hardware der entsprechenden Art eingesteckt oder " "andernfalls verfügbar gemacht wird\\&. In einem neuartigen Init-System ist " "es möglich, die Aktivierung an Hardware-Einsteck-/Aussteck-Ereignisse zu " "binden\\&. In Systemd können Kernel-Geräte, die in dem Gerätebaum sysfs/udev " "auftauchen, als Units offengelegt werden, falls sie mit der Zeichenkette " "»systemd« markiert sind\\&. Wie andere Arten von Units können sie dann " "andere Units bei der Aktivierung (z\\&.B\\&. beim Einstecken) hereinziehen, " "und daher Geräte-basierte Aktivierung implementieren\\&. Systemd-" "Abhängigkeiten können in der Udev-Datenbank mittels der Eigenschaft " "I kodiert werden\\&. Siehe B(5) für " "Details\\&. Oft ist es schöner, einen Dienst von Geräten nur indirekt über " "dedizierte Ziele hereinzuziehen\\&. Beispiel: Statt bluetoothd\\&.service " "von alle den verschiedenen Bluetooth-Dongles und anderen verfügbaren " "Hardwaren hereinzuziehen, ziehen Sie von ihnen bluetooth\\&.target herein " "und dann bluetoothd\\&.service von diesem Ziel\\&. Dies stellt eine nettere " "Abstraktion bereit und ermöglicht Administratoren die Option, bluetoothd\\&." "service über einen Symlink bluetooth\\&.target\\&.wants/ uniform mit einem " "Befehl der Art B von B(1) zu steuern, statt den Udev-" "Regelsatz zu bearbeiten\\&." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Path-Based Activation" msgstr "Pfadbasierte Aktivierung" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Often, runtime of daemons processing spool files or directories (such as a " "printing system) can be delayed until these file system objects change " "state, or become non-empty\\&. New-style init systems provide a way to bind " "service activation to file system changes\\&. systemd implements this scheme " "via path-based activation configured in \\&.path units, as outlined in " "B(5)\\&." msgstr "" "Oft können Laufzeit-Daemons, die Spool-Dateien oder -Verzeichnisse (wie bei " "einem Drucksystem) verarbeiten, verzögert werden, bis diese " "Dateisystemobjekte den Zustand ändern oder nicht mehr leer sind\\&. " "Neuartige Init-Systeme stellen einen Weg bereit, die Diensteaktivierung an " "Dateisystemänderungen zu binden\\&. Systemd implementiert dieses Schema " "mittels in \\&.path-Units konfigurierter pfadbasierter Aktivierung, wie in " "B(5) skizziert\\&." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Timer-Based Activation" msgstr "Timer-basierte Aktivierung" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Some daemons that implement clean-up jobs that are intended to be executed " "in regular intervals benefit from timer-based activation\\&. In systemd, " "this is implemented via \\&.timer units, as described in B(5)\\&." msgstr "" "Einige Daemons, die Aufräumaufgaben erledigen, die regelmäßig ausgeführt " "werden sollen, ziehen aus Timer-basierter Aktivierung einen Nutzen\\&. In " "Systemd ist dies mittels \\&.timer-Units implementiert, wie in B(5) beschrieben\\&." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Other Forms of Activation" msgstr "Andere Formen der Aktivierung" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "Other forms of activation have been suggested and implemented in some " "systems\\&. However, there are often simpler or better alternatives, or they " "can be put together of combinations of the schemes above\\&. Example: " "Sometimes, it appears useful to start daemons or \\&.socket units when a " "specific IP address is configured on a network interface, because network " "sockets shall be bound to the address\\&. However, an alternative to " "implement this is by utilizing the Linux B/B " "socket option, as accessible via I in systemd socket files " "(see B(5) for details)\\&. This option, when enabled, " "allows sockets to be bound to a non-local, not configured IP address, and " "hence allows bindings to a particular IP address before it actually becomes " "available, making such an explicit dependency to the configured address " "redundant\\&. Another often suggested trigger for service activation is low " "system load\\&. However, here too, a more convincing approach might be to " "make proper use of features of the operating system, in particular, the CPU " "or I/O scheduler of Linux\\&. Instead of scheduling jobs from userspace " "based on monitoring the OS scheduler, it is advisable to leave the " "scheduling of processes to the OS scheduler itself\\&. systemd provides fine-" "grained access to the CPU and I/O schedulers\\&. If a process executed by " "the service manager shall not negatively impact the amount of CPU or I/O " "bandwidth available to other processes, it should be configured with " "I and/or I\\&. Optionally, " "this may be combined with timer-based activation to schedule background jobs " "during runtime and with minimal impact on the system, and remove it from the " "boot phase itself\\&." msgstr "" "Es wurden andere Formen der Aktivierung vorgeschlagen und in einigen " "Systemen implementiert\\&. Allerdings gibt es oft einfachere und bessere " "Alternativen oder sie können als Kombination der obigen Schemata " "zusammengestellt werden\\&. Beispiel: Manchmal erscheint es nützlich, " "Daemons oder \\&.socket-Units zu starten, wenn eine bestimmte IP-Adresse an " "einer Netzwerkschnittstelle konfiguriert ist, da Netzwerk-Sockets an diese " "Adresse gebunden werden sollen\\&. Eine Alternative zur Implementierung " "hiervon ist die Verwendung der Socket-Option B/B " "von Linux, die mittels I in Systemd-Socket-Dateien erreichbar " "ist (siehe B(5) für Details)\\&. Diese Option erlaubt " "Sockets, wenn sie aktiviert ist, an nichtlokale, nichtkonfigurierte IP-" "Adressen gebunden zu werden und erlaubt damit Anbindungen an bestimmte IP-" "Adressen, bevor diese tatsächlich verfügbar werden; dies macht eine solche " "explizite Abhängigkeit auf die konfigurierte Adresse redundant\\&. Ein " "anderer oft vorgeschlagener Auslöser für Dienste-Aktivierung ist niedrige " "Systemlast\\&. Auch hier könnte allerdings ein überzeugender Ansatz sein, " "die Funktionalitäten des Betriebssystems korrekt zu benutzen, insbesondere " "des CPU- oder E/A-Schedulers von Linux\\&. Anstatt Aufträge vom " "Anwenderbereich, basierend auf der Überwachung des Betriebssystem-" "Schedulers, einzuplanen, ist es empfehlenswert, die Einplanung von Prozessen " "dem Betriebssystem-Scheduler selbst zu überlassen\\&. Systemd stellt einen " "feingranularen Zugriff auf die CPU- und E/A-Scheduler bereit\\&. Falls ein " "vom Diensteverwalter ausgeführter Prozess den Umfang der für andere Prozesse " "verfügbaren CPU- oder E/A-Bandbreite nicht negativ beeinflussen soll, sollte " "er mit I und/oder I " "konfiguriert werden\\&. Optional kann dies mit Timer-basierter Aktivierung " "kombiniert werden, um Hintergrund-Aufträge während der Laufzeit und mit " "minimalen Auswirkungen auf das System einzuplanen und ihn aus der " "Systemstartphase selbst zu entfernen\\&." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "INTEGRATION WITH SYSTEMD" msgstr "INTEGRATION MIT SYSTEMD" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Writing systemd Unit Files" msgstr "Schreiben von Systemd-Unit-Dateien" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When writing systemd unit files, it is recommended to consider the following " "suggestions:" msgstr "" "Beim Schreiben von Systemd-Unit-Dateien wird empfohlen, die folgenden " "Vorschläge zu berücksichtigen:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If possible, do not use the I setting in service files\\&. But " "if you do, make sure to set the PID file path using I\\&. See " "B(5) for details\\&." msgstr "" "Falls möglich, nutzen Sie die Einstellung I in Dienstedateien " "nicht\\&. Falls Sie es aber machen, stellen Sie sicher, den PID-Dateipfad " "mit I zu setzen\\&. Siehe B(5) für Details\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If your daemon registers a D-Bus name on the bus, make sure to use " "I in the service file if possible\\&." msgstr "" "Falls Ihr Daemon einen D-Bus-Namen auf dem Bus registriert, stellen Sie " "sicher, falls möglich I in der Dienstedatei zu verwenden\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Make sure to set a good human-readable description string with " "I\\&." msgstr "Setzen Sie eine gut lesbare Beschreibung in I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Do not disable I, unless you really know what you do " "and your unit is involved in early boot or late system shutdown\\&." msgstr "" "Deaktivieren Sie I nicht, außer Sie wissen genau, was " "Sie tun und Ihre Unit ist in der frühen Systemstartphase oder im späten " "Herunterfahren beteiligt\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Normally, little if any dependencies should need to be defined " "explicitly\\&. However, if you do configure explicit dependencies, only " "refer to unit names listed on B(7) or names introduced by " "your own package to keep the unit file operating system-independent\\&." msgstr "" "Normalerweise werden wenige, falls überhaupt, Abhängigkeiten explizit " "definiert werden müssen\\&. Falls Sie allerdings explizite Abhängigkeiten " "definieren, beziehen Sie sich nur auf Units, die in B(7) " "aufgeführt sind oder auf Namen, die von Ihrem eigenen Paket bekanntgegeben " "sind, um Ihre Unit-Datei Betriebssystem-unabhängig zu halten\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Make sure to include an [Install] section including installation information " "for the unit file\\&. See B(5) for details\\&. To activate " "your service on boot, make sure to add a I or " "I directive\\&. To activate your socket on " "boot, make sure to add I\\&. Usually, you also " "want to make sure that when your service is installed, your socket is " "installed too, hence add I in your service file foo\\&." "service, for a hypothetical program foo\\&." msgstr "" "Nehmen Sie einen Abschnitt »[Install]« auf, der die Installationsinformation " "für die Unit-Datei enthält\\&. Siehe B(5) für Details\\&. Um " "Ihren Dienst beim Systemstart zu aktivieren, fügen Sie eine Anweisung " "I oder I " "hinzu\\&. Um Ihr Socket beim Systemstart zu aktivieren, fügen Sie " "I hinzu\\&. Normalerweise wollen Sie auch " "sicherstellen, dass bei der Installation Ihres Dienstes auch Ihr Socket " "installiert wird, daher fügen Sie I in Ihrer " "Dienstedatei foo\\&.service für ein hypothetisches Programm foo hinzu\\&." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Installing systemd Service Files" msgstr "Systemd-Dienstedateien installieren" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "At the build installation time (e\\&.g\\&. B during package " "build), packages are recommended to install their systemd unit files in the " "directory returned by B " "(for system services) or B " "(for user services)\\&. This will make the services available in the system " "on explicit request but not activate them automatically during boot\\&. " "Optionally, during package installation (e\\&.g\\&. B by the " "administrator), symlinks should be created in the systemd configuration " "directories via the B command of the B(1) tool to " "activate them automatically on boot\\&." msgstr "" "Zum Bauinstallationszeitpunkt (d\\&.h\\&. B während des " "Paketbaus) wird empfohlen, dass Pakete ihre Systemd-Unit-Dateien im " "Verzeichnis, das von B " "(für Systemdienste) oder B " "(für Benutzerdienste) zurückgeliefert wird, zu installieren\\&. Damit wird " "der Dienst im System für explizite Anfragen verfügbar gemacht, aber nicht " "beim Systemstart automatisch aktiviert\\&. Optional sollten während der " "Paketinstallation (z\\&.B\\&. B durch den Administrator) Symlinks in " "den Systemd-Konfigurationsverzeichnissen mit dem Befehl B des " "Werkzeuges B(1) erstellt werden, um sie beim Systemstart " "automatisch zu aktivieren\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Packages using B(1) are recommended to use a configure script " "excerpt like the following to determine the unit installation path during " "source configuration:" msgstr "" "Für Pakete, die B(1) verwenden, wird empfohlen, einen Configure-" "Skript-Auszug wie den nachfolgenden zu verwenden, um den Unit-" "Installationspfad während der Quellkonfiguration zu ermitteln:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "PKG_PROG_PKG_CONFIG()\n" "AC_ARG_WITH([systemdsystemunitdir],\n" " [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],,\n" " [with_systemdsystemunitdir=auto])\n" "AS_IF([test \"x$with_systemdsystemunitdir\" = \"xyes\" -o \"x$with_systemdsystemunitdir\" = \"xauto\"], [\n" " def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)\n" msgstr "" "PKG_PROG_PKG_CONFIG()\n" "AC_ARG_WITH([systemdsystemunitdir],\n" " [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],,\n" " [with_systemdsystemunitdir=auto])\n" "AS_IF([test \"x$with_systemdsystemunitdir\" = \"xyes\" -o \"x$with_systemdsystemunitdir\" = \"xauto\"], [\n" " def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" " AS_IF([test \"x$def_systemdsystemunitdir\" = \"x\"],\n" " [AS_IF([test \"x$with_systemdsystemunitdir\" = \"xyes\"],\n" " [AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])])\n" " with_systemdsystemunitdir=no],\n" " [with_systemdsystemunitdir=\"$def_systemdsystemunitdir\"])])\n" "AS_IF([test \"x$with_systemdsystemunitdir\" != \"xno\"],\n" " [AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])])\n" "AM_CONDITIONAL([HAVE_SYSTEMD], [test \"x$with_systemdsystemunitdir\" != \"xno\"])\n" msgstr "" " AS_IF([test \"x$def_systemdsystemunitdir\" = \"x\"],\n" " [AS_IF([test \"x$with_systemdsystemunitdir\" = \"xyes\"],\n" " [AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])])\n" " with_systemdsystemunitdir=no],\n" " [with_systemdsystemunitdir=\"$def_systemdsystemunitdir\"])])\n" "AS_IF([test \"x$with_systemdsystemunitdir\" != \"xno\"],\n" " [AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])])\n" "AM_CONDITIONAL([HAVE_SYSTEMD], [test \"x$with_systemdsystemunitdir\" != \"xno\"])\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This snippet allows automatic installation of the unit files on systemd " "machines, and optionally allows their installation even on machines lacking " "systemd\\&. (Modification of this snippet for the user unit directory is " "left as an exercise for the reader\\&.)" msgstr "" "Dieser Schnipsel ermöglicht die automatische Installation der Unit-Dateien " "auf Systemd-Maschinen und erlaubt optional ihre Installation selbst auf " "Maschinen, denen Systemd fehlt\\&. (Die Anpassung des Schnipsels auf das " "Benutzer-Unit-Verzeichnis bleibt als Aufgabe für den Leser\\&.)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Additionally, to ensure that B continues to work, it is " "recommended to add the following to the top-level Makefile\\&.am file in " "B(1)-based projects:" msgstr "" "Damit B weiterhin funktioniert, wird auf B(1) " "basierenden Projekten zusätzlich empfohlen, folgendes zur Datei Makefile\\&." "am auf oberster Ebene hinzuzufügen:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "AM_DISTCHECK_CONFIGURE_FLAGS = \\e\n" " --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)\n" msgstr "" "AM_DISTCHECK_CONFIGURE_FLAGS = \\e\n" " --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Finally, unit files should be installed in the system with an automake " "excerpt like the following:" msgstr "" "Schließlich sollten Unit-Dateien im System mit einem Automake-Ausschnitt der " "folgenden Art installiert werden:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "if HAVE_SYSTEMD\n" "systemdsystemunit_DATA = \\e\n" " foobar\\&.socket \\e\n" " foobar\\&.service\n" "endif\n" msgstr "" "if HAVE_SYSTEMD\n" "systemdsystemunit_DATA = \\e\n" " foobar\\&.socket \\e\n" " foobar\\&.service\n" "endif\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the B(8) \\&.spec file, use snippets like the following to enable/" "disable the service during installation/deinstallation\\&. This makes use of " "the RPM macros shipped along systemd\\&. Consult the packaging guidelines of " "your distribution for details and the equivalent for other package " "managers\\&." msgstr "" "In der \\&.spec-Datei von B(8) verwenden Sie Schnipsel der folgenden " "Art, um Dienste während der Installation/Deinstallation zu aktivieren/zu " "deaktivieren\\&. Dies verwendet RPM-Makros, die zusammen mit Systemd " "ausgeliefert werden\\&. Ziehen Sie die Paketierungsrichtlinien Ihrer " "Distribution für Details und die Äquivalente anderer Paketverwalter hinzu\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "At the top of the file:" msgstr "Am Anfang der Datei:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BuildRequires: systemd\n" "%{?systemd_requires}\n" msgstr "" "BuildRequires: systemd\n" "%{?systemd_requires}\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "And as scriptlets, further down:" msgstr "Und als Skriptteile, weiter unten:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "%post\n" "%systemd_post foobar\\&.service foobar\\&.socket\n" msgstr "" "%post\n" "%systemd_post foobar\\&.service foobar\\&.socket\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "%preun\n" "%systemd_preun foobar\\&.service foobar\\&.socket\n" msgstr "" "%preun\n" "%systemd_preun foobar\\&.service foobar\\&.socket\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "%postun\n" "%systemd_postun\n" msgstr "" "%postun\n" "%systemd_postun\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the service shall be restarted during upgrades, replace the \"%postun\" " "scriptlet above with the following:" msgstr "" "Falls der Dienst während der Aktualisierung neu gestartet werden soll, " "ersetzen Sie den Skriptteil »%postun« mit nachfolgendem:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "%postun\n" "%systemd_postun_with_restart foobar\\&.service\n" msgstr "" "%postun\n" "%systemd_postun_with_restart foobar\\&.service\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that \"%systemd_post\" and \"%systemd_preun\" expect the names of all " "units that are installed/removed as arguments, separated by spaces\\&. " "\"%systemd_postun\" expects no arguments\\&. " "\"%systemd_postun_with_restart\" expects the units to restart as " "arguments\\&." msgstr "" "Beachten Sie, dass »%systemd_post« und »%systemd_preun« die Namen sämtlicher " "zu installierender/entfernender Units als durch Leerzeichen getrennte " "Argumente erwarten\\&. »%systemd_postun« erwartet keine Argumente\\&. " "»%systemd_postun_with_restart« erwartet die neu zu startenden Units als " "Argumente\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To facilitate upgrades from a package version that shipped only SysV init " "scripts to a package version that ships both a SysV init script and a native " "systemd service file, use a fragment like the following:" msgstr "" "Um Aktualisierungen von einer Paketversion, die nur SysV-Init-Skripte " "auslieferte, zu einer Paketversion, die sowohl SysV-Init-Skripte als auch " "eine native Systemd-Dienstedatei ausliefert, zu unterstützen, verwenden Sie " "Fragmente der folgenden Art:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "%triggerun -- foobar E 0\\&.47\\&.11-1\n" "if /sbin/chkconfig --level 5 foobar ; then\n" " /bin/systemctl --no-reload enable foobar\\&.service foobar\\&.socket E/dev/null 2E&1 || :\n" "fi\n" msgstr "" "%triggerun -- foobar E 0\\&.47\\&.11-1\n" "if /sbin/chkconfig --level 5 foobar ; then\n" " /bin/systemctl --no-reload enable foobar\\&.service foobar\\&.socket E/dev/null 2E&1 || :\n" "fi\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Where 0\\&.47\\&.11-1 is the first package version that includes the native " "unit file\\&. This fragment will ensure that the first time the unit file is " "installed, it will be enabled if and only if the SysV init script is " "enabled, thus making sure that the enable status is not changed\\&. Note " "that B is a command specific to Fedora which can be used to check " "whether a SysV init script is enabled\\&. Other operating systems will have " "to use different commands here\\&." msgstr "" "Wobei 0\\&.47\\&.11-1 die erste Paketversion ist, die die native Unit-Datei " "enthält\\&. Dieses Fragment bewirkt, dass bei der erstmaligen Installation " "der Unit-Datei diese nur aktiviert wird, falls das SysV-Init-Skript " "aktiviert ist und stellt damit sicher, dass der Aktivierungsstatus sich " "nicht ändert\\&. Beachten Sie, dass der Befehl B, der zum " "Überprüfen des Aktivitätsstandes eines SysV-Init-Skriptes verwandt werden " "kann, Fedora-spezifisch ist\\&. Hier werden andere Betriebssysteme andere " "Befehle verwenden müssen\\&." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "PORTING EXISTING DAEMONS" msgstr "EXISTIERENDE DAEMONS PORTIEREN" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since new-style init systems such as systemd are compatible with traditional " "SysV init systems, it is not strictly necessary to port existing daemons to " "the new style\\&. However, doing so offers additional functionality to the " "daemons as well as simplifying integration into new-style init systems\\&." msgstr "" "Da neuartige Init-Systeme wie Systemd zu traditionellen SysV-Init-Systemen " "kompatibel sind, ist es strenggenommen nicht notwendig, Daemons auf die neue " "Art zu portieren\\&. Erfolgt dies, ermöglicht es aber, zusätzliche " "Funktionalitäten zum Daemon hinzuzufügen, sowie die Integration in das " "neuartige Init-System zu vereinfachen\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To port an existing SysV compatible daemon, the following steps are " "recommended:" msgstr "" "Um einen bestehenden, SysV-kompatiblen Daemon zu portieren, werden die " "folgenden Schritte empfohlen:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If not already implemented, add an optional command line switch to the " "daemon to disable daemonization\\&. This is useful not only for using the " "daemon in new-style init systems, but also to ease debugging\\&." msgstr "" "Falls noch nicht implementiert, fügen Sie einen zusätzlichen " "Befehlszeilenschalter zu dem Daemon hinzu, um die Daemonisierung zu " "deaktivieren\\&. Dies ist nicht nur für den Einsatz in neuartigen Init-" "Systemen, sondern auch zur Erleichterung der Fehlersuche nützlich\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "If the daemon offers interfaces to other software running on the local " "system via local B sockets, consider implementing socket-based " "activation (see above)\\&. Usually, a minimal patch is sufficient to " "implement this: Extend the socket creation in the daemon code so that " "B(3) is checked for already passed sockets first\\&. If " "sockets are passed (i\\&.e\\&. when B returns a positive " "value), skip the socket creation step and use the passed sockets\\&. " "Secondly, ensure that the file system socket nodes for local B " "sockets used in the socket-based activation are not removed when the daemon " "shuts down, if sockets have been passed\\&. Third, if the daemon normally " "closes all remaining open file descriptors as part of its initialization, " "the sockets passed from the service manager must be spared\\&. Since new-" "style init systems guarantee that no left-over file descriptors are passed " "to executed processes, it might be a good choice to simply skip the closing " "of all remaining open file descriptors if sockets are passed\\&." msgstr "" "Falls der Daemon zu anderer, auf dem lokalen System laufenden Software " "Schnittstellen mittels lokaler B-Sockets anbietet, sollte eine " "Socket-basierte Aktivierung (siehe oben) überlegt werden\\&. Normalerweise " "reicht ein minimaler Patch, um dies zu implementieren: Erweitern Sie die " "Socket-Erstellung im Daemon-Code, so dass zuerst B(3) auf " "bereits übergebene Sockets geprüft wird\\&. Falls Sockets übergeben wurden " "(d\\&.h\\&. wenn B einen positiven Wert liefert), " "überspringen Sie den Socket-Erstellungsschritt und verwenden Sie die " "übergebenen Sockets\\&. Zweitens sollten die System-Socket-Knoten für " "lokale, in der Socket-basierten Aktivierung verwandten B-Sockets " "nicht entfernt werden, wenn der Daemon heruntergefahren wird, falls Sockets " "übergeben wurden\\&. Falls der Daemon normalerweise alle verbliebenen " "offenen Dateideskriptoren als Teil seiner Initialisierung schließt, müssen " "drittens die vom Diensteverwalter übergebenen Sockets verschont werden\\&. " "Da neuartige Init-Systeme garantieren, dass keine verbliebenen " "Dateideskriptoren an ausgeführte Prozesse übergeben werden, könnte es eine " "gute Idee sein, einfach das Schließen aller verbliebenen offenen " "Dateideskriptoren zu überspringen, falls Sockets übergeben wurden\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Write and install a systemd unit file for the service (and the sockets if " "socket-based activation is used, as well as a path unit file, if the daemon " "processes a spool directory), see above for details\\&." msgstr "" "Schreiben und installieren Sie eine Systemd-Unit-Datei für den Dienst (und " "die Sockets, falls Socket-basierte Aktivierung verwandt wird, sowie eine " "Pfad-Unit-Datei, falls der Daemon ein Spool-Verzeichnis verarbeitet), siehe " "oben für Details\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the daemon exposes interfaces via D-Bus, write and install a D-Bus " "activation file for the service, see above for details\\&." msgstr "" "Falls der Daemon Schnittstellen mittels D-Bus offenlegt, schreiben Sie eine " "D-Bus-Aktivierungsdatei für den Dienst, siehe oben für Details\\&." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "PLACING DAEMON DATA" msgstr "ABLAGE VON DAEMON-DATEN" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "It is recommended to follow the general guidelines for placing package " "files, as discussed in B(7)\\&." msgstr "" "Es wird empfohlen, den allgemeinen Richtlinien, beschrieben in B(7), für die Ablage von Paketdateien zu folgen\\&." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "SIEHE AUCH" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(1), B(3), B(3), B(3), " "B(3), B(5), B(7)" msgstr "" "B(1), B(3), B(3), B(3), " "B(3), B(5), B(7)" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "ANMERKUNGEN" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid " 1." msgstr " 1." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "LSB recommendations for SysV init scripts" msgstr "LSB-Empfehlungen für SysV-Init-Skripte" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "\\%http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/" "iniscrptact.html" msgstr "" "\\%http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/" "iniscrptact.html" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid " 2." msgstr " 2." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Apple MacOS X Daemon Requirements" msgstr "Apple-MacOS-X-Daemon-Anforderungen" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "\\%https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/" "BPSystemStartup/Chapters/CreatingLaunchdJobs.html" msgstr "" "\\%https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/" "BPSystemStartup/Chapters/CreatingLaunchdJobs.html" #. type: TH #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "systemd 254" msgstr "systemd 254" #. type: Plain text #: debian-bookworm fedora-40 opensuse-leap-15-6 msgid "" "In the child, call B again, to ensure that the daemon can never re-" "acquire a terminal again\\&. (This relevant if the program \\(em and all its " "dependencies \\(em does not carefully specify `O_NOCTTY` on each and every " "single `open()` call that might potentially open a TTY device node\\&.)" msgstr "" "Erneuter Aufruf von B im Kind, um sicherzustellen, dass der Daemon " "niemals wieder ein Terminal erlangen kann\\&. (Dies ist relevant, falls das " "Programm und alle seine Abhängigkeiten nicht sorgfältig genug sind, um bei " "jedem »open()«-Aufruf, der möglicherweise einen TTY-Geräteknoten erlangen " "könnte, stets »O_NOCTTY« festzulegen\\&.)" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "For developing a new-style daemon, none of the initialization steps " "recommended for SysV daemons need to be implemented\\&. New-style init " "systems such as systemd make all of them redundant\\&. Moreover, since some " "of these steps interfere with process monitoring, file descriptor passing " "and other functionality of the init system, it is recommended not to execute " "them when run as new-style service\\&." msgstr "" "Zur Entwicklung eines neuartigen Daemons muss keiner der für SysV-Daemons " "empfohlenen Initialisierungsschritte implementiert werden\\&. Bei neuartigen " "Init-Systemen wie Systemd sind diese alle redundant\\&. Da einige dieser " "Schritte sogar die Prozessüberwachung, Dateideskriptorweitergabe und andere " "Funktionalitäten des Init-Systems stören, wird empfohlen, sie nicht " "auszuführen, wenn sie als neuartiger Dienst ausgeführt laufen\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "If B is received, shut down the daemon and exit cleanly\\&." msgstr "" "Falls B empfangen wird, soll der Daemon sich herunterfahren und " "sauber beenden\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "If B is received, reload the configuration files, if this applies\\&." msgstr "" "Falls B empfangen wird, sollen die Konfigurationsdateien, falls " "zutreffend, neu geladen werden\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "Provide a correct exit code from the main daemon process, as this is used by " "the init system to detect service errors and problems\\&. It is recommended " "to follow the exit code scheme as defined in the \\m[blue]B\\m[]\\&\\s-2\\u[1]\\d\\s+2\\&." msgstr "" "Es soll ein korrekter Exit-Code vom Haupt-Daemon-Prozess bereitgestellt " "werden, da dieser vom Init-System benutzt wird, um Dienstefehler und " "Probleme zu erkennen\\&. Es wird empfohlen, dem in \\m[blue]B\\m[]\\&\\s-2\\u[1]\\d\\s+2 definierten " "Exit-Code-System zu folgen\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "As much as possible, rely on the init system\\*(Aqs functionality to limit " "the access of the daemon to files, services and other resources, i\\&.e\\&. " "in the case of systemd, rely on systemd\\*(Aqs resource limit control " "instead of implementing your own, rely on systemd\\*(Aqs privilege dropping " "code instead of implementing it in the daemon, and similar\\&. See B(5) for the available controls\\&." msgstr "" "Verlassen Sie sich soweit möglich auf die Funktionalitäten des Init-Systems, " "den Zugriff des Daemons auf Dateien, Dienste und andere Ressourcen zu " "begrenzen, d\\&.h\\&. im Falle von Systemd, verlassen Sie sich auf Systemds " "Ressourenbegrenzungssteuerung statt Ihre eigene zu implementieren, verlassen " "Sie sich auf den Privilegienabgabe-Code von Systemd, statt ihn in Ihrem " "Daemon zu implementieren und ähnliches\\&. Siehe B(5) für die " "verfügbaren Steuerungen\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "If applicable, a daemon should notify the init system about startup " "completion or status updates via the B(3) interface\\&." msgstr "" "Falls zutreffend sollte ein Daemon über den Abschluss des Startens oder " "Statusaktualisierungen das Init-System mittels der Schnittstelle " "B(3) informieren\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "Instead of using the B call to log directly to the system syslog " "service, a new-style daemon may choose to simply log to standard error via " "B, which is then forwarded to syslog by the init system\\&. If " "log levels are necessary, these can be encoded by prefixing individual log " "lines with strings like \"E4E\" (for log level 4 \"WARNING\" in the " "syslog priority scheme), following a similar style as the Linux " "kernel\\*(Aqs B level system\\&. For details, see B(3) " "and B(5)\\&." msgstr "" "Statt den Aufruf B zum direkten Protokollieren in den " "Systemprotokolldienst zu verwenden, kann ein neuartiger Daemon einfach auf " "die Standardfehlerausgabe mittels B protokollieren, was dann " "durch das Init-System an Syslog weitergeleitet wird\\&. Falls " "Protokollierungsstufen notwendig sind, können diese durch Voranstellen von " "Zeichenketten wie »E4E« (für Protokollierungsstufe 4 »WARNING« im " "Syslog-Prioritätsschema) vor individuellen Protokollierzeilen kodiert " "werden. Dies folgt einem ähnlichen Stil wie das B-Stufensystem des " "Linux-Kernels\\&. Für Details siehe B(3) und B(5)\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "As new-style daemons are invoked without a controlling TTY (but as their own " "session leaders) care should be taken to always specify `O_NOCTTY` on " "`open()` calls that possibly reference a TTY device node, so that no " "controlling TTY is accidentally acquired\\&." msgstr "" "Da neuartige Daemons ohne ein steuerndes TTY (aber sie selbst als ihren " "eigenen Sitzungsleiter) aufgerufen werden, sollte sichergestellt werden, " "dass bei »open()«-Aufrufen, die möglicherweise einen TTY-Geräteknoten " "referenzieren, stets »O_NOCTTY« festgelegt wird, so dass nicht versehentlich " "ein steuerndes TTY erlangt wird\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "Old-style daemons are usually activated exclusively on boot (and manually by " "the administrator) via SysV init scripts, as detailed in the \\m[blue]B\\m[]\\&\\s-2\\u[1]\\d\\s+2\\&. This " "method of activation is supported ubiquitously on Linux init systems, both " "old-style and new-style systems\\&. Among other issues, SysV init scripts " "have the disadvantage of involving shell scripts in the boot process\\&. New-" "style init systems generally employ updated versions of activation, both " "during boot-up and during runtime and using more minimal service description " "files\\&." msgstr "" "Daemons der alten Art werden typischerweise exklusiv beim Systemstart (oder " "manuell durch den Systemadministrator) mittels SysV-Init-Skripten aktiviert, " "wie dies in der \\m[blue]B\\m[]\\&\\s-2\\u[1]\\d\\s+2 dargestellt ist\\&. Diese Methode " "wird universell auf Linux-Init-Systemen unterstützt, sowohl bei denen der " "alten Art als auch bei neuartigen\\&. Unter anderen Problemen haben die SysV-" "Init-Skripte den Nachteil, Shell-Skripte im Systemstartprozess zu " "involvieren\\&. Neuartige Init-Systeme setzen im Allgemeinen aktualisierte " "Versionen der Aktivierung ein, sowohl während des Systemstarts als auch " "während der Laufzeit und verwenden minimalere Dienstebeschreibungsdateien\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "In order to maximize the possible parallelization and robustness and " "simplify configuration and development, it is recommended for all new-style " "daemons that communicate via listening sockets to employ socket-based " "activation\\&. In a socket-based activation scheme, the creation and binding " "of the listening socket as primary communication channel of daemons to local " "(and sometimes remote) clients is moved out of the daemon code and into the " "init system\\&. Based on per-daemon configuration, the init system installs " "the sockets and then hands them off to the spawned process as soon as the " "respective daemon is to be started\\&. Optionally, activation of the service " "can be delayed until the first inbound traffic arrives at the socket to " "implement on-demand activation of daemons\\&. However, the primary advantage " "of this scheme is that all providers and all consumers of the sockets can be " "started in parallel as soon as all sockets are established\\&. In addition " "to that, daemons can be restarted with losing only a minimal number of " "client transactions, or even any client request at all (the latter is " "particularly true for state-less protocols, such as DNS or syslog), because " "the socket stays bound and accessible during the restart, and all requests " "are queued while the daemon cannot process them\\&." msgstr "" "Um die Parallelisierung und Robustheit zu maximieren und die Konfiguration " "und Entwicklung zu vereinfachen, wird für alle neuartigen Daemons empfohlen, " "die über Warten an Sockets kommunizieren, eine Socket-basierte Aktivierung " "einzusetzen\\&. In einem Socket-basierten Aktivierungsschema wird die " "Erstellung und das Binden des Sockets, an dem gewartet werden soll, als " "primären Kommunikationskanal von Daemons mit lokalen (und manchmal fernen) " "Clients aus dem Daemon-Code in das Init-System verschoben\\&. Basierend auf " "einer Daemon-basierten Konfiguration installiert das Init-System die Sockets " "und gibt sie an die erstellten Prozesse, sobald der respektive Daemon " "gestartet wird\\&. Optional kann die Aktivierung des Dienstes verzögert " "werden, bis der erste eingehende Verkehr auf dem Socket eintrifft, um eine " "bedarfsgesteuerte Aktivierung von Daemons zu realisieren\\&. Allerdings ist " "der Hauptvorteil dieses Schemas, dass alle Anbieter und Konsumenten des " "Sockets parallel gestartet werden können, sobald alle Sockets etabliert " "sind\\&. Zusätzlich können Daemons neugestartet werden und dabei nur eine " "minimale Anzahl an Client-Transaktionen verlieren oder sogar überhaupt keine " "Client-Anfrage (Letzteres stimmt insbesondere für zustandslose Protokolle " "wie DNS oder Syslog), da das Socket während des Neustarts angebunden und " "zugreifbar verbleibt und alle Anfragen in einer Warteschlange verbleiben, " "während der Daemon sie nicht verarbeiten kann\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "New-style daemons which support socket activation must be able to receive " "their sockets from the init system instead of creating and binding them " "themselves\\&. For details about the programming interfaces for this scheme " "provided by systemd, see B(3) and B(3)\\&. For " "details about porting existing daemons to socket-based activation, see " "below\\&. With minimal effort, it is possible to implement socket-based " "activation in addition to traditional internal socket creation in the same " "codebase in order to support both new-style and old-style init systems from " "the same daemon binary\\&." msgstr "" "Neuartige Daemons, die Socket-Aktivierung unterstützen, müssen in der Lage " "sein, Sockets vom Init-System zu erhalten, statt sie selbst zu erstellen und " "sich daran zu binden\\&. Für Details über die Programmierschnittstellen für " "dieses von Systemd bereitgestellte Schema, siehe B(3) und " "B(3)\\&. Für Details über die Portierung bestehender Daemons zu " "Socket-basierter Aktivierung, siehe unten\\&. Mit minimalem Einsatz ist es " "möglich, Socket-basierte Aktivierung zusätzlich zu traditioneller interner " "Socket-Erstellung in der gleichen Codebasis zu erstellen, um sowohl " "neuartige als auch Init-Systeme der alten Art im gleichen Daemon-Programm zu " "unterstützen\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "When the D-Bus IPC system is used for communication with clients, new-style " "daemons should employ bus activation so that they are automatically " "activated when a client application accesses their IPC interfaces\\&. This " "is configured in D-Bus service files (not to be confused with systemd " "service unit files!)\\&. To ensure that D-Bus uses systemd to start-up and " "maintain the daemon, use the I directive in these service " "files to configure the matching systemd service for a D-Bus service\\&. e\\&." "g\\&.: For a D-Bus service whose D-Bus activation file is named org\\&." "freedesktop\\&.RealtimeKit\\&.service, make sure to set " "I in that file to bind it to the " "systemd service rtkit-daemon\\&.service\\&. This is needed to make sure that " "the daemon is started in a race-free fashion when activated via multiple " "mechanisms simultaneously\\&." msgstr "" "Wenn das D-Bus-IPC-System für die Kommunikation mit Clients verwandt wird, " "sollten neuartige Daemons Bus-Aktivierung einsetzen, so dass sie automatisch " "aktiviert werden, wenn eine Client-Anwendung auf ihre IPC-Schnittstelle " "zugreift\\&. Dies wird in D-Bus-Dienste-Dateien (die nicht mit Systemds " "Dienste-Unit-Dateien durcheinandergebracht werden dürfen) konfiguriert\\&. " "Um sicherzustellen, dass D-Bus Systemd verwendet, um den Daemon zu starten " "und zu verwalten, verwenden Sie die Anweisung I in diesen " "Dienste-Dateien, um den passenden Systemd-Dienst für einen D-Bus-Dienst zu " "konfigurieren. Stellen Sie beispielsweise für einen D-Bus-Dienst, dessen D-" "Bus-Aktivierungsdatei org\\&.freedesktop\\&.RealtimeKit\\&.service heißt, " "sicher, dass I in dieser Datei " "gesetzt ist, um ihn an den Systemd-Dienst rtkit-daemon\\&.service zu binden. " "Dies wird benötigt, um sicherzustellen, dass der Daemon ohne " "Ressourcenwettläufe gestartet wird, wenn er über mehrere Mechanismen " "simultan aktiviert wird\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "Other forms of activation have been suggested and implemented in some " "systems\\&. However, there are often simpler or better alternatives, or they " "can be put together of combinations of the schemes above\\&. Example: " "Sometimes, it appears useful to start daemons or \\&.socket units when a " "specific IP address is configured on a network interface, because network " "sockets shall be bound to the address\\&. However, an alternative to " "implement this is by utilizing the Linux B/B " "socket option, as accessible via I in systemd socket files " "(see B(5) for details)\\&. This option, when enabled, " "allows sockets to be bound to a non-local, not configured IP address, and " "hence allows bindings to a particular IP address before it actually becomes " "available, making such an explicit dependency to the configured address " "redundant\\&. Another often suggested trigger for service activation is low " "system load\\&. However, here too, a more convincing approach might be to " "make proper use of features of the operating system, in particular, the CPU " "or I/O scheduler of Linux\\&. Instead of scheduling jobs from userspace " "based on monitoring the OS scheduler, it is advisable to leave the " "scheduling of processes to the OS scheduler itself\\&. systemd provides fine-" "grained access to the CPU and I/O schedulers\\&. If a process executed by " "the init system shall not negatively impact the amount of CPU or I/O " "bandwidth available to other processes, it should be configured with " "I and/or I\\&. Optionally, " "this may be combined with timer-based activation to schedule background jobs " "during runtime and with minimal impact on the system, and remove it from the " "boot phase itself\\&." msgstr "" "Es wurden andere Formen der Aktivierung vorgeschlagen und in einigen " "Systemen implementiert\\&. Allerdings gibt es oft einfachere und bessere " "Alternativen oder sie können als Kombination der obigen Schemata " "zusammengestellt werden\\&. Beispiel: Manchmal erscheint es nützlich, " "Daemons oder \\&.socket-Units zu starten, wenn eine bestimmte IP-Adresse an " "einer Netzwerkschnittstelle konfiguriert ist, da Netzwerk-Sockets an diese " "Adresse gebunden werden sollen\\&. Eine Alternative zur Implementierung " "hiervon ist die Verwendung der Socket-Option B/B " "von Linux, die mittels I in Systemd-Socket-Dateien erreichbar " "ist (siehe B(5) für Details)\\&. Diese Option erlaubt " "Sockets, wenn sie aktiviert ist, an nichtlokale, nichtkonfigurierte IP-" "Adressen gebunden zu werden und erlaubt damit Anbindungen an bestimmte IP-" "Adressen, bevor diese tatsächlich verfügbar werden; dies macht eine solche " "explizite Abhängigkeit auf die konfigurierte Adresse redundant\\&. Ein " "anderer oft vorgeschlagener Auslöser für Dienste-Aktivierung ist niedrige " "Systemlast\\&. Auch hier könnte allerdings ein überzeugender Ansatz sein, " "die Funktionalitäten des Betriebssystems korrekt zu benutzen, insbesondere " "des CPU- oder E/A-Schedulers von Linux\\&. Anstatt Aufträge vom " "Anwenderbereich, basierend auf der Überwachung des Betriebssystem-" "Schedulers, einzuplanen, ist es empfehlenswert, die Einplanung von Prozessen " "dem Betriebssystem-Scheduler selbst zu überlassen\\&. Systemd stellt einen " "feingranularen Zugriff auf die CPU- und E/A-Scheduler bereit\\&. Falls ein " "vom Init-System ausgeführter Prozess den Umfang der für andere Prozesse " "verfügbaren CPU- oder E/A-Bandbreite nicht negativ beeinflussen soll, sollte " "er mit I und/oder I " "konfiguriert werden\\&. Optional kann dies mit Timer-basierter Aktivierung " "kombiniert werden, um Hintergrund-Aufträge während der Laufzeit und mit " "minimalen Auswirkungen auf das System einzuplanen und ihn aus der " "Systemstartphase selbst zu entfernen\\&." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "If the daemon offers interfaces to other software running on the local " "system via local B sockets, consider implementing socket-based " "activation (see above)\\&. Usually, a minimal patch is sufficient to " "implement this: Extend the socket creation in the daemon code so that " "B(3) is checked for already passed sockets first\\&. If " "sockets are passed (i\\&.e\\&. when B returns a positive " "value), skip the socket creation step and use the passed sockets\\&. " "Secondly, ensure that the file system socket nodes for local B " "sockets used in the socket-based activation are not removed when the daemon " "shuts down, if sockets have been passed\\&. Third, if the daemon normally " "closes all remaining open file descriptors as part of its initialization, " "the sockets passed from the init system must be spared\\&. Since new-style " "init systems guarantee that no left-over file descriptors are passed to " "executed processes, it might be a good choice to simply skip the closing of " "all remaining open file descriptors if sockets are passed\\&." msgstr "" "Falls der Daemon zu anderer, auf dem lokalen System laufenden Software " "Schnittstellen mittels lokaler B-Sockets anbietet, sollte eine " "Socket-basierte Aktivierung (siehe oben) überlegt werden\\&. Normalerweise " "reicht ein minimaler Patch, um dies zu implementieren: Erweitern Sie die " "Socket-Erstellung im Daemon-Code, so dass zuerst B(3) auf " "bereits übergebene Sockets geprüft wird\\&. Falls Sockets übergeben wurden " "(d\\&.h\\&. wenn B einen positiven Wert liefert), " "überspringen Sie den Socket-Erstellungsschritt und verwenden Sie die " "übergebenen Sockets\\&. Zweitens sollten die System-Socket-Knoten für " "lokale, in der Socket-basierten Aktivierung verwandten B-Sockets " "nicht entfernt werden, wenn der Daemon heruntergefahren wird, falls Sockets " "übergeben wurden\\&. Falls der Daemon normalerweise alle verbliebenen " "offenen Dateideskriptoren als Teil seiner Initialisierung schließt, müssen " "drittens die vom Init-System übergebenen Sockets verschont werden\\&. Da " "neuartige Init-Systeme garantieren, dass keine verbliebenen " "Dateideskriptoren an ausgeführte Prozesse übergeben werden, könnte es eine " "gute Idee sein, einfach das Schließen aller verbliebenen offenen " "Dateideskriptoren zu überspringen, falls Sockets übergeben wurden\\&." #. type: TH #: debian-unstable fedora-rawhide #, no-wrap msgid "systemd 256~rc3" msgstr "systemd 256~rc3" # FIXME Only one fullstop at the end of the sentence needed. #. type: Plain text #: fedora-40 msgid "" "If the service opens sockets or other files on it own, and those file " "descriptors shall survive a restart, the daemon should store them in the " "service manager via B(3) with I\\&.\\&." msgstr "" "Falls der Dienst Sockets oder andere Dateien selbst öffnet und diese " "Dateideskriptoren einen Neustart überleben sollen, sollte der Daemon sie im " "Diensteverwalter mittels B(3) mit I speichern\\&."