Heim > System-Tutorial > LINUX > So finden Sie, welches Paket einen Befehl unter Linux bietet

So finden Sie, welches Paket einen Befehl unter Linux bietet

Christopher Nolan
Freigeben: 2025-03-19 09:12:11
Original
466 Leute haben es durchsucht

Befehle in Linux -Systemen werden normalerweise von Softwarepaketen bereitgestellt, die im Distributions -Repository installiert sind. Um festzustellen, welches Paket bestimmte Befehle bietet , können Sie ein Paket -Management -Tool verwenden, das für Linux -Verteilungen spezifisch ist. Dies ist nützlich, um fehlende Befehle zu installieren oder Paketabhängigkeiten zu beheben.

Inhaltsverzeichnis

    1. Identifizieren Sie Pakete mit Linux -Befehlen unter Alpine Linux
    1. Finden Sie Paketquellen für Linux -Befehle in Arch Linux, Endavouros und Manjaro Linux
    1. Finden Sie Pakete für Linux -Befehle in Debian, Ubuntu und seinen Derivaten
    1. Finden Sie Pakete für bestimmte Befehle in Fedora, CentOS, Rhel und seinen Derivaten
    1. Identifizieren Sie Softwarepakete, die Linux -Befehlen in SUSE, OpenSuse, zugeordnet sind
    1. Finden Sie Pakete hinter Linux -Befehlen in Nixos
    1. Aufschluss über Befehlsquelle in Gentoo
  • abschließend

Finden Sie Pakete, die bestimmte Befehle unter Linux bereitstellen

Um herauszufinden, welches Paket ein Befehl für verschiedene Linux -Verteilungen bietet, verwenden Sie normalerweise ein Paketverwaltungssystem, das für Ihre Verteilung spezifisch ist (z. B. APK, APT, DNF, Pacman, Zypper usw.).

Hier erfahren Sie, wie Sie dies in einigen der häufigsten Linux -Verteilungen machen:

1. Identifizieren Sie Pakete, die Linux -Befehle unter Alpine Linux besitzen

In Alpine Linux können Sie den APK -Paket -Manager verwenden, um herauszufinden, welches Paket einen bestimmten Befehl bietet.

 <code># apk search -e pstree pstree-2.40-r1</code>
Nach dem Login kopieren

So finden Sie, welches Paket einen Befehl unter Linux bietet

Dieser Befehl sucht nach Paketen, die sich auf den Befehl pstree im Alpine Linux -Paket -Repository beziehen.

Hier ist eine Aufschlüsselung der Befehle:

  • APK ist ein Paketmanagement-Dienstprogramm für Alpine Linux, ähnlich wie bei Debian-basierten Verteilungen oder YUM für Red Hat-basierte Verteilungen.
  • Die Suche ist ein Befehl zur Suche nach Paketen in einem Repository.
  • -e oder -exact ist eine Option, die APK aufweist, nach dem genauen Paketnamen zu suchen, anstatt eine Substring -Suche durchzuführen.
  • Pstree ist der Name des Pakets oder Befehls, nach dem Sie suchen.

Durch das Ausführen von APK Search -e -Pstree sucht Alpine Linux sein Paketrepository nach einem Paket, das den Befehl pstree oder präzise "Pstree" bereitstellt.

Wenn das Pstree -Dienstprogramm nicht auf Ihrem Alpine Linux -System installiert ist, kann dies Ihnen helfen, das Paket zu finden und zu installieren, das das Pstree -Dienstprogramm enthält.

2. Finden Sie die Quelle der Pakete für Linux -Befehle in Arch Linux, Endavouros und Manjaro Linux

Unter Arch Linux und seinen Varianten wie Endeavouros und Manjaro Linux können Sie den Befehl pacman mit dem Flag -f- oder -qo -Flag verwenden, um nach Dateien (oder Befehlen) in einem Paket zu suchen.

Beispielsweise zeigt der folgende Befehl das Paket mit dem GREP -Befehl an:

 <code>$ pacman -F grep</code>
Nach dem Login kopieren

Der Befehl Pacman -f Grep wird verwendet, um Pakete zu finden, die bestimmte Dateien oder Befehle bereitstellen.

Hier sind die Bedeutungen verschiedener Teile des Befehls:

  • Pacman: Dies ist der Paketmanager für Arch Linux.
  • -F (oder -Files): Diese Option fordert Pacman auf, nach Paketen zu suchen, die bestimmte Dateien enthalten.
  • GREP: Dies ist die Datei oder den Befehl, nach denen Sie suchen. In diesem Fall ist es der Grep -Befehl.

Wenn Sie Pacman -f Grep ausführen, sucht der Paketmanager seine Paketdatenbank und listet alle installierten Pakete auf, die Dateien oder ausführbare Grep enthalten.

Die Ausgabe dieses Befehls zeigt normalerweise den Paketnamen und den vollständigen Pfad zum Datei an, der Grep entspricht. Zum Beispiel könnte die Ausgabe so aussehen:

 <code>core/grep 3.11-1 usr/bin/grep [...]</code>
Nach dem Login kopieren

Dies zeigt an, dass der GREP -Befehl das GREP -Paket im Kernrepository bereitstellt und die ausführbare Datei in/usr/bin/grep befindet.

Wenn mehrere Pakete Dateien angeben, die GREP entsprechen, werden alle aufgeführt. Wenn kein Paket eine Datei namens Grep bereitstellt, gibt der Befehl keine Ausgabe zurück.

Sie können auch den Befehl pacman -qo verwenden, um zu finden, welches Paket eine bestimmte Datei oder einen bestimmten Befehl bietet.

 <code>$ pacman -Qo grep</code>
Nach dem Login kopieren

Hier sind die Bedeutungen verschiedener Teile des Befehls:

  • Pacman: Dies ist der Paketmanager für Arch Linux.
  • -Q: Diese Option fordert Pacman auf, die lokale Paketdatenbank abzufragen.
  • -O (oder --OWNS): Diese Option gibt an, dass Sie nach Paketen mit bestimmten Dateien suchen möchten.
  • GREP: Dies ist die Datei oder den Befehl, nach denen Sie suchen. In diesem Fall ist es der Grep -Befehl.

Wenn Sie Pacman -Qo Grep ausführen, sucht Pacman nach allen installierten Paketen auf dem System und sucht Pakete, die Dateien oder ausführbare Grep enthalten oder bereitstellen.

Die Ausgabe dieses Befehls zeigt normalerweise den Paketnamen an, der eine Datei enthält, die Grep entspricht. Zum Beispiel könnte die Ausgabe so aussehen:

 <code>/usr/bin/grep is owned by grep 3.11-1</code>
Nach dem Login kopieren

Dies zeigt an, dass der GREP -Befehl (in/usr/bin/grep) vom Grep -Paket bereitgestellt wird.

Wenn mehrere Pakete Dateien angeben, die GREP entsprechen, werden alle aufgeführt. Wenn kein Paket eine Datei namens Grep hat, gibt der Befehl keine Ausgabe zurück.

Dieser Befehl ist nützlich, wenn Sie herausfinden müssen, welches Paket eine bestimmte Datei oder einen bestimmten Befehl im Arch Linux -System gehört. Es kann Ihnen dabei helfen, fehlende Dateien oder Abhängigkeiten zu beheben oder pakete selektiv zu installieren, die bestimmte Komponenten bereitstellen.

Der Hauptunterschied zwischen Pacman -f Grep und Pacman -Qo Grep besteht darin, dass -F die Paketdatenbank durchsucht, um Pakete zu finden, die bestimmte Dateien enthalten, während -QO nach Dateien sucht, die auf dem System installiert sind und nach Paketen mit ihnen suchen.

3. Finden Sie Linux Command -Pakete in Debian, Ubuntu und seinen Derivaten

Auf Debian -basierten Systemen wie Ubuntu können Sie den Befehl dpkg mit der Option -S verwenden, um nach Paketen zu suchen, die bestimmte Dateien installieren.

Wenn die Datei jedoch nicht installiert ist, müssen Sie den Befehl APT-Datei verwenden. Stellen Sie zunächst sicher, dass APT-Datei installiert ist und die Datenbank aktualisiert wird:

 <code>$ sudo apt update $ sudo apt install apt-file $ sudo apt-file update</code>
Nach dem Login kopieren

Verwenden Sie dann den folgenden Befehl, um nach einem Paket zu suchen, das einen bestimmten Befehl bietet (z. B. den Befehl pstree):

 <code>$ apt-file search pstree</code>
Nach dem Login kopieren

Beispielausgabe:

 <code>criu: /usr/lib/python3/dist-packages/pycriu/images/pstree_pb2.py manpages-ja: /usr/share/man/ja/man1/pstree.1.gz<strong></strong></code><mark> psmisc:/usr/bin/pstree</mark>
psmisc: /usr/bin/pstree.x11
psmisc: /usr/share/man/de/man1/pstree.1.gz
psmisc: /usr/share/man/fr/man1/pstree.1.gz
psmisc: /usr/share/man/man1/pstree.1.gz
psmisc: /usr/share/man/man1/pstree.x11.1.gz
psmisc: /usr/share/man/pt_br/man1/pstree.1.gz
psmisc: /usr/share/man/ru/man1/pstree.1.gz
psmisc: /usr/share/man/uk/man1/pstree.1.gz
psmisc: /usr/share/pixmaps/pstree16.xpm
psmisc: /usr/share/pixmaps/pstree32.xpm
Python-psutil-doc: /usr/share/doc/python-psutil-doc/examples/pstree.py
Recap:/usr/lib/recap/core/pstree
SystemTap-doc: /usr/share/systemtap/examples/process/pstree.meta
Systemtap-doc: /usr/share/systemtap/examples/process/pstree.stp
Tomoyo-Tools:/usr/sbin/tomoyo-pstree
Tomoyo-tools: /usr/share/man/man8/tomoyo-pstree.8.gz 
Nach dem Login kopieren

So finden Sie, welches Paket einen Befehl unter Linux bietet

Wie Sie in der obigen Ausgabe bemerkt haben, bietet das PSMISC -Paket den Befehl pstree. Mit diesem Ansatz können Sie die Pakete identifizieren, die Sie für die Installation benötigen, oder sicherstellen, dass Pstree auf Ihrem System verfügbar ist.

Oder wenn Sie bereits Pstree installiert haben und nur bestätigen möchten, dass Pstree von diesem Paket stammt, können Sie verwenden:

 <code>$ dpkg -S pstree</code>
Nach dem Login kopieren

V.

Auf Fedora und anderen RPM-basierten Systemen wie Almalinux, CentOS, Rhel und Rocky Linux können Sie den DNF-Befehl verwenden. Bei älteren Systemen müssen Sie möglicherweise yum verwenden.

Um beispielsweise nach einem Paket zu suchen, das Dateien bereitstellt, die Muster*/Pstree übereinstimmen, können Sie ausführen:

 <code>$ dnf provides */pstree</code>
Nach dem Login kopieren

Das Folgende ist eine Aufschlüsselung der Funktionen des Befehls:

  • DNF: Dies ist der Befehl DNF Paket Manager.
  • Geben Sie: Dieser Unterbefehl fordert DNF an, nach Paketen zu suchen, die bestimmte Dateien oder Funktionen bereitstellen.
  • */pstree: Dies ist ein Glob -Muster, das jeder Datei namens Pstree entspricht. * Teilweise bedeutet "ein Zeichen" vor dem Dateinamen.

