Wenn ich an meinem Ubuntu 8.04-System arbeite, fehlt mir häufig ein Programm, eine Manpage oder eine andere Datei. Gibt es eine einfache Möglichkeit, herauszufinden, welches Paket eine bestimmte Datei enthält (ob diese bereits installiert ist oder nicht)? Vielleicht eine obskure Option für apt oder dpkg?
300
dpkg -S /path/to/file
wenn Sie das Paket installiert haben.Antworten:
oder
Zum Installieren
apt-file
verwenden Sie:Sie müssen die Datenbank aktualisieren, bevor Sie sie verwenden können:
quelle
dpkg -S
funktioniert wie unten beschrieben.(Debian / Ubuntu) Entdecken Sie, zu welchem Paket eine Datei gehört :
quelle
apt-file
findet dieses Paket auch eine Datei, wenn es manuell überdpkg -i
! Installiert wurde.dpkg -S "$(readlink -fn "$(which rename)")"
.dpkg-query: no path found matching pattern /usr/bin/java
, obwohl es eine Datei an ist/usr/bin/java
packages.debian.org benutze ich immer, um diese Aufgabe zu erledigen. Es ist apt-file überlegen, da es auch Teile von Dateinamen finden kann. Es ist auch mit der Hauptpaketliste verknüpft, in der Beschreibungen, Fehler usw. aufgeführt sind. Alles in allem eine gute Website. Von der Kommandozeile aus nicht so nützlich, aber dennoch recht nützlich.
Aus Gründen der Geschwindigkeit habe ich die URL mit einem Lesezeichen versehen:
in Firefox und fügte hinzu, "debfind" als ein Schlüsselwort (klicken Sie auf "mehr" in der Lesezeichen-Manager mit ihm hilighted), so kann ich nur "debfind" eingeben und es wird funktionieren. Sie können "suite" für andere Versionen der Distribution von "instabil" in "stabil" ändern oder testen, wenn Sie möchten.
quelle
Sie können auch dlocate verwenden. Von der Manpage;
quelle
dlocate
ist auch meine lieblingsmethode, sehr zuverlässig.dlocate
findet ein kürzlich installiertes Paket nur, wenn Sie essudo update-dlocatedb
zuerst ausführen . Der Befehl wird automatisch täglich in /etc/cron.daily/dlocateIch fand Wajig ...
z.B.
Wajig ist ein praktisches Kommandozeilen- oder Konsolentool, das all die apt-get, dpkg-Güte enthält, die Sie nie lernen wollten. .
So installieren Sie Wajig:
Dieser Befehl 'whichpackage' selbst hängt von apt-file ab
Sie müssen die Datenbank noch aktualisieren, bevor Sie sie verwenden können: - Ich weiß noch nicht, ob wajig update whixh bei einem apt-get-Update auch den Dateicache aktualisiert, aber ich gehe davon aus, dass dies möglich ist.
(und Super Cow, Easter Egss?!)
quelle
Ähnlich wie Jamuraas Antwort für Debian können Sie auch für Ubuntu http://packages.ubuntu.com/ aufrufen . Sie müssen ein wenig nach unten scrollen, um das Suchfeld "Inhalt von Paketen durchsuchen " zu finden, in dem Sie den Pfad einer Datei eingeben können.
quelle
Versuchen Sie, mithilfe von http://www.kodkast.com/applications/find-which-package-file-belongs-to nach Dateien zu suchen
Dies ist eine Anwendung, um nach Dateien zu suchen, die in verschiedenen RPM / Linux-Paketen enthalten sind. Sie ist sehr nützlich, wenn Sie nicht einmal die RPM auf Ihrem Computer installiert haben.
quelle
Das Paket command-not-found gibt Ihnen Hinweise auf mögliche Befehle und den Namen des Debian-Pakets. Es funktioniert, indem Sie den Befehl in die Bash-Shell eingeben und sich die Ausgabe ansehen.
Zum Beispiel, wenn der Befehlsname bekannt ist:
und wenn der Befehl nicht bekannt ist, werden einige Vermutungen angewendet:
quelle
-h
oder--help
am Ende würde ein bisschen helfen. Wenn das Hinzufügen-h
am Ende dies sicher genug machen würde, würde ich empfehlen, aber trotzdem ist es kein guter Weg, um das zu erreichen, was das OP verlangt.