Ich habe ein Skript in Ruby geschrieben, das alle explizit installierten Pakete ausgibt.
Das Skript funktioniert nur mit dem Paketverwaltungswerkzeug pacman
, das unter Arch Linux genutzt wird.
Installation
$ wget https://raw.github.com/gist/2720970/b0cc69d2dab52217fe535fe47bc2e346cd7453e4/pacinstalled.rb
$ chmod +x pacinstalled.rb
Aufruf
ruby pacinstalled.rb
Skript
Beschreibung
packages
parst alle Pakete aus der Ausgabe vonpacman -Qe
. Daraus wird ein Hash mit den Schlüsselnsource
,name
,version
undgroup
erstellt.lang_en
: In dieser Umgebung werden alle Konsolenausgaben in Englisch getätigt. Würde ich diese Umgebung nicht nutzen, würden alle anderen Sprachen, als die, die ich nutze, nicht unterstützt.info
ist eine Funktion, die ich im Moment nicht benutze, aber mit der es möglich ist mittels eines Hashs auf verschiedene Informationen eines Pakets zuzugreifen. Es sind alle Informationen, die durchpacman -Qi <paketname>
angezeigt werden.sort_hash
sortiert meinen Hash mittels des übergebenen Schlüsselarrays. Dieses Schlüsselarray beinhaltet alle Schlüssel des zu sortierenden Hashs, wobei diese sich in der gewünschten Reihenfolge befinden.
Anschließend werden diese Funktionen aufgerufen und die Pakete werden nach den Paketquellen (core
, extra
, etc.) gruppiert und sortiert.
Danach werden alle Pakete ausgegeben.
Ausblick
Das Skript ist noch erweiterbar. Zum Beispiel könnten Optionen steuern, ob Pakete aus allen Paketquellen angezeigt
werden sollen, oder ob zum Beispiel die aus extra
nicht angezeigt werden sollen.
Wenn ich mir die nötigen Kenntnisse angeeignet habe, dann werde ich vielleicht ein Gem screiben, das pacman
unter Ruby
nutzbar macht.