Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 
Regelmäßig gibt es neue Releases bei Linux Distributionen. Das bedeutet man installatiert parallel zur altenRelease die neue Release und zieht dann die Benutzerdaten und Systemkonfigurationen vom älteren zum neueren Release um. Das dumme ist, dass man im alten Release Softwarepakete installiert hat, die standardmäßig im neuen release nicht installiert sind da man sie mit dem jeweiligen Paketmanager manuell nachinstalliert hat. Dabei gibt es i.d.R. zwei Typen: Einmal Software, die man zu lieben und schätzen gelernt hat und auch weiterhin im neuen Release benutzen will und irgendwelche Installationen um mal eben was auszuprobieren. Die Distributionen bieten Möglichkeiten an, diePakete der alten Release automatisch im neuen Release einzuspielen, nur leider wird dann auch sämtliches Test- und Spielpaket wieder installiert.
 
Genaugenommen muss man die rpm Listen des alten Releases und des neuen Releases vergleichen und eine List erstellen von den Paketetn, die im neuen Release nicht gefunden werden. Danach kann man die (hoffentlich relativ kurze) Liste durchgehen und die wichtigen Pakete identifizieren und dann manuell nachinstallieren. Um mir das zu vereinfachen habe ich ein kleines Python Script geschrieben, welches zwei rpm Listings vergleicht und die fehlenden Pakete in einer Liste ausgibt. Eingabe für das Script sind sortierte rpm Listings des alten und des neuen Releases. Ausgabe ist die Liste der Pakete, die im alten Release vorhanden sind aber im neuen Release fehlen.
 
Bedienungsanleitung:
 
1) Ausführen des folgenden Befehls auf dem alten Release
     rpm -qa  | sort > release_old
 
2) Ausführen des folgenden Befehls auf dem neuen Release
     rpm -qa  | sort  > release_new
 
3) Aufruf des Vergleichsscripts mit einer Liste von Paketen, die ignoriert werden sollen
     compareDistroRPMs release_old release_new "(lib|yast2|sax2|bundle)"
 
Beim letzten Parameter für das Script ist zu berücksichtigen, dass es ein regulärer Ausdruck sein muss. Faustregel: Die Klammern lassen und mit | getrennt Teile des Paketnamens angeben, die ausgefiltert werden sollen, weil es Pakate sind, die in der Ausgabeliste zu ignorieren sin.
 
Beispiel: Um Pakete auszunehmen "(lib|yast2|sax2|bundle|game)"  als dritten Parameter benutzen.
 
Kommentar schreiben

*** Hinweis ***

Kommentare sind erwünscht. Aber um lästige Spamposts abweisen zu können gibt es ein paar Dinge die zu beachten sind:
  1. Kommentare mit dem Text http werden sofort zurückgewiesen mit der Meldung Sie sind nicht berechtigt den Tag zu verwenden. zz
  2. Kommentare werden manuell überprüft und es dauert deshalb in der Regel einen Tag bis sie veröffentlicht werden.