Portage Pflege für alle
Jeder Gentoo und Funtoo Benutzer wird es bestimmt kennen, egal ob ein Programm nur zum Test Installiert wurde oder die Keyword und USE Datei (kann auch ein Verzeichnis sein) bearbeitet wurde. Wenn das Programm nicht mehr Installiert ist liegen viele Leichen in diese Datei.
Verständlich das dort niemand Putzt da alles per Hand gemacht werden muss.
Dachte ich mir und habe mir hierfür kleine Helfer geschrieben, die diese Arbeit abnehmen. Anfangs gab es nur den „Portage Keyword Manager“, jetzt kam „Portage Useflag Manager“ hinzu.
Die Handhabung ist die selbe wie bei „portkeyman“ (Portage Keyword Manager) was nicht verwunderlich ist, denn dieser diente als Vorlage für „portuseman“ (Portage Use Manager).
Erstmalig habe ich meine genfoo-tools am 17.02.2013 veröffentlicht, das ich auch hier im Blog bekannt gegeben habe https://knasan.wordpress.com/2013/02/17/genfoo-tools-meine-portage-utils/
In diesem kleinen Video wird gezeigt wie einfach die Tools verwendet werden können und wie man zwischen File und Directory hin und her schalten kann, was Geschmackssache ist. Ich persönlich mag die Directory Variante.
Als erstes wird in das Verzeichnis /etc/portage gewechselt und gezeigt das die Datei package.use vorhanden ist und wie viele Einträge diese hat.
root@turanga ~ # cd /etc/portage/
root@turanga portage # ls -l package.use
-rw——- 1 root root 3423 15. Aug 17:14 package.use
root@turanga portage # wc package.use
83 355 3423 package.use
root@turanga portage
Wie man hier sehen kann ist „package.use“ eine Datei und hat 83 Einträge.
Mit „portuseman“ kann man wesentlich zwei Operationen durchführen.
- package.use aufräumen, also nicht Installierte Packete aus der Datei löschen.
- package.use Datei nach Verzeichnis konvenieren oder anders herum.
Als erstes wird gezeigt wie man einfach nicht mehr Installierte packete aus portage putzt, hierfür muss „portuseman“ lediglich mit dem Parameter -d für delete aufgerufen werden. Aus Sicherheitsgründen werden diese Operationen nicht am System direkt gemacht sondern alles in /tmp gespeichert, übernehmen muss der Benutzer nach einer Kontrolle selbst.
root@turanga portage # portuseman -d
new packages.use is saved as File to: /tmp/package.use.new
Wie man hier schön erkennen kann wurde die neue package.use Datei nach /tmp/package.use.new gesichert. Möchte man diese Datei nach betrachten übernehmen so muss diese nach /etc/portage/ kopiert werden.
Vergleicht man nun die neue und alte Datei, wird man feststellen das alles was nicht Installiert war aus diese Datei gelöscht wurde.
root@turanga portage # mv /tmp/package.use.new ./package.use
root@turanga portage # wc package.use
69 273 2681 package.use
in meiner package.use waren also 14 Einträge die nicht mehr genutzt wurden.
Anfangs habe ich gesagt das ich die Directory Variante bevorzuge, deswegen werde ich jetzt erst einmal das eben vorhandene konvenieren, was man auch mit einem Schritt machen kann, nur zur Demonstration habe ich diesen schritt nicht gleich mit angegeben.
root@turanga portage # portuseman -o d -d
new package.use is saved as directory to: /tmp/package.use
root@turanga portage # mv package.use package.use.oldroot@turanga portage # mv /tmp/package.use . <- beachte den „punkt“
root@turanga portage # portuseman -o d -d
new package.use is saved as directory to: /tmp/package.useroot@turanga portage # mv package.use package.use.old
root@turanga portage # mv /tmp/package.use . <- beachte den „punkt“
root@turanga portage # cd package.use/root@turanga package.use # ls
app-accessibility app-office dev-lang gnome-base media-plugins net-fs sys-libs
app-admin app-portage dev-libs kde-base media-sound net-im virtual
app-arch app-text dev-qt mail-client media-video net-misc www-client
app-editors dev-db dev-util media-gfx net-analyzer net-proxy x11-terms
app-emulation dev-games games-sports media-libs net-dns sci-geosciences x11-wm
Nun sind im Verzeichnis „package.use“ Dateien mit Kategorien. Ich mag diese Variante da diese sehr übersichtlich ist und nicht einfach nur eine Datei zugemüllt wir.d. Sucht man ein bestimmtes Programm das man mit neuen USE-Flags emerge möchte, so schaut man einfach in die Kategorie-Datei rein. Aber wie gesagt das ist Geschmackssache und jeder muss dies für sich selbst entscheiden.
Portuseman ist ab sofort im genfoo-utils ebuild zu finden.
https://github.com/knasan/ebuilds/tree/master/app-portage/genfoo-tools
-Sandy