Nächste: , Vorige: , Nach oben: Paketverwaltung   [Inhalt][Index]


5.5 guix locate aufrufen

Uns steht solch eine Fülle an freier Software zur Verfügung, dass wir früher oder später suchen müssen, welches Paket wir benötigen. Mit dem Befehl guix search, den wir bereits kennengelernt haben (siehe guix package aufrufen), können wir anhand von Schlüsselwörtern suchen:

guix search video editor

Manchmal möchte man eher wissen, in welchem Paket eine bestimmte Datei angeboten wird. Hierfür ist guix locate das Richtige. So können Sie z.B. herausfinden, welches Paket den Befehl ls verfügbar macht:

$ guix locate ls
coreutils@9.1       /gnu/store/…-coreutils-9.1/bin/ls

Natürlich funktioniert es auch mit anderen Dateien, nicht nur für Befehle:

$ guix locate unistr.h
icu4c@71.1          /gnu/store/…/include/unicode/unistr.h
libunistring@1.0    /gnu/store/…/include/unistr.h

Sie können auch glob-Muster mit Platzhaltern verwenden. Zum Beispiel würden Sie so nach Paketen suchen, die .service-Dateien verfügbar machen:

$ guix locate -g '*.service'
man-db@2.11.1        …/lib/systemd/system/man-db.service
wpa-supplicant@2.10  …/system-services/fi.w1.wpa_supplicant1.service

Der Befehl guix locate braucht eine Datenbank, die Dateinamen zu Paketnamen zuordnet. Nach den Vorgabeeinstellungen wird diese Datenbank automatisch angelegt, wenn sie noch nicht existiert, wozu die lokal verfügbaren Pakete betrachtet werden, was ein paar Minuten dauern kann (je nachdem wie groß Ihr Store und wie schnell Ihr Speichermedium ist).

Anmerkung: Im Moment kann guix locate seine Datenbank nur auf lokalem Wissen aufbauen – Pakete außerhalb Ihres Stores werden nicht aufgenommen. Das soll sich noch ändern und dann wird es eine vorerstellte Datenbank herunterladen können, mit der sie auch andere Pakete finden können.

Vorgegeben ist, dass guix locate zunächst schaut, ob eine systemweite Datenbank vorhanden ist, in der Regel in /var/cache/guix/locate. Wenn Sie nicht existiert oder zu alt ist, wird stattdessen auf eine nutzereigene Datenbank zurückgegriffen, vorgegeben ist ~/.cache/guix/locate. In einem Mehrbenutzersystem können Administratoren die Aufgabe übernehmen, regelmäßig die systemweite Datenbank zu aktualisieren, damit alle Benutzer etwas davon haben, zum Beispiel mit Hilfe des package-database-service-type (siehe package-database-service-type).

Die allgemeine Syntax lautet:

guix locate [Optionen…] Datei

Dabei ist Datei der Name einer aufzufindenden Datei (genauer gesagt ihr „Basisname“: Dateien, die ein Elternverzeichnis namens Datei haben, landen nicht im Ergebnis).

Folgende Optionen gibt es:

--glob
-g

Datei… werden als glob-Muster aufgefasst – also Muster, die auch Platzhalterzeichen enthalten können wie ‘*.scm’, was alle Dateien aufgreift, die in ‘.scm’ enden.

--stats

Statistiken über die Datenbank zeigen.

--update
-u

Die Datenbank mit den Dateien auf den neuesten Stand bringen.

Nach den Vorgabeeinstellungen wird die Datenbank dann aktualisiert, wenn sie zu alt ist.

--clear

Die Datenbank leeren und neu befüllen.

Mit dieser Befehlszeilenoption können sie von vorn anfangen, so dass alte Daten nicht mehr in der Datenbank auftauchen. So stellen Sie sicher, dass die Datenbank nicht endlos anwächst. Nach den Vorgabeeinstellungen für guix locate geschieht das regelmäßig automatisch, wenn auch nicht oft.

--database=Datei

Die Datei als Datenbank benutzen. Wenn nötig, wird sie erzeugt.

Nach den Vorgabeeinstellungen benutzt guix locate die Datenbank unter ~/.cache/guix oder /var/cache/guix, je nachdem, welche neuer ist.

--method=Methode
-m Methode

Nach der Methode auswählen, welche Pakete in den Index aufgenommn werden. Mögliche Werte sind:

manifests

Dies ist die vorgegebene Methode: Für sie werden die Profile auf der Maschine betrachtet und die darin vorkommenden Pakete ermittelt – das sind die Pakete, die Sie oder andere Benutzer derselben Maschine direkt oder indirekt installiert haben. Das geht schnell, aber Pakete, die aus anderem Grund im Store sind, fehlen, wenn kein Profil darauf verweist.

store

Diese Methode ist langsamer, aber gründlicher: Alle Pakete, die im Store vorhanden sind, werden in die Datenbank aufgenommen.


Nächste: guix gc aufrufen, Vorige: Pakete mit mehreren Ausgaben., Nach oben: Paketverwaltung   [Inhalt][Index]