Wie Sie wissen, welches Paket für die Installation eines bestimmten Programms verantwortlich ist

615
PowerBoss Nautilus

MEGA-Zusammenfassung: Wie kann ich leichter nach Programmen suchen, wenn kein Zugriff auf den GUI-Internetbrowser besteht? Ich habe kein Telefon bei mir usw. Ich habe nur CLI in Linux.

Nehmen wir an, ich verwende CentOS 7 und suche nach einem Programm, das installiert werden soll. Ich möchte den Befehl "locate" installieren. Dazu schreibe ich yum search locate. Die Shell antwortet mit einer Liste von Paketen.

mlocate.x86_64 : An utility for finding files by name perl-File-ShareDir.noarch : Locate per-dist and per-module shared files which.x86_64 : Displays where a particular program in your path is located 

In diesem Fall weiß ich intuitiv, dass die mlocate.x86_64 wahrscheinlich das ist, wonach ich suche, also installiere ich es, yum install mlocate.x86_64aber ich habe große Mühe, dies mit Programmen zu tun, die bei der Suche nach mir als eine riesige Liste von Paketen ausgegeben werden . Zum Beispiel: Ich installiere minimale Installations-Centos 7. Danach suche ich nach einer dekstop-Umgebung xfce yum search xfce. Die Ausgabe ist enorm und ich weiß nicht, was diese Pakete überhaupt sind. Ich weiß, dass xfce eine "Desktop-Umgebung" ist yum search xfce | grep dekstop. Das gibt mir:

libxfce4util.i686 : Utility library for the Xfce4 desktop environment libxfce4util.x86_64 : Utility library for the Xfce4 desktop environment xfce4-power-manager.x86_64 : Power management for the Xfce desktop environment exo.i686 : Application library for the Xfce desktop environment exo.x86_64 : Application library for the Xfce desktop environment xfdesktop.x86_64 : Desktop manager for the XFce Desktop Environment 

Das einzige, was dem, was ich will, nahe kommt, ist:

xfdesktop.x86_64 : Desktop manager for the XFce Desktop Environment 

Ich bin mir jedoch nicht sicher. Nirgends heißt es "Xfce-Desktop-Umgebung". Es besagt lediglich, dass es sich um einen Desktop-Manager für diese Umgebung handelt. Ich weiß nicht was das bedeutet. Vielleicht zeigt dieses spezielle Beispiel nur, dass ich dumm bin, aber ich habe dieses Problem mit vielen Programmen, die ich installieren möchte.

Ich suche einen SSH-Client:

[root@box-codeanywhere /]# yum search ssh | grep client gsi-openssh-clients.x86_64 : SSH client applications with GSI authentication libguac-client-ssh.i686 : SSH support for guacd libguac-client-ssh.x86_64 : SSH support for guacd ne7ssh.i686 : SSH Library is a Secure Shell client software written in C++ ne7ssh.x86_64 : SSH Library is a Secure Shell client software written in C++ openssh-clients.x86_64 : An open source SSH client applications perl-Net-OpenSSH.noarch : Perl SSH client package implemented on top of OpenSSH perl-Net-SSH-Perl.noarch : SSH (Secure Shell) client dropbear.x86_64 : SSH2 server and client perl-Net-SFTP-Foreign.noarch : SSH File Transfer Protocol client putty.x86_64 : SSH, Telnet and Rlogin client : clients and server 

Woher weiß ich, welches Paket ich installieren muss ... Ich habe dieses Problem sehr oft. Anscheinend muss ich die genaue Namenszeichenfolge eines Pakets kennen, das für die Installation eines bestimmten Programms verantwortlich ist. Meine Frage ist: Wie kann ich leichter nach einem Programm suchen, wenn es keinen Zugriff auf den GUI-Internetbrowser gibt? Ich habe kein Telefon bei mir usw. Einfach nur CLI in Linux.

0
Es gibt mehrere [Befehlszeilen-Browser für Linux] (https://opensource.com/article/16/12/web-browsers-linux-command-line). DavidPostill vor 5 Jahren 0
Entschuldigung, dass Sie nicht genau sind. Ich möchte herausfinden, ob es einen Weg gibt, mein Ziel ohne Browser zu erreichen. PowerBoss Nautilus vor 5 Jahren 0

1 Antwort auf die Frage

1
harrymc

Ihr Werkzeug für die Suche nach einem Programm ist apt-file, das Sie folgendermaßen installieren:

# Install apt-file, which allows you to search # for the package containing a file sudo apt-get install apt-file  # Update the package/file mapping database sudo apt-file update 

Wenn Sie den absoluten Pfad für das Programm kennen, können Sie danach suchen:

$ apt-file search /usr/bin/locate 

Oder suchen Sie nach dem im Pfad angezeigten Programm:

# Search for "locate" at the end of a path apt-file search --regexp '/locate$' 

In der Ausgabe wird nur ein Paket eine ausführbare Datei angeben, die sich in Ihrem Standardpfad PATH befindet. Dies gibt einen Hinweis darauf, dass es sich um die richtige Datei handelt.

Sie können auch mehr über das Paket erfahren, um sicherzustellen, dass es wie das richtige aussieht:

$ apt-cache show <package-name> 

Dies listet alle im Paket enthaltenen Programme auf und kann als Verifizierung dienen.

Yum akzeptiert auch den Befehl whatprovides(oder provides) zur Suche nach installierten oder nicht installierten Binärdateien:

yum whatprovides <path-to-file> 

Der Suchbefehl von zypper kann Dateilisten überprüfen, wenn er mit der Option -f verwendet wird:

zypper se -f /usr/bin/locate 

Pkgfile, als pkgtools für Pacman-basierte Systeme verfügbar, bietet eine ähnliche Suchfunktion wie die anderen oben:

pkgfile -si /usr/bin/mysqldump 

Weitere Informationen finden Sie unter: