Hallo Helge,
#. type: Plain text
msgid ""
"This man page describes how to implement \"offline\" system updates with "
"systemd\\&. By \"offline\" OS updates we mean package installations and "
"updates that are run with the system booted into a special system update "
"mode, in order to avoid problems related to conflicts of libraries and "
"services that are currently running with those on disk\\&. This document
is "
"inspired by this \\m[blue]B<GNOME design
whiteboard>\\m[]\\&\\s-2\\u[1]\\d\\s"
"+2\\&."
msgstr ""
"Diese Handbuchseite beschreibt, wie die »offline« Systemaktualisierungen
mit "
"Systemd realisiert werden\\&. Unter dem Begriff »offline« "
"Betriebssystemaktualisierungen verstehen wir Paketinstallationen und -"
"aktualisierungen, die ausgefÃŒhrt werden, ohne dass das System in einen "
"besonderen Systemaktualisierungsmodus gestartet wurde, um Probleme in
Bezug "
"auf Konflikte bei Bibliotheken und Diensten, die derzeit laufen mit denen "
"auf der Platte zu vermeiden\\&. Dieses Dokument wurde vom \\m[blue]B<GNOME
"
"Design-Whiteboard>\\m[]\\&\\s-2\\u[1]\\d\\s+2 inspiriert\\&."
Komma hinter »laufen« (erweiterter Infinitiv mit »zu«)
#. type: Plain text
msgid ""
"The package manager prepares system updates by downloading all (RPM or DEB
"
"or whatever) packages to update off-line in a special directory /var/lib/"
"system-update (or another directory of the package/upgrade manager\\*(Aqs "
"choice)\\&."
msgstr ""
"Der Paketverwalter bereitet Systemaktualisierungen vor, indem er alle "
"offline zu aktualisierenden (RPM- oder DEB- oder was auch immer) Pakete in
"
"ein spezielles Verezichnis /var/lib/system-update (oder ein anderes "
"Verzeichnes nach Wahl des Paket-/Upgrade-Verwalters) herunterlÀdt\\&."
Verezichnis â Verzeichnis
#. type: Plain text
msgid ""
"Very early in the new boot B<systemd-system-update-generator>(8) checks "
"whether /system-update exists\\&. If so, it (temporarily and for this boot
"
"only) redirects (i\\&.e\\&. symlinks) default\\&.target to
system-update\\&."
"target, a special target that pulls in the base system (i\\&.e\\&.
sysinit"
"\\&.target, so that all file systems are mounted but little else) and the "
"system update units\\&."
msgstr ""
"Sehr frÃŒh im Systemstartprozess prÃŒft
B<systemd-system-update-generator>(8) "
"ob /system-update existiert\\&. Falls das der Fall ist, wird (temporÀr und
"
"nur fÃŒr diesen Systemstart) default\\&.target auf system-update\\&.target "
"umgelenkt (d\\&.h\\&. ein Symlink angelegt). Letzteres ist ein besonderes "
"Ziel, dass das Basissystem (d\\&.h\\&. sysinit\\&.target, so dass alle "
"Dateisysteme eingehÀngt sind, aber nicht viel mehr) und die "
"Systemaktualisierungs-Units hereinzieht\\&."
dass das Basissystem â das das Basissystem
#. type: Plain text
msgid ""
"The system now continues to boot into default\\&.target, and thus into "
"system-update\\&.target\\&. This target pulls in all system update
units\\&. "
"Only one service should perform an update (see the next point), and all
the "
"other ones should exit cleanly with a \"success\" return code and without "
"doing anything\\&. Update services should be ordered after
sysinit\\&.target "
"so that the update starts after all file systems have been mounted\\&."
msgstr ""
"Das System fÀhrt jetzt fort, in default\\&.target und damit in
system-update"
"\\&.target zu starten\\&. Dieses Ziel zieht alle
Systemaktualisierungs-Units "
"herein\\&. Nur ein Dienst sollte Aktualisierungen durchfÃŒhren (siehe den "
"nÀchsten Punkt) und alle anderen sollten sich sauber mit einem
RÃŒckkehr-Code "
"»success« und ohne etwas weiteres durchzufÌhren beenden\\&. "
"Aktualisierungsdienste sollten nach sysinit\\&.target angeordnet sein, so "
"dass die Aktualisierung beginnt, nachdem alle Dateisysteme eingehÀngt
wurden"
"\\&."
RÌckkehr-Code habe ich so noch nicht gelesen. Eher »RÌckgabewert« oder
»RÌckgabecode«.
#. type: Plain text
msgid ""
"As the first step, an update service should check if the /system-update "
"symlink points to the location used by that update service\\&. In case it "
"does not exist or points to a different location, the service must exit "
"without error\\&. It is possible for multiple update services to be "
"installed, and for multiple update services to be launched in parallel,
and "
"only the one that corresponds to the tool that I<created> the symlink
before "
"reboot should perform any actions\\&. It is unsafe to run multiple updates
"
"in parallel\\&."
msgstr ""
"Im ersten Schritt sollte ein Aktualisierungsdienst prÃŒfen, ob der Symlink
/"
"system-update auf dem vom Aktualisierungsdienst verwandten Ort zeigt\\&. "
"Falls er nicht existiert oder an einen anderen Ort zeigt muss sich der "
"Dienst fehlerfrei beenden\\&. Es ist möglich, dass mehrere "
"Aktualisierungsdienste installiert sind und mehrere Aktualisierungsdienste
"
"parallel gestartet sind und nur derjenige, der dem Werkzeug entspricht,
das "
"den Symlink vor dem Neustart I<erstellte>, sollte irgendwelche Aktionen "
"durchfÃŒhren\\&. Es ist nicht sicher, mehrere Aktualisierungen parallel "
"durchzufÃŒhren\\&."
Komma hinter »an einen anderen Ort zeigt«
#. type: Plain text
msgid ""
"The update service should now do its job\\&. If applicable and possible,
it "
"should create a file system snapshot, then install all packages\\&. After "
"completion (regardless whether the update succeeded or failed) the machine
"
"must be rebooted, for example by calling B<systemctl reboot>\\&. In "
"addition, on failure the script should revert to the old file system "
"snapshot (without the symlink)\\&."
msgstr ""
"Der Aktualisierungsdienst sollte jetzt seine Aufgabe erledigen\\&. Falls "
"zutreffend und möglich sollte er einen Dateisystemschnappschuss erstellen,
"
"dann alle Pakete installieren\\&. Nach dem Abschluss (unabhÀngig davon, ob
"
"die Aktualisierung gelungen oder fehlgeschlagen ist) muss die Maschine neu
"
"gestartet werden, beispielsweise durch Aufruf von B<systemctl reboot>\\&.
Im "
"Fehlerfall sollte das Skript zusÀtzlich auf den alten "
"Dateisystemschnappschuss (ohne den Symlink) zurÃŒckkehren\\&."
Komma hinter »zutreffend und möglich«
#. type: Plain text
msgid ""
"The upgrade scripts should exit only after the update is finished\\&. It
is "
"expected that the service which performs the upgrade will cause the
machine "
"to reboot after it is done\\&. If the system-update\\&.target is "
"successfully reached, i\\&.e\\&. all update services have run, and the /"
"system-update symlink still exists, it will be removed and the machine "
"rebooted as a safety measure\\&."
msgstr ""
"Das Upgrade-Skript sollte sich nur beenden, wenn die Aktualisierung "
"abgeschlossen ist\\&. Es wird erwartet, dass der Dienst, der das Upgrade "
"durchfÌhrt, einen Systemneustart auslöst, nachdem er fertig ist\\&. Falls "
"das system-update\\&.target erfolgreich erreicht wurde, d\\&.h\\&. alle "
"Aktualisierungsdienste ausgefÃŒhrt wurden und der Symlink /system-update "
"immer noch existiert, wird dieser entfernt und als SicherheitsmaÃnahme die
"
"Maschine neu gestartet\\&."
Warum »Upgrade-Skript«? Der Verfasser des Originaltexts unterscheidet
offensichtlich nicht zwischen Update und Upgrade, also besser
»Aktualisierungsskript«.
#. type: Plain text
msgid ""
"To make things a bit more robust we recommend hooking the update script
into "
"system-update\\&.target via a \\&.wants/ symlink in the distribution "
"package, rather than depending on B<systemctl enable> in the postinst "
"scriptlets of your package\\&. More specifically, for your update script "
"create a \\&.service file, without [Install] section, and then add a
symlink "
"like /lib/systemd/system-update\\&.target\\&.wants/foobar\\&.service ââ â
\\&."
"\\&./foobar\\&.service to your package\\&."
msgstr ""
"Um fÃŒr mehr Robustheit zu sorgen, empfehlen wir, das Aktualisierungsskript
"
"mittels eines Symlinks \\&.wants/ in dem Distributionspaket in
system-update"
"\\&.target einzuhÀngen, statt in Postinst-SkriptstÌcken im Paket von "
"B<systemctl enable> abzuhÀngen\\&. FÌr Ihre Aktualisierungsskripte sollten
"
"Sie konkreter eine Datei \\&.service ohne Abschnitt »[Install]« erstellen "
"und dann einen Symlink der Art
/lib/systemd/system-update\\&.target\\&.wants/"
"foobar\\&.service â \\&.\\&./foobar\\&.service zu Ihrem Paket
hinzufÃŒgen\\&."
Postinst-SkriptstÃŒck: SkriptstÃŒck klingt merkwÃŒrdig, ich wÃŒrde beim
Scriptlet bleiben. Aber dafÌr wÌrde ich Postinst als »Nachinstallation«
ÃŒbersetzen.
Gruà Mario