Don't understand german? Read or subscribe to my english-only feed.

APT-Pinning entschlüsselt…

Ein Thema vor dem viele Debianer Respekt haben: APT-Pinning. Für grml hab ich jetzt ein ausgefeiltes APT-Pinning-System entwickelt. Dies soll sicherstellen, dass Pakete per Default aus Debian-Unstable genommen werden. Pakete die ich in meinem eigenen grml-Repository habe sollen aber bevorzugt behandelt werden und falls das grml-Hauptrepository ausfällt soll ein Fallback-Repos zum Einsatz kommen. Es gibt aber ein paar Pakete die nur von Ubuntu zur Verfügung gestellt werden, diese sollen aber wirklich nur dann verwendet werden wenn es bei Debian oder grml nichts dergleichen gibt. Und wenn ein Debian-Paket nur im Experimental-Pool vorhanden ist soll der Zugriff auch möglich sein.

Wie schaut das nun im Einsatz aus?

root@grml ~ # cat /etc/apt/preferences
// main grml-repository:
Package: *
Pin: origin grml.org
Pin-Priority: 993
// fallback grml-repository:
Package: *
Pin: origin dufo.tugraz.at
Pin-Priority: 992
// debian unstable pool (default):
Package: *
Pin: release a=unstable,o=Debian
Pin-Priority: 991
// debian experimental pool (just for packages not yet in unstable-pool):
Package: *
Pin: release a=experimental,o=Debian
Pin-Priority: 500
// ubuntu's xorg-common + xserver-xorg:
Package: *
Pin: origin archive.ubuntu.com
Pin-Priority: 110
// fix for special package:
Package: xprt
Pin: origin archive.ubuntu.com
Pin-Priority: 995

Tipps: ‘apt-get -s upgrade’ um Upgrade-Vorgänge zu testen. Immer auch einen besonderen Blick auf Pakete die zurückgehalten werden werfen. Wenn man dann ein Problem mit einem spezifischem Paket hat einfach ‘apt-cache policy $PAKET’ nutzen und die Priority beachten. Mit ein wenig Nachdenken und Probieren sollte sich dann das Problem lösen lassen. Und davor natürlich noch eine Runde Dokulesen einschieben, hierzu ein paar hilfreiche Links:

Comments are closed.