Malte Gell [02.06.2016 07:31]:
Hallo, wenn früher mal eine Konfigurationsdatei in /etc geupdatet wurde und man hat als Benutzer schon vorher darin herumgefummelt, wurde die neue Datei installiert und die alte mit der Endung .rpmsave gesichert.
Fall: eine Datei in /etc wurde vom User bereits verändert, über Yast/RPM kommt ein Update der Konfigurationsdatei.
Was macht OS 42.1 dann? Wird die vom Nutzer veränderte Datei behalten und die neue als Kopie hinterlegt? Oder umgekehrt, die neue Datei wird installiert und die alte wird gesichter?
Ich hab einiges in /etc selbst verändert und habe bisher jedenfalls noch keine *.rpmsave Datei gefunden.
Gruß
Je nachdem, was im installierten RPM selbst steht, wird ein .rpmnew oder ein .rpmsave angelegt - oder die Datei wird einfach überschrieben. Das Verhalten ist an einigen Stellen dokumentiert, z. B. auf <https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_rpm.html>: ---snip--- * If a configuration file was not changed by the system administrator, rpm installs the new version of the appropriate file. No action by the system administrator is required. * If a configuration file was changed by the system administrator before the update, rpm saves the changed file with the extension .rpmorig or .rpmsave (backup file) and installs the version from the new package (but only if the originally installed file and the newer version are different). If this is the case, compare the backup file (.rpmorig or .rpmsave) with the newly installed file and make your changes again in the new file. Afterwards, be sure to delete all .rpmorig and .rpmsave files to avoid problems with future updates. * .rpmnew files appear if the configuration file already exists and if the noreplace label was specified in the .spec file. Following an update, .rpmsave and .rpmnew files should be removed after comparing them, so they do not obstruct future updates. The .rpmorig extension is assigned if the file has not previously been recognized by the RPM database. Otherwise, .rpmsave is used. In other words, .rpmorig results from updating from a foreign format to RPM. .rpmsave results from updating from an older RPM to a newer RPM. .rpmnew does not disclose any information as to whether the system administrator has made any changes to the configuration file. A list of these files is available in /var/adm/rpmconfigcheck. Some configuration files (like /etc/httpd/httpd.conf) are not overwritten to allow continued operation. ---pins--- Ich nehme nicht an, dass sich das in der Zwischenzeit grundlegend geändert hat :) Interessant ist der ausdrückliche Hinweis auf das "noreplace label" im Spec-File. Das ist aber etwas, was der Packager macht, nicht nicht die Software, die das Paket installiert (siehe auch z. B. <http://stackoverflow.com/questions/14511334/rpm-upgrade-handling-of-config-files>). Ich benutze übrigens etckeeper auf allen Systemen. Sobald zypper Änderungen vornimmt, wird ein Plugin aufgerufen, das den aktuellen Stand der Konfiguration in einem Git-Repo (/etc/.git/) sichert. Man kann also alle alten Stände wieder herstellen, und man kann auch eine Versionshistory anzeigen lassen - einfach durch die entsprechenden git-Befehle :) Gruß Werner --