Skip to main content

Ralsina.Me — Roberto Alsina's website

Why no packaging software should replace your config files

When you up­grade a piece of soft­ware on Lin­ux, there are two paths it can go when there are in­com­pat­i­ble changes in the con­fig files (ok, 3 path­s, De­bian asks you what to do):

  1. The "rp­m­new" way: in­­stall the new con­­fig file as "what­ev­er.rp­m­new", which means the soft­­warewill break im­me­di­ate­­ly, but that's ok, be­­cause you are do­ing up­­­grades, so you should be watch­ing al­ready.

  2. The "rp­m­save" way: re­­place the old file and save a copy as "what­ev­er.rp­m­save".

This has two prob­lem­s:

  1. The soft­­ware may fail or not, or fail in a sub­­­tle way, and you will not no­tice right away.

  2. Maybe the old file will be lost any­way:

    lrwxrwxrwx  1 root root 32 jul 15 22:41 /etc/named.conf -> /var/named/chroot/etc/named.conf
    lrwxrwxrwx  1 root root 32 jul 15 22:36 /etc/named.conf.rpmsave -> /var/named/chroot/etc/named.conf

In this case the "file" was a sym­link, so by "sav­ing a copy" it on­ly saved an­oth­er sym­link to the soon-­to-be-over­writ­ten file.

And that's why, ladies and gen­tle­men, the rpm­new way is the good way.


Comments powered by Disqus