Co zrobić aby pakiety pochodzące z repozytorium Debiana nie nadpisywały plików, których z jakichś powodów nie chcemy aby nadpisywały? Użyć dpkg-divert. Za przykład posłużą sterowniki Nvidii instalowane za pomocą skryptu producenta.

Zarówno pakiet xserver-xorg-core [1] z repozytorium Debiana, jak i skrypt Nvidii, instalują w systemie plik /usr/lib/xorg/modules/extensions/libglx.so. Podczas instalacji sterowników lub pakietu xserver-xorg-core plik ten jest nadpisywany, dlatego po aktualizacji Xorga konieczna jest reinstalacja sterowników Nvidii, aby ponownie korzystać z ich pełnych możliwości.

Dzięki dpkg-divert można przekazać systemowi żeby zostawił ten plik w spokoju:

dpkg-divert --add /usr/lib/xorg/modules/extensions/libglx.so

Sprawdzenie czy wszystko poszło tak jak powinno:

# dpkg-divert --list |grep libglx.so
local diversion of /usr/lib/xorg/modules/extensions/libglx.so to /usr/lib/xorg/modules/extensions/libglx.so.distrib

Można teraz zainstalować sterowniki Nvidii i nie martwić się już o nadpisywanie tego pliku podczas aktualizacji systemu, plik pochodzący z pakietu zainstalowany zostanie jako /usr/lib/xorg/modules/extensions/libglx.so.distrib.

Naturalnie można w podobny sposób stosować dpkg-divert również w odniesieniu do innych plików, a także korzystać z bardziej zaawansowanych możliwości programu — opisanych w podręczniku użytkownika.


Przypisy:

  1. http://packages.debian.org/xserver-xorg-core