[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Konfigurationsfiles mit dpkg wiederherstellen



On 16.11.05 17:36:56, Frank Küster wrote:
> Richard Mittendorfer <delist@gmx.net> wrote:
> > Weil hier ja debconf bei einer installation von apt aufgerufen wird und
> > der mir vermutlich den apache mit der nicht modifizierten httpd.conf
> > restartet haette. Auch handelt sich's um 1.3 und nicht um 2 wie beim
> > OP.
> 
> Ich kann über den alten Apachen nichts sagen - aber wenn ein Programm
> beim upgrade (und das reinstallieren der gleichen Version sollte genauso
> behandelt werden) Konfigurationsdateien verändert, dann hat es einen
> schweren Bug. 

Korrekt, deswegen wird bei Konfigurationsdateien eigentlich immer
nachgefragt ob man die eigene oder die Maintainerversion haben will. Man
kann sich auch gleich den diff anzeigen lassen.

> In der Praxis kann das bei upgrades ein bisschen anders sein: wenn
> z.B. die neue Version ohne eine bestimmte Änderung nicht laufen würde,
> wird der Upgrade diese vielleicht erzwingen müssen. 

Ich denke nicht, dann gehoert ein Eintrag in die NEWS.Debian und
ausserdem ein dicker Kommentar vor die Aenderung, so dass man auch beim
Konfig-Diff dies direkt sieht.

> > Das wuerde zutreffen, wenn ein derartiger Eintrag von apt an dpkg
> > uebergeben wuerde (/etc/apt.conf[.d])?
> >
> > man apt-get sagt zu --reinstall nur
> >
> > --reinstall
> >     Re-Install packages that are already installed and at the newest
> >     version. Configuration Item: APT::Get::ReInstall.
> >
> > --reinstall wuerde also ein fehlendes Teil erneut installieren, da
> > sich's nicht mehr am System befindet. So zumindest denk' ich mir das.
> 
> Das stimmt schon, aber es betrifft nur normale Dateien - gelöschte
> Konfigurationsdateien dürfen nicht wiederhergestellt werden, es sei denn
> eben mit der dpkg-Option --force-confmiss.

Das setzt vorraus das der Maintainer auch alle Konfigurationsdateien als
solche markiert hat.

> >> oder noch besser
> >> es lassen.  Bust du dir sicher?
> >
> > Durchaus. Und ich finde dieses behavior korrekt, so werden nicht
> > vorhandene Dateien beim --reinstall wiederhergestellt (In diesem Fall
> > mit den gemerkten debconf Angaben) und Kaputtgegangene ebenfalls. 
> 
> Nein, das wäre, je nachdem wie man es sieht, eine dicke Policy-Verletzung
> oder nur ein (IMHO schwerwiegender) Fehler in der Dokumentation.
> 
> Aber ich kann es hier nicht nachvollziehen:

Weil du ein anderes Paket benutzt. Fuer mserv gilt genau das was du oben
als Besonderheit bei Upgrades angefuehrt hast: Das postinst Skript
prueft ob die Dateien in /etc/mserv existieren und nur wenn sie nicht
existieren werden sie mit Default-Werten neu angelegt. Sprich
Aenderungen an den Dateien bleiben erhalten.

> > Wenn's also ein bug waer' - ich hielt's bisher fuer ein feature :)
> 
> Das Löschen einer Konfigurationsdatei ist auch nur ein "Konfigurieren".
> Das darf nicht einfach rückgängig gemacht werden.

IMHO kommt das drauf an, ob die Applikation ohne die Konfig-Datei
nutzbar ist. Wenn sie das nicht ist, spricht IMHO nichts dagegen sie mit
default-Werten wiederherzustellen. Allerdings kenne ich die Policy
nicht, vllt. verletzt mserv sie ja doch mit seinem postinst-Skript.

Andreas

-- 
Beware of low-flying butterflies.



Reply to: