Apt-Repositories und Pakete aufräumen vor Upgrades

Mit der Zeit sammeln sich immer mehr Third-Party-Repositories an. Sei es, weil ein Programm nicht in den Standard-Repos der Distribution angeboten wird oder weil man eine neuere Version benötigt.

Spätestens wenn ein Distributions-Upgrade fällig ist, sollte man sich daran machen in den Repository-Sourcen aufzuräumen. Ansonsten kann es zu seltsamen Effekten während des Upgrades kommen. Nicht selten sind Third-Party-Repositories von der Ausgabe der eingesetzten Distribution abhängig.

Aber wie findet man raus, welche Pakete von den zusätzlichen Repositories installiert sind? Das bloße Deaktivieren von Repositories ist nicht zielführend, da die Pakete dann als “verwaist” gelten und damit “in der Luft hängen”.

Wenn man das Repository kenn kann man sich mit folgendem Befehl anzeigen lassen, welche Pakete darüber installiert sind:

aptitude search '~S ~i (?origin("name"))'

“name” steht dabei für den Repo-Namen. Diesen bekommt man raus über

apt-cache policy

Dort steht der Name hinter dem “o=”.

Hat man ein bestimmtes Paket, kann man mit folgendem Kommando Policies zu exakt diesem Paket anzeigen:

apt-cache poliy paket

Mit folgendem Befehl hat man die Möglichkeit auf eine ältere Version downzugraden (etwa, wenn man von der neueren PPA-Version wieder auf die stabile Version aus dem Haupt-Repo wechseln will):

apt-get install paket=version

Vorsicht: Wenn man die Paketquelle jetzt nicht aus /etc/apt/sources.list.d entfernt, dann wird bei einem späteren “apt-get upgrade” wieder die neue Version installiert.

Hilfreich kann es auch sein, zum Abschluß nochmal nach verwaisten paketen zu suchen, also solche Pakete, die nicht als Abhängigkeit zu einem anderen Paket
installiert wurden und zu denen es kein Repository gibt:

aptitude search '~o'