Hallo alle zusammen;

ich hatte heute eine fixe Idee und bin dabei über etwas gestolpert. Ich habe meine Archlinux Installation schon ziemlich lange, ich glaube mehr als 5 Jahre aktiv. Da ich sie immer mit "pacman -Syu" aktuell halte, gibts da eigentlich kaum Probleme. Nun habe ich im Laufe der Zeit auch einige selbst gebaute Pakete installiert und wollte mir nun eine Art Übersicht verschaffen, welche ich denn ggf. mal neu bauen müsste.

Das Vorgehen hierbei:
  • mittels "pacman -Q" alle Pakete ermitteln
  • mittels "pacman -Ss" nach jedem einzelnen Paket suchen, obs das aktuell überhaupt in den Repositorys noch als solches gibt
  • die Liste dann nochmal prüfen, sollten ja eigentlich nur "meine selbst gebauten" sein
Dem ist aber nicht so. Ich habe hier etwa 60-70 Pakete die es so in der Form gar nicht mehr in den Repositorys gibt. Ich vermute die kamen mal mit etwas anderem mit und wurden zwischenzeitlich durch etwas anderes ersetzt. Daher die Frage: wie räume ich hier am besten auf?

Gruß kruemeltee
  • [gelöscht]

kruemeltee schrieb Das Vorgehen hierbei:
  • mittels "pacman -Q" alle Pakete ermitteln
  • mittels "pacman -Ss" nach jedem einzelnen Paket suchen, obs das aktuell überhaupt in den Repositorys noch als solches gibt
  • die Liste dann nochmal prüfen, sollten ja eigentlich nur "meine selbst gebauten" sein
Das kannst du mit
pacman -Qmq
auch einfacher haben.
Dem ist aber nicht so. Ich habe hier etwa 60-70 Pakete die es so in der Form gar nicht mehr in den Repositorys gibt. Ich vermute die kamen mal mit etwas anderem mit und wurden zwischenzeitlich durch etwas anderes ersetzt. Daher die Frage: wie räume ich hier am besten auf?
Das kommt darauf an, wie komfortabel oder sicher du es haben möchtest. Man kann mit
pacman -Runs $(pacman -Qmq)
direkt die Ausgabe von pacman auf den Befehl zum De-Installieren anwenden, dann werden alle verwaisten Pakete mit ihren Abhängigkeiten entfernt. Dann wären aber auch die selbst gebauten Pakete davon betroffen, die man aber je nach Umfang und Verfügbarkeit wieder neu installieren könnte.

Oder du gibst das Ergebnis der Paketliste in eine Textdatei aus, untersuchst die vorher nach den Paketen, die du behalten möchtest und entfernst die aus der Paketliste, und übergibst dann pacman die Paketliste als Eingabe für das De-Installieren der Pakete.

Schwierig wird es, wenn nach so einem Rundumschlag sich später herausstellt, dass du eins der verwaisten und nichteigenen Pakete doch noch brauchst; die lassen sich aus dem offiziellen Repo nicht mehr beschaffen. Manchmal wurden sie ins AUR verschoben, sonst bleibt nur noch (falls vorhanden) der eigene Paketcache, oder das Archiv https://archive.archlinux.org
vielen Dank für diese Anregung. Ich hab mal
pacman -Qmq
mit meinem Ergebnis verglichen, der findet noch ein paar Pakete mehr. Aber im Grunde auch alle meine findings. Ich hab mir irgendwann mal angewöhnt, die von mir selbst erstellten Pakete ebenfalls als Paket zu speichern und in ein eigenes Repository zu kippen. Das sind aber nun wirklich nicht alle, sondern nur ca. 1/3.

Aber danke für diesen Anreiz. Ich werde mich mal ran setzen und ausmisten.

P.S.: ich habe 190 Pakete gefunden, pacman -Qmg 213 ...
  • [gelöscht]

kruemeltee schrieb P.S.: ich habe 190 Pakete gefunden, pacman -Qmg 213 ...
Dann wirst du nicht umhin kommen, die Ergebnisse beider Verfahren in eine Textdatei zu exportieren, dann z. B. mit diff die Unterschiede zu suchen und anschließend anhand der gefundenen Abweichungen genauer zu untersuchen, warum das Paket in deiner Liste nicht berichtet wird.

Vor einem automatischen "ausmisten" kann ich aber nur noch einmal warnen. Ich habe mir heute auch noch einmal das Ergebnis angesehen: ich komme zwar nur auf gut 20 Pakete, trotzdem habe ich wieder neue Pakete wie "fetchmail" gesehen, das auf einmal aus dem offiziellen Repo entfernt und ins AUR verbracht wurde. Das läuft hier den ganzen Tag zum Abrufen der POP3-Konten und übergibt die Mails dann an postfix. Das bedingungslose Entfernen würde hier erstmal zu Problemen führen.

Oder ein anderes Beispiel: xorg-server-utils und xorg-utils werden hier schon seit geraumer Zeit gemeldet, das waren mal Metapakete, die über Abhängigkeiten die X-Server-Pakete nachzogen. Irgendwann wurden diese Pakete einfach entfernt und eine De-Installation dieser Pakete und seiner Abhängigkeiten würde auch den X-Server zerlegen. Man könnte sie auch ohne Abhängigkeiten entfernen, dann würde "pacman -Qtd" sie aber wieder als verwaist melden. Man müsste also erst die Pakete mit der Operation "--database" als ausdrücklich installiert kennzeichnen, bevor man das Metapaket entfernt.

Da ist also auf jeden Fall Handarbeit angesagt, sowohl bei der Sichtung der Paketlisten als auch dem Löschen von vermeintlich überflüssigen Anwendungen. Ich mache das regelmäßig, dann bleibt der Aufwand überschaubar.