Wenn Sie diesen Befehl ausführen, sucht DNF seine Paketdatenbank und listet alle verfügbaren Pakete auf, die Dateien mit dem Namen Pstree enthalten. Diese Datei ist normalerweise eine ausführbare Datei für das Pstree -Dienstprogramm, in dem der Prozessbaum angezeigt wird.

In der Ausgabe dieses Befehls werden die Paketnamen und die Versionsnummer der Pstree -Datei angezeigt. Zum Beispiel könnte die Ausgabe so aussehen:

 <code>psmisc-23.6-4.fc39.x86_64 : Utilities for managing processes on your system Repo : fedora Matched from: Provide : /usr/bin/pstree</code>
Nach dem Login kopieren

Dies zeigt an, dass die Pstree-Datei (in/usr/bin/pstree) hauptsächlich vom PSMISC-Paket (Version 23.6-4) aus dem Fedora-Repository bereitgestellt wird.

Durch die Verwendung des Befehls von DNF bietet Sie heraus, welche Pakete Sie installieren müssen, um bestimmte Dateien oder Dienstprogramme für Ihr System abzurufen.

5. Identifizieren Sie Softwarepakete, die Linux -Befehlen in SUSE, OpenSuse, zugeordnet sind

Bei SUSE und OpenSuse können Sie den Befehl Zypper SE -vorstellen, um nach Paketen zu suchen, die eine angegebene Datei oder ausführbare Datei bereitstellen.

 <code>$ zypper se --provides '/usr/bin/grep'</code>
Nach dem Login kopieren

Hier ist eine Aufschlüsselung der Befehle:

  • Zypper: Dies ist die Befehlszeilenschnittstelle des ZYPP -Paketmanagers.
  • SE: Dies ist die Abkürzung des Such -Unterbefehls, der nach Paketen sucht.
  • -Vorbereitet: Diese Option fordert Zypper an, nach Paketen zu suchen, die bestimmte Dateien oder Funktionen bereitstellen.
  • '/usr/bin/grep': Dies ist die Datei oder der ausführbare Pfad, nach dem Sie suchen. In diesem Fall ist es der Weg zum GREP -Befehl, der sich normalerweise in/usr/bin/grep befindet.

Wenn Sie diesen Befehl ausführen, sucht Zypper seine Paketdatenbank und listet alle verfügbaren Pakete auf, die die Datei/USR/bin/grep enthalten oder bereitstellen.

Die Ausgabe dieses Befehls zeigt die Namen, Versions- und Repository -Informationen des Pakets an, das die angegebene Datei bereitstellt. Zum Beispiel könnte die Ausgabe so aussehen:

 <code>Loading repository data... Reading installed packages... S | Name | Summary | Type -- ------------------------- ------------------------------------------ ------- | grep-3.11-3 | Pattern matching utilities | package [...]</code>
Nach dem Login kopieren

Diese Ausgabe zeigt an, dass die Datei/usr/bin/grep hauptsächlich vom GREP-Paket (Version 3.11-3) bereitgestellt wird.

6. Finden Sie Pakete hinter Linux -Befehlen in Nixos

In Nixos Linux können Sie das NIX-ENV-Dienstprogramm verwenden, um herauszufinden, welches Paket einen bestimmten Befehl bietet.

Um beispielsweise herauszufinden, welches Paket den Befehl pstree bietet, können Sie ausführen:

 <code>$ nix-env -qaP pstree</code>
Nach dem Login kopieren

Dadurch wird nach allen installierten Paketen gesucht und den Paketnamen und Pfad ausdrucken, wenn eine Übereinstimmung gefunden wird.

Beispielausgabe:

 <code>nixpkgs.pstree pstree-2.39</code>
Nach dem Login kopieren

Zeigt an, dass der Befehl pstree vom pstree-2.39-Paket bereitgestellt wird.

Sie können auch den Nix -Suchbefehl verwenden, um den Namen des Pakets zu finden, der einen bestimmten Befehl bietet. Obwohl sich dieser Befehl noch in der experimentellen Phase befindet, können Sie ihn verwenden, um nach Paketen zu suchen.

Der erste Lauf kann langsam sein, aber nachfolgende Läufe werden zwischengespeicherte Ergebnisse verwendet.

Um beispielsweise ein Paket zu finden, das den Befehl pstree enthält, rennen Sie:

 <code>$ nix --extra-experimental-features "nix-command flakes" search nixpkgs pstree</code>
Nach dem Login kopieren

Beispielausgabe:

 <code>* legacyPackages.x86_64-linux.psmisc (23.6) A set of small useful utilities that use the proc filesystem (such as fuser, killall and pstree) * legacyPackages.x86_64-linux.pstree (2.39) Show the set of running processes as a tree</code>
Nach dem Login kopieren

7. Enthüllen Sie die Quelle des Befehls in Gentoo

Wir können das Equery-Tool im App-Portage/Gentoolkit-Paket in Gentoo Linux verwenden, um herauszufinden, welches Paket bestimmte Befehle bietet.

Stellen Sie sicher, dass Sie App-Portage/Gentoolkit installiert haben:

 <code># emerge --ask app-portage/gentoolkit</code>
Nach dem Login kopieren

Um nach Paketen zu suchen, die bestimmte Befehle liefern, verwenden Sie die Gleichung mit der Option von Hingehörnern:

 <code>equery belongs /path/to/command</code>
Nach dem Login kopieren

Ersetzen Sie/Pfad/an/Befehl mit dem vollständigen Pfad zum Befehl, nach dem Sie suchen.

Wenn Sie den Pfad zum Befehl nicht kennen, können Sie den Befehl "WO ID" verwenden, um ihn zu finden.

 <code># whereis pstree</code>
Nach dem Login kopieren

Beispielausgabe:

 <code># whereis pstree pstree:<strong></strong></code><mark> /usr/bin/pstree</mark> /usr/share/man/man1/pstree.1.bz2
Nach dem Login kopieren

Verwenden wir nun den Befehl, um herauszufinden, welches Paket den Befehl pstree bietet:

 <code># equery belongs /usr/bin/pstree</code>
Nach dem Login kopieren

Dies gibt den Paketnamen und die Kategorie aus, die den Befehl Grep liefert, zum Beispiel:

<code> * Searching for /usr/bin/pstree ... sys-process/psmisc-23.6 (/usr/bin/pstree)</code>
Nach dem Login kopieren

Gibt an, dass der Befehl pstree vom sys-apps/psmisc-Paket bereitgestellt wird.

So finden Sie, welches Paket einen Befehl unter Linux bietet

Wenn Sie nur nach dem Befehlsnamen suchen möchten, ohne den vollständigen Pfad anzugeben, können Sie die Option von HASUS verwenden:

 <code># equery hasuse search-term</code>
Nach dem Login kopieren

Dadurch wird nach Paketen mit einem bestimmten Gebrauchs -Flag gesucht oder eine bestimmte ausführbare Datei bereitgestellt.

abschließend

Paketmanager für die meisten wichtigen Linux-Verteilungen bieten integrierte Optionen, um Pakete zu identifizieren, die bestimmte Befehle oder Dateien bereitstellen. Sie ermöglichen es Ihnen, nach der Paketdatenbank zu suchen und das Quellpaket für einen bestimmten Befehl oder eine bestimmte Datei zu finden.

Diese Funktion hilft häufig dabei, fehlende Abhängigkeiten zu beheben, Pakete selektiv neu zu installieren und sicherzustellen, dass über die erforderlichen Komponenten installiert ist.

Verwandte Artikel: So finden Sie Pakete, die bestimmte Dateien unter Linux bereitstellen

Das obige ist der detaillierte Inhalt vonSo finden Sie, welches Paket einen Befehl unter Linux bietet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage