Software finden

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Grundsatzfragen ‹ Software finden


Diese Seite zeigt mit welchen Werkzeugen man Programme, die von Debian angeboten werden, finden kann.

Apt-cache

Debianpackage.png Apt sucht in der lokalen Paketdatenbank innerhalb der kompletten Paketbeschreibung nach Übereinstimmungen mit dem Suchbegriff (hier Debianpackage.png nano):

user@debian:~$ apt-cache search nano

erzeugt eine sehr lange Liste.

Es werden auch Einträge angezeigt, welche die Zeichenkette "nano" im Paketnamen haben wie zB.: Debianpackage.png science-nanoscale-physics, auch wenn sie nichts mit dem Editor Debianpackage.png nano zu tun haben. Zudem werden alle Pakete aufgelistet die von Debianpackage.png science-nanoscale-physics abhängen weil auch diese Informationen durchsucht werden und dann eben auch dort die Zeichenkette "nano" auftaucht. Ebenso werden Programme wie Debianpackage.png openmx angezeigt, welche die Zeichenkette "nano" in der Paketbeschreibung haben. Also zB: "package for nano-scale material simulations[...]".

Das Ziel ist also, so eine Liste einzuschränken.

Mit dem Schalter "--names-only":

user@debian:~$ apt-cache search --names-only nano

wird nur in der Liste der Paketnamen gesucht. Damit wird die Ergebnisliste deutlich übersichtlicher um die gewünschte Information zu bekommen.

Falls die Ausgabe die Bildschirm-/Fenstergöße übersteigt, bietet sich an, sie an more oder less` zu übergeben, zu pipen:

user@debian:~$ apt-cache search --names-only nano | more

Dies bietet die Möglichkeit, die Ausgabe mit Leertaste (Bildschirmweise) oder Eingabe/Return (Zeilenweise) durchzublättern. (Der senkrechte Strich in dem Befehl: '|' wird mit der Tastenkombination Alt Gr + < also der Taste mit den "größer/kleiner als"-Zeichen eingefügt.) Damit kann auch wieder nach oben gescrollt werden. Bei less gibt es wiederum eine Suchfunktion, die mit "/" aktiviert wird, ein "h" gibt die Hilfe zu diesem Programm aus, "q" beendet es. Siehe auch Man-Page.png less.

Um das Suchergebnis weiter einzuschränken kann auch nur am Anfang der Zeile gesucht werden:

user@debian:~$ apt-cache search ^nano

Als weitere Möglichkeit bietet sich Debianpackage.png grep an. Oftmals reicht es, wenn man die Ergebnisliste per Debianpackage.png grep nach dem gleichen Suchbegriff durchsucht:

user@debian:~$ apt-cache search nano | grep nano

Grep ist ein mächtiges Unixwerkzeug, welches viele weitere Möglichkeiten zum Filtern der Ausgabe bereitstellt.

Axi-cache

Axi-cache ist Bestandteil des Paketes Debianpackage.png apt-xapian-index. Mit axi-cache können Pakete sehr schnell gesucht werden. Außerdem besitzt es eine Schnittstelle zur Shell-Kommandozeilenvervollständigung, liefert kontextabhängige Schlüsselwörter und Tag-Vorschläge noch bevor der Suchbefehl ausgeführt wird.

Aptitude

Komandozeilenmodus von aptitude

user@debian:~$ aptitude search ted

ergibt eine aufgeräumtere Ausgabe als apt:

[...]
p   ted           - graphical RTF (Rich Text Format) editor, stable lesstif version
p   ted-common    - common files used by ted and ted-gtk
p   tedia2sql     - Converts a Dia diagram to various SQL dialects
[...]
p   xteddy        - a cuddly teddy bear (or other image) for your X desktop

Aus dem 1. Buchstaben in jeder Zeile ist der aktuelle Paketstatus ersichtlich:

  • p bedeuted, dass sich von diesem Paket nichts auf dem System befindet; bei einem
  • c hingegen befinden sich die Konfigurationsdateien noch auf dem System, das Paket selbst wurde aber gelöscht.
  • i steht für ein installiertes Paket;
  • v für ein virtuelles Paket.

Diese Information kann zusammen mit Debianpackage.png grep genutzt werden, um z.B. nur installierte Pakete zu ermitteln:

user@debian:~$ aptitude search ted | grep ^i

Gleichwohl ist die Liste, die von aptitude search ted ausgegeben wird, noch etwas lang. Wir wissen, dass ted ein Editor ist und können dadurch die Ausgabe einschränken:

user@debian:~$ aptitude search 'ted ~deditor'

Hierbei sucht Debianpackage.png aptitude in den Paketnamen nach "ted" und in der Paketbeschreibung nach dem Ausdruck "editor". Die Suchparameter bestehen aus einer Tilde "~" und einem Buchstaben, hier "d" für "description". Beide Bedingungen müssen für die Ausgabe erfüllt sein. Also werden nur die Pakete ausgegeben, in deren Namen die Zeichenkette "ted" vorkommt und zugleich in ihrer Paketbeschreibung "editor".

Die Hochkommata "'" teilen dem Kommandozeileninterpreter(Shell) mit, dass das, was in sie eingeschlossen wird, durch das Kommando interpretiert werden soll, und nicht durch die Shell. So steht zB. der Hochstrich "|" in der Shell für eine pipe, wie in den obigen Beispielen erläutert, bei vielen Programmen aber für ein oder. Will man zugleich nach den Editoren ted und jed suchen, könnte der Suchbefehl so aussehen:

user@debian:~$ aptitude search '(ted | jed) ~deditor'

Erklärung: Debianpackage.png aptitude durchsucht die Paketnamen daraufhin, ob ein "ted" oder ein "jed" vorkommmt. Sodann wird die Ausgabe dahingehend überprüft, ob in der Beschreibung("~d") "editor" vorkommt. Die Klammern sind hier wichtig, ohne sie würde der Filter "´~deditor`" nicht auf das Suchmuster "ted" bezogen werden.

user@debian:~$ aptitude search 'ted | jed ~deditor'

ergibt eine viel längere Liste, weil alle Pakete ausgegeben werden, deren Namen "ted" enthält, sowie auch die, deren Namen "jed" und zugleich deren Beschreibung "editor" enthält.

Der obige Suchbefehl mit Klammern ist gleichbedeutend zu

user@debian:~$ aptitude search 'ted ~deditor | jed ~deditor'

Debianpackage.png aptitude kann auch debtags interpretierten:

user@debian:~$ aptitude search 'ted ~Guse::editing'

Debianpackage.png aptitude bietet noch viele weitere Möglichkeiten, um auf der Kommandozeile zu suchen. Allerings würde deren Erläuterung den Rahmen dieser Einführung sprengen. Siehe dazu aptitude search patterns.

User Interface von aptitude

Zunächst startet man das User Interface(UI) von Debianpackage.png aptitude durch die Eingabe des Befehls ohne weitere Optionen.

user@debian:~$ aptitude

Nun erscheint ein grafische Oberfläche im Ncurses-Modus, dessen Tastenbefehle zwar etwas gewöhnungsbedürftig sind, welches aber sehr schnell und auch nicht auf eine grafische Oberfläche angewiesen ist.

Mit dem Slash / startet man eine inkrementelle Suche nach einem Paketnamen. Das Ergebnis erscheint in der ersten sichtbaren Zeile. Inkrementell heißt, dass schon während des Tippens die Suche startet und beim weiterem Tippen zum nächsten Ergebnis springt. Falls man sich vertippt hat, kann man die vorigen Buchstaben wieder löschen und die Suche springt zurück zum letzten Ergebnis. Mit der Tabulatortaste TAB wählt man "Ok", sobald das erste interessante Ergebnis gefunden ist. Mit N wiederholt man die letzte Suche. Mit dem Backslash wird eine rückwärtige Suche gestartet.

Sehr praktisch ist auch die Filterfunktion. Will man zB. ein Paket aus KDE finden, so kann man über L ("l" für "look") "kde" eingeben, und die Suche über oder durchsucht nur die Pakete, in deren Namen "kde" vorkommt. Groß-/Kleinschreibung wird ignoriert. Durch ein weiteres L lässt sich der Filter modifizieren oder wieder löschen.

Weitere Informationen sind in der Kurzhilfe erreichbar ? oder über das Handbuch im Hilfe-Menu. In das Menu gelangt man, wie oben angezeigt, über die Tastenkombination STRG + T.

Apt-file

Mit Debianpackage.png apt-file kann man Pakete nach Dateien durchsuchen. Das ist insbesondere dann sehr praktisch wenn sich der Programmname, den man sucht, vom Paketnamen unterscheidet. Debianpackage.png apt-file wird ähnlich bedient wie Debianpackage.png apt.

Zuerst muss als root mittels

root@debian:~# apt-file update

der Index der Pakete und der in ihnen enthaltenen Dateien erstellt oder aufgefrischt werden, falls neue Pakete hinzugekommen sind. Mit

user@debian:~$ apt-file list -F openbox

werden alle Dateien im Paket Debianpackage.png openbox angezeigt. Über die Aktion search werden in allen Paketen nach dem folgenden Suchbegriff durchsucht:

user@debian:~$ apt-file search nm

Bei kurzen Dateien wie nm bekommt man sehr viele Ergebnisse (siehe auch Diskussion 25084). Hier bedient man sich der sogenannten pipes. Wenn man weiß, was für ein Dateityp die gesuchte Datei ist, oder wo sie sich später befindet, kann man die Suchergebnisse sehr gut einschränken:

user@debian:~$ apt-file search nm | grep "/nm" | grep "bin"

"grep /nm" sucht "nm" nur am Dateianfang, "grep "bin"" hilft, wenn man nach einem Programmnamen sucht, denn Programme befinden sich in "/bin", oder einem anderen bin-Verzeichnis.

"apt-file [search|list] -x" erwartet einen regulären Ausdruck.

Für weitere Informationen hilft Man-Page.png apt-file" oder auch Man-Page.png grep".

Siehe auch: http://www.debian.org/doc/manuals/apt-howto/ch-search.de.html

Synaptic

Synaptic ist ein grafisches Frontend für Debianpackage.png apt, dass GTK+ zum Darstellen der Fenster und Steuerelemente benutzt. Die Bedienung von Synaptic ist sehr intuitiv. Die Suchfunktion findet man entweder hinter dem Button Suche im Hauptfenster, im Menü Bearbeiten->Suche... oder durch Drücken von STRG+F. Im Suchdialog gibt man nun unter Suche den/die Begriff(e) ein und wählt dann im Listenfeld aus nach was gesucht werden soll. Wenn man den Namen eines Paketes weiß, so gibt man ihn im Feld Suche ein und stellt die Suche auf Name um. Wenn man nur nach bestimmten Stichwörtern suchen möchte, stellt man die Suche auf Beschreibung und Name. Die Suchergebnisse werden dann im Hauptfenster angezeigt, wo man die entsprechenden Paket dann auch gleich zur Installation oder Deinstallation auswählen kann.

Quellenverzeichnis

Weblinks