Jedesmal, wenn ich wieder etwas mit meinem Rechner gespielt habe, wurde meine wöchentliche Systemrunderneuerung immer länger und umfangreicher. Jetzt habe ich sie mal ausgemisstet.
Also:
find /usr -iname \*.desktop | xargs grep Exec | sed 's/.*=//; s/ .*//' | pacman -Qo - | sed '/Fehler/d; s/.*ist in //; s/ .*//' | sort -u > apps.csv
gibt mir alle Pakete, die sich irgenwo mit einer .desktop Datei eingetragen haben in der Datei apps.csv aus.
Aus der lösche ich dann mit meinem Lieblingseditor vim apps.csv alle Pakete, die ich behalten will, raus, und speichere das sicherheitshalber als neue Datei delenda.csv ab.
Dann kann ich mit
for pkg in $(cat delenda.csv); do sudo pacman -Rs --confirm $pkg; done
alles löschen, was ich nicht weiter haben möchte.
Dann kommen die verweisten Abhängigkeiten dran - nach meinen Unterlagen sollte das eigentlich mit sudo pacman -Ru ganz einfach funktionieren, tut es aber nicht. Daher habe ich halt
for pkg in $(diff --changed-group-format="%>" --unchanged-group-format="" <(pacman -Qeq) <(pacman -Qtq)); do sudo pacman -Rs $pkg; done
gemacht, um die zu löschen.
Und jetzt viel Spaß beim Zerbrechen und Wiederzusammenfrickeln Eurer Systeme! Bei mir hat's überraschenderweise geklappt. Hat auch nur wenige Sekunden gedauert. Ok, wenn man die Entwicklung der Einzeiler mit ein bezieht eher ne Stunde oder zwei, aber die Wahrheit soll ja einer guten Geschichte nicht im Wege stehen...
Danke, find ich toll. Dann wage ich noch eine Frage: Was meintest Du mit nicht-beruhigt in "dem Verarbeiten von nicht-beruhigten Ausgaben" – ich nehme an es bezieht sich auf die Verwendung von xargs?
Ja, xargs ist böse. Mir ging es aber bei der Aussage um das sed für Fehler in, statt einfach pacman zu sagen "sei ruhig".
Ja, das war einfach nur saudoof – geht ja in Standardfehler und damit nicht in die Pfeife.