summaryrefslogtreecommitdiffstats
path: root/man/de/dpkg-maintscript-helper.man
diff options
context:
space:
mode:
Diffstat (limited to 'man/de/dpkg-maintscript-helper.man')
-rw-r--r--man/de/dpkg-maintscript-helper.man291
1 files changed, 291 insertions, 0 deletions
diff --git a/man/de/dpkg-maintscript-helper.man b/man/de/dpkg-maintscript-helper.man
new file mode 100644
index 0000000..0e8a804
--- /dev/null
+++ b/man/de/dpkg-maintscript-helper.man
@@ -0,0 +1,291 @@
+.\" dpkg manual page - dpkg-maintscript-helper(1)
+.\"
+.\" Copyright © 2010-2012 Raphaël Hertzog <hertzog@debian.org>
+.\" Copyright © 2011-2015 Guillem Jover <guillem@debian.org>
+.\"
+.\" This is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program. If not, see <https://www.gnu.org/licenses/>.
+.
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH dpkg\-maintscript\-helper 1 %RELEASE_DATE% %VERSION% dpkg\-Programmsammlung
+.nh
+.SH BEZEICHNUNG
+dpkg\-maintscript\-helper \- Bekannte Einschränkungen in Dpkg in
+Betreuerskripten umgehen
+.
+.SH ÜBERSICHT
+\fBdpkg\-maintscript\-helper\fP \fIBefehl\fP [\fIParameter\fP …] \fB\-\-\fP
+\fIBetr\-Skript\-Parameter\fP …
+.
+.SH "BEFEHLE UND PARAMETER"
+.P
+\fBsupports\fP \fIBefehl\fP
+.P
+\fBrm_conffile\fP \fIConffile\fP [\fIvorhergehende_Version\fP [\fIPaket\fP]]
+.P
+\fBmv_conffile\fP \fIalte_Conffile\fP \fIneue_Conffile\fP [\fIvorhergehende_Version\fP
+[\fIPaket\fP]]
+.P
+\fBsymlink_to_dir\fP \fIPfadname\fP \fIaltes_Ziel\fP [\fIvorhergehende_Version\fP
+[\fIPaket\fP]]
+.P
+\fBdir_to_symlink\fP \fIPfadname\fP \fIneues_Ziel\fP [\fIvorhergehende_Version\fP
+[\fIPaket\fP]]
+.
+.SH BESCHREIBUNG
+.P
+Dieses Programm wurde so entworfen, dass es in Betreuerskripten ausgeführt
+werden kann, um einige Aufgaben zu erledigen, die \fBdpkg\fP (noch) nicht
+selbst erledigen kann, entweder aufgrund von Design\-Entscheidungen oder
+aufgrund aktueller Einschränkungen.
+.P
+Viele dieser Aufgaben benötigen koordinierte Aktionen aus mehreren
+Betreuerskripten (\fBpreinst\fP, \fBpostinst\fP, \fBprerm\fP, \fBpostrm\fP). Um Fehler
+zu vermeiden, wird der gleiche Aufruf einfach in alle Skripte eingefügt und
+das Programm wird sein Verhalten automatisch abhängig von der Variable
+\fBDPKG_MAINTSCRIPT_NAME\fP und den Argumenten im Betreuerskript, die Sie nach
+einem doppelten Bindestrich übergeben müssen, anpassen.
+.
+.SH "GEMEINSAME PARAMETER"
+.TP
+\fIvorhergehende_Version\fP
+Definiert die letzte Version des Pakets, dessen Upgrade die Aktion auslösen
+soll. Es ist wichtig, \fIvorhergehende_Version\fP korrekt zu berechnen, so dass
+die Aktionen korrekt ausgeführt werden, selbst falls der Benutzer das Paket
+mit einer lokalen Version neu gebaut hat. Falls \fIvorhergehende_Version\fP
+leer ist oder weggelassen wurde, wird die Aktion bei jedem Upgrade versucht
+(Hinweis: Es ist sicherer, die Version anzugeben und damit die Aktion nur
+einmal versuchen zu lassen).
+
+Falls die Conffile in mehreren Versionen nicht ausgeliefert wurde und Sie
+jetzt die Betreuerskripte anpassen, um die überflüssige Datei zu entfernen,
+sollte \fIvorhergehende_Version\fP auf die Version des Pakets gesetzt werden,
+die Sie jetzt zusammenstellen, nicht auf die erste Version des Pakets, bei
+dem die Conffile fehlte. Dies trifft genauso auch auf alle anderen Aktionen
+zu.
+
+Wird beispielsweise eine Conffile in Version \fB2.0\-1\fP eines Pakets entfernt,
+sollte \fIvorhergehende_Version\fP auf \fB2.0\-1~\fP gesetzt werden. Dies führt
+dazu, dass die Conffile entfernt wird, selbst falls der Benutzer die
+vorhergehende Version \fB1.0\-1\fP als \fB1.0\-1local1\fP neu gebaut hat. Oder ein
+Paket, das einen Pfad von einem Symlink (das in Version \fB1.0\-1\fP
+ausgeliefert wurde) zu einem Verzeichnis (ausgeliefert in Version \fB2.0\-1\fP)
+wechselt, aber die eigentliche Umstellung in den Betreuerskripten in Version
+\fB3.0\-1\fP durchführt, sollte \fIvorhergehende_Version\fP auf \fB3.0\-1~\fP setzen.
+.TP
+\fIPaket\fP
+Der Paketname, dem der Pfadname gehört bzw. die Pfadnamen gehören. Wenn das
+Paket „Multi\-Arch: same“ ist, muss dieser Parameter die
+Architekturspezifikation enthalten, andernfalls sollte er normalerweise die
+Architekturspezifikation \fBnicht\fP enthalten (da dies Cross\-Grades verhindern
+oder die Umstellung von architekturspezifisch auf die Architektur \fBall\fP
+oder umgekehrt verhindern würde). Falls dieser Parameter leer oder nicht
+angegeben ist, werden die (von \fBdpkg\fP bei der Ausführung der
+Betreuerskripte gesetzten) Umgebungsvariablen \fBDPKG_MAINTSCRIPT_PACKAGE\fP
+und \fBDPKG_MAINTSCRIPT_ARCH\fP verwandt, um den Architektur\-spezifizierten
+Paketnamen zu erstellen.
+.TP
+\fB\-\-\fP
+Alle Parameter der Betreuerskripte müssen nach \fB\-\-\fP an das Programm
+weitergeleitet werden.
+.SH "CONFFILE\-BEZOGENE AUFGABEN"
+.P
+Beim Upgrade eines Pakets wird \fBdpkg\fP eine Conffile (eine
+Konfigurationsdatei, bei der \fBdpkg\fP die Änderungen des Benutzers erhalten
+soll) nicht automatisch entfernen, falls sie nicht in der neueren Version
+enthalten ist. Es gibt zwei Hauptgründe dafür; der erste ist, dass die
+Conffile versehentlich entfallen sein und die nächste Version sie wieder
+herstellen könnte und die Benutzer die Änderung nicht weggeworfen sehen
+wollen. Der zweite besteht darin, dass Paketen erlaubt werden soll, von
+einer Dpkg\-betreuten Conffile auf eine Datei, die von den Betreuerskripten
+des Pakets, normalerweise mit einem Werkzeug wie Debconf oder Ucf, verwaltet
+wird, umzustellen.
+.P
+Das bedeutet, falls ein Paket eine Conffile umbenennen oder entfernen soll,
+muss es dies explizit durchführen und \fBdpkg\-maintscript\-helper\fP kann dazu
+verwandt werden, eine sanfte Löschung und Verschiebung von Conffiles
+innerhalb von Betreuerskripten durchzuführen.
+.
+.SS "Eine Conffile entfernen"
+.P
+Falls eine Conffile komplett entfernt wird, sollte sie von der Platte
+entfernt werden, falls der Benutzer sie nicht verändert hat. Falls es lokale
+Anpassungen gibt, sollten diese erhalten werden. Falls das Upgrade des
+Pakets abgebrochen wird, sollte die neuerdings veraltete Conffile nicht
+verschwinden.
+.P
+All dies wird durch Einsetzen der folgenden Shell\-Schnipsel in die
+Betreuerskripte \fBpreinst\fP, \fBpostinst\fP und \fBpostrm\fP implementiert:
+.P
+ dpkg\-maintscript\-helper rm_conffile \e
+ \fIConffile\fP \fIvorhergehende_Version\fP \fIPaket\fP \-\- "$@"
+.P
+\fIConffile\fP ist der Dateiname der zu entfernenden Conffile.
+.P
+Aktuelle Implementierung: im \fBpreinst\fP wird geprüft, ob die Conffile
+geändert wurde. Dann wird sie entweder in \fIConffile\fP\fB.dpkg\-remove\fP (falls
+sie nicht geändert wurde) oder in \fIConffile\fP\fB.dpkg\-backup\fP (falls sie
+geändert wurde) umbenannt. Im \fBpostinst\fP wird Letztere in
+\fIConffile\fP\fB.dpkg\-bak\fP umbenannt und als Referenz behalten, da sie
+Benutzeränderungen enthält, während Erstere entfernt wird. Falls das Upgrade
+des Pakets abgebrochen wird, reinstalliert \fBpostrm\fP die ursprüngliche
+Conffile. Während des vollständigen Löschens wird \fBpostrm\fP auch die bisher
+behaltene Datei \fB.dpkg\-bak\fP entfernen.
+.
+.SS "Eine Conffile umbenennen"
+.P
+Falls eine Conffile von einem Ort zu einem anderen verschoben wird, müssen
+Sie sicherstellen, dass Sie auch alle Änderungen des Benutzers mit
+übernehmen. Anfänglich erscheint dies als einfache Änderung am Skript
+\fBpreinst\fP, allerdings wird dies dazu führen, dass der Benutzer von \fBdpkg\fP
+aufgefordert wird, die Bearbeitung der Conffile zu bestätigen, obwohl sie
+für diese gar nicht verantwortlich sind.
+.P
+Sanfte Umbenennung kann durch Einsetzen der folgenden Shell\-Schnipsel in die
+Betreuerskripte \fBpreinst\fP, \fBpostinst\fP und \fBpostrm\fP implementiert werden:
+.P
+ dpkg\-maintscript\-helper mv_conffile \e
+ \fIalte_Conffile\fP \fIneue_Conffile\fP \fIvorhergehende_Version\fP \fIPaket\fP \-\- "$@"
+.P
+\fIalte_Conffile\fP und \fIneue_Conffile\fP sind der alte und der neue Name der
+umzubenennenden Conffile.
+.P
+Aktuelle Implementierung: das \fBpreinst\fP überprüft, ob die Conffile
+verändert wurde, falls ja, verbleibt sie am Platz, andernfalls wird sie in
+\fIalte_Conffile\fP\fB.dpkg\-remove\fP umbenannt. Bei der Konfiguration entfernt
+das \fBpostinst\fP \fIalte_Conffile\fP\fB.dpkg\-remove\fP und benennt \fIalte_Conffile\fP
+in \fIneue_Conffile\fP um, falls \fIalte_Conffile\fP noch existiert. Falls
+abort\-upgrade/abort\-install eintritt, benennt das \fBpostrm\fP wieder
+\fIalte_Conffile\fP\fB.dpkg\-remove\fP in \fIalte_Conffile\fP zurück, falls notwendig.
+.
+.SH "SYMLINK\- UND VERZEICHNISUMWANDLUNGEN"
+.
+Beim Upgrade eines Pakets wird \fBdpkg\fP einen Symlink nicht automatisch in
+ein Verzeichnis und umgekehrt umwandeln. Installationen älterer Versionen
+(„downgrades“) werden nicht unterstützt und der Pfad verbleibt wie er ist.
+.
+.SS "Einen Symlink in ein Verzeichnis umwandeln"
+.
+Falls ein Symlink in ein echtes Verzeichnis umgewandelt wird, müssen Sie vor
+dem Entpacken sicherstellen, dass der Symlink entfernt wird. Anfänglich
+erscheint dies als einfache Änderung am Skript \fBpreinst\fP, allerdings wird
+dies zu einigen Problemen führen, falls der Administrator lokale Anpassungen
+des Symlinks durchgeführt hat oder falls ein Downgrade des Pakets auf eine
+alte Version durchgeführt wird.
+.P
+Sanfte Umbenennung kann durch Einsetzen der folgenden Shell\-Schnipsel in die
+Betreuerskripte \fBpreinst\fP, \fBpostinst\fP und \fBpostrm\fP implementiert werden:
+.P
+ dpkg\-maintscript\-helper symlink_to_dir \e
+ \fIPfadname\fP \fIaltes_Ziel\fP \fIvorhergehende_Version\fP \fIPaket\fP \-\- "$@"
+.P
+\fIPfadname\fP ist der absolute Name des alten Symlinks (der Pfad wird am Ende
+der Installation ein Verzeichnis sein) und \fIaltes_Ziel\fP ist der Name des
+Ziels des vorherigen Symlinks unter \fIPfadname\fP. Es kann entweder absolut
+oder relativ zum Verzeichnis, das \fIPfadname\fP enthält, sein.
+.P
+Aktuelle Implementierung: das \fBpreinst\fP überprüft, ob der Symlink existiert
+und auf \fIaltes_Ziel\fP zeigt. Falls dies nicht der Fall ist, bleibt der
+Symlink existent, andernfalls wird er in \fIPfadname\fP\fB.dpkg\-backup\fP
+umbenannt. Bei der Konfiguration entfernt das \fBpostinst\fP
+\fIPfadname\fP\fB.dpkg\-backup\fP, falls \fIPfadname\fP\fB.dpkg\-backup\fP noch ein
+Symlink ist. Falls abort\-upgrade/abort\-install eintritt, benennt das
+\fBpostrm\fP wieder \fIPfadname\fP\fB.dpkg\-backup\fP in \fIPfadname\fP zurück, falls
+notwendig.
+.
+.SS "Ein Verzeichnis in einen Symlink umwandeln"
+.
+Falls ein echtes Verzeichnis in einen Symlink umgewandelt wird, müssen Sie
+vor dem Entpacken sicherstellen, dass das Verzeichnis entfernt
+wird. Anfänglich erscheint dies als einfache Änderung am Skript \fBpreinst\fP,
+allerdings wird dies zu einigen Problemen führen, falls das Verzeichnis
+Conffiles, Pfadnamen anderer Pakete oder lokal erstellte Pfadnamen enthält
+oder wenn ein Downgrade des Pakets durchgeführt wird.
+.P
+Sanfte Umwandlung kann durch Einsetzen der folgenden Shell\-Schnipsel in die
+Betreuerskripte \fBpreinst\fP, \fBpostinst\fP und \fBpostrm\fP implementiert werden:
+.P
+ dpkg\-maintscript\-helper dir_to_symlink \e
+ \fIPfadname\fP \fIneues_Ziel\fP \fIvorhergehende_Version\fP \fIPaket\fP \-\- "$@"
+.P
+\fIPfadname\fP ist der absolute Name des alten Verzeichnisses (der Pfad wird am
+Ende der Installation ein Symlink sein) und \fIneues_Ziel\fP ist das Ziel des
+neuen Symlinks unter \fIPfadname\fP. Es kann entweder absolut oder relativ zum
+Verzeichnis, das \fIPfadname\fP enthält, sein.
+.P
+Aktuelle Implementierung: das \fBpreinst\fP überprüft, ob das Verzeichnis
+existiert, keine Conffiles, Pfadnamen anderer Pakete oder lokal erstellte
+Pfadnamen enthält. Falls nicht, bleibt es an Ort und Stelle, andernfalls
+wird es in \fIPfadname\fP\fB.dpkg\-backup\fP umbenannt und ein leeres
+Vorbereitungsverzeichnis mit Namen \fIPfadname\fP erstellt und durch eine Datei
+markiert, so dass Dpkg es nachverfolgen kann. Bei der Konfiguration beendet
+\fBpostinst\fP die Umstellung, falls \fIPfadname\fP.\fB.dpkg\-backup\fP noch ein
+Verzeichnis und \fIPfadname\fP noch das Vorbereitungsverzeichnis ist. Es
+entfernt die Markierungsdatei im Vorbereitungsverzeichnis, verschiebt die
+neu erstellten Dateien im Vorbereitungsverzeichnis in das Symlink\-Ziel
+\fIneues_Ziel\fP/, ersetzt das jetzt leere Vorbereitungsverzeichnis \fIPfadname\fP
+durch einen Symlink auf \fIneues_Ziel\fP und entfernt
+\fIPfadname\fP.\fB.dpkg\-backup\fP. Falls abort\-upgrade/abort\-install eintritt,
+benennt das \fBpostrm\fP wieder \fIPfadname\fP\fB.dpkg\-backup\fP in \fIPfadname\fP
+zurück, falls notwendig.
+.
+.SH "INTEGRATION IN PAKETE"
+.P
+Bei der Benutzung der Paketierungshelfer prüfen Sie bitte, ob eine native
+\fBdpkg\-maintscript\-helper\fP\-Integration existiert. Hierdurch könnte Ihr
+Aufwand verringert werden. Lesen Sie beispielsweise \fBdh_installdeb\fP(1).
+.P
+Da \fBdpkg\-maintscript\-helper\fP im \fBpreinst\fP verwandt wird, benötigt der
+bedingungslose Einsatz eine prä\-Abhängigkeit (\fIpre\-dependency\fP), um
+sicherzustellen, dass die Mindestversion von \fBdpkg\fP bereits entpackt
+wurde. Die benötigte Version hängt vom verwandten Befehl ab, für
+\fBrm_conffile\fP und \fBmv_conffile\fP lautet sie 1.15.7.2, für \fBsymlink_to_dir\fP
+und \fBdir_to_symlink\fP lautet sie 1.17.14:
+.P
+ \fBPre\-Depends:\fP dpkg (>= 1.17.14)
+.P
+In vielen Fällen sind aber die Ausführungen des Programms für das Paket
+nicht kritisch und statt einer prä\-Abhängigkeit soll das Programm nur
+aufgerufen werden, falls bekannt ist, dass der benötigte Befehl vom derzeit
+installierten \fBdpkg\fP unterstützt wird:
+.P
+ if dpkg\-maintscript\-helper supports \fIcommand\fP; then
+ dpkg\-maintscript\-helper \fIcommand\fP …
+ fi
+.P
+Der Befehl \fBsupports\fP liefert im Erfolgsfall 0, ansonsten 1 zurück. Der
+Befehl \fBsupports\fP überprüft, ob die durch Dpkg gesetzten und vom Skript
+benötigten Umgebungsvariablen vorhanden sind und betrachtet es als
+Fehlschlag, falls die Umgebung nicht ausreichend ist.
+.
+.SH UMGEBUNG
+.TP
+\fBDPKG_COLORS\fP
+Setzt den Farbmodus (seit Dpkg 1.19.1). Die derzeit unterstützten Werte
+sind: \fBauto\fP (Vorgabe), \fBalways\fP und \fBnever\fP.
+.
+.SH "SIEHE AUCH"
+.ad l
+\fBdh_installdeb\fP(1).
+.SH ÜBERSETZUNG
+Die deutsche Übersetzung wurde 2004, 2006-2020 von Helge Kreutzmann
+<debian@helgefjell.de>, 2007 von Florian Rehnisch <eixman@gmx.de>,
+2008 von Sven Joachim <svenjoac@gmx.de> und 2019,2020 von Mario
+Blättermann <mario.blaettermann@gmail.com>
+angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die
+GNU General Public License Version 2 oder neuer für die Kopierbedingungen.
+Es gibt KEINE HAFTUNG.