Hallo Helge, #. type: Plain text 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<systemd." "exec>(5) for the available controls\\&." msgstr "" "Verlassen Sie sich auf die Funktionalitäten des Init-Systems soweit möglich, " "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<systemd.exec>(5) für die " "verfügbaren Steuerungen\\&."
auf die Funktionalitäten des Init-Systems soweit möglich → soweit möglich auf die Funktionalitäten des Init-Systems #. type: Plain text msgid "" "Instead of using the B<syslog()> call to log directly to the system syslog " "service, a new-style daemon may choose to simply log to standard error via " "B<fprintf()>, 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 \"E<lt>4E<gt>\" (for log level 4 \"WARNING\" in the " "syslog priority scheme), following a similar style as the Linux kernel" "\\*(Aqs B<printk()> level system\\&. For details, see B<sd-daemon>(3) and " "B<systemd.exec>(5)\\&." msgstr "" "Statt den Aufruf B<syslog()> zum direkten Protokollieren in den " "Systemprotokolldienst zu verwenden, kann ein neuartiger Daemon einfach auf " "die Standardfehlerausgabe mittels B<fprintf()> protokollieren, was dann durch das " "Init-System an Syslog weitergeleitet wird\\&. Falls Protokollierungsstufen " "notwendig sind, können diese durch Voranstellen von Zeichenketten wie " "»E<lt>4E<gt>« (für Protokollierungsstufe 4 »WARNING« im Syslog-" "Prioritätsschema) vor individuellen Protokollierzeilen kodiert werden. Dies " "folgt einem ähnlichen Stil wie das B<printk()>-Stufensystem des Linux Kernels" "\\&. Für Details siehe B<sd-daemon>(3) und B<systemd.exec>(5)\\&." Linux Kernels → Linux-Kernels #. type: Plain text 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\\&." bedingungslos zu starten ist es → bedingungslos zu starten, ist es #. type: Plain text 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 Daeamons " "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 Demon-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 Schematas, 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\\&." Daeamons → Daemons Demon-Code → Daemon-Code dieses Schematas → dieses Schemas #. type: Plain text 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<systemd." "timer>(5)\\&." msgstr "" "Einige Daemons, die Aufräumeaufgaben 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<systemd." "timer>(5) beschrieben\\&." Aufräumeaufgaben → Aufräumaufgaben #. type: Plain text 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<IP_FREEBIND> socket option, as accessible via " "I<FreeBind=yes> in systemd socket files (see B<systemd.socket>(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<CPUSchedulingPolicy=idle> and/or " "I<IOSchedulingClass=idle>\\&. 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, " "Dameons 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<IP_FREEBIND> von Linux, die " "mittels I<FreeBind=yes> in Systemd-Socket-Dateien erreichbar ist (siehe " "B<systemd.socket>(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<CPUSchedulingPolicy=idle> und/oder I<IOSchedulingClass=idle> 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\\&." Dameons → Daemons #. type: Plain text msgid "" "Make sure to set a good human-readable description string with " "I<Description=>\\&." msgstr "Setzen Sie eine gut-lesbare Beschreibung in I<Description=>\\&." Mit dem Bindestrich sieht das komisch aus. Würde ich weglassen. Gruß Mario