Szerintem a frissítés ugyanolyan telepítést jelent, mint amikor frissen telepítesz valamit, úgy kéne kezelni.
Főleg azért, mert egy verzióváltásnál (legyen mondjuk ez egy diszt-upgrade, vagy akár csak egy rolling release esetén egy nagyobb frissítés), egy adott program fáljai teljesen megváltozhatnak, mind helyüket, mind tartalmukat tekintve.
Azaz az, hogy eddig létezett a program egyik verziója esetén a fájlok egy halmaza, most meg létezik egy (akár lényegesen eltérő) másik halmaza.
Emiatt eleve nem lenne szabad a csomag által szállított, azzal telepített fájlokba belenyúlnia a felhasználónak, maximum csak felülbírálni/kiegészíteni azt, új fájlok létrehozásával, amelyek biztosan nem részei a csomag fájlainak sem most, sem a jövőben.
De ugye ezt a legtöbb szoftver nem tudja.
Ugyebár a mindenféle atomian frissített szoftver esetén próbálnak efelé menni, fájlrendszer rétegekkel, de még nem tartunk ott, ahol kéne. Pont azért használják a rétegeket, symlinkeket, mert nincs éles elkülönítés, és trükközni kell.
Amikor meg oda jutunk el, akkor igazából kiderül, hogy kétféle felső szinrtű mount point kell a szoftvereknek: a telepített programoké, amelyek a user számára nem írható, meg a user számára a felülbírálások/kiegészítések és használat során keletkező fájlok. Minden ezen két hierarchia alá kellene, hogy menjen. Akár lehet ez /sys (tudom, ez a virtuális fájlrendszer másra van használva) és /usr, vagy valami hasonlók.