DSIW

Alles was interessant ist... (Linux, Programmierung, Datenschutz, Medien, uvm.)

Ruby-Skript: Ausgabe der explizit installierten Pakete

| Comments

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 von pacman -Qe. Daraus wird ein Hash mit den Schlüsseln source, name, version und group 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 durch pacman -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.

Comments