Maison > Tutoriel système > Linux > Comment trouver quel package fournit une commande dans Linux

Comment trouver quel package fournit une commande dans Linux

Christopher Nolan
Libérer: 2025-03-19 09:12:11
original
457 Les gens l'ont consulté

Les commandes des systèmes Linux sont généralement fournies par les packages logiciels installés dans le référentiel de distribution. Pour déterminer quel package fournit des commandes spécifiques , vous pouvez utiliser un outil de gestion des packages spécifique aux distributions Linux. Ceci est utile pour installer les commandes manquantes ou le dépannage des dépendances du package.

Table des matières

    1. Identifier les packages qui ont des commandes Linux dans Alpine Linux
    1. Trouvez des sources de package pour les commandes Linux dans Arch Linux, Endeavouros et Manjaro Linux
    1. Trouver des packages pour les commandes Linux dans Debian, Ubuntu et ses dérivés
    1. Trouvez des packages pour des commandes spécifiques dans Fedora, Centos, Rhel et ses dérivés
    1. Identifier les packages logiciels associés aux commandes Linux dans SUSE, OpenSUSE
    1. Trouver des packages derrière les commandes Linux dans Nixos
    1. Source de commande révélatrice dans Gentoo
  • en conclusion

Trouver des packages qui fournissent des commandes spécifiques dans Linux

Pour trouver le package fournit une commande sur diverses distributions Linux, vous utilisez généralement un système de gestion des packages spécifique à votre distribution (comme APK, APT, DNF, Pacman, Zypper, etc.).

Voici comment procéder dans certaines des distributions Linux les plus courantes:

1. Identifier les packages qui possèdent des commandes Linux dans Alpine Linux

Dans Alpine Linux, vous pouvez utiliser l' APK Package Manager pour trouver le package fournit une commande spécifique.

 <code># apk search -e pstree pstree-2.40-r1</code>
Copier après la connexion

Comment trouver quel package fournit une commande dans Linux

Cette commande recherche des packages liés à la commande PSTREE dans le référentiel de package alpine Linux.

Voici une ventilation des commandes:

  • APK est un utilitaire de gestion des packages pour Alpine Linux, similaire à APT pour les distributions basées sur Debian ou YUM pour les distributions basées sur Red Hat.
  • La recherche est une commande pour rechercher des packages dans un référentiel.
  • -e ou --exact est une option qui indique à APK de rechercher le nom du package exact au lieu d'effectuer une recherche de sous-chaîne.
  • PSTREE est le nom du package ou de la commande que vous recherchez.

En exécutant APK Search -e PSTREE, Alpine Linux recherchera son référentiel de package pour tout package qui fournit la commande pStree ou nommé précisément "PSTREE".

Si l'utilitaire PSTREE n'est pas installé sur votre système Linux Alpine, cela peut vous aider à trouver et à installer le package contenant l'utilitaire PSTREE.

2. Trouvez la source de packages pour les commandes Linux dans Arch Linux, Endeavouros et Manjaro Linux

Sur Arch Linux et ses variantes telles que Endeavouros et Manjaro Linux, vous pouvez utiliser la commande Pacman avec l'indicateur -f ou -qo pour rechercher des fichiers (ou des commandes) dans un package.

Par exemple, la commande suivante affichera le package contenant la commande grep:

 <code>$ pacman -F grep</code>
Copier après la connexion

La commande pacman -f grep est utilisée pour trouver des packages qui fournissent des fichiers ou des commandes spécifiques.

Voici les significations de différentes parties de la commande:

  • Pacman: Ceci est le gestionnaire de packages pour Arch Linux.
  • -F (ou - Files): Cette option indique à Pacman de rechercher des packages contenant des fichiers spécifiques.
  • grep: c'est le fichier ou la commande que vous recherchez. Dans ce cas, c'est la commande grep.

Lorsque vous exécutez PACMAN -F GREP, le gestionnaire de package recherche sa base de données de packages et répertorie tous les packages installés contenant des fichiers ou des exécutables nommés Grep.

La sortie de cette commande affichera généralement le nom du package et le chemin complet vers le fichier correspondant à Grep. Par exemple, la sortie peut ressembler à ceci:

 <code>core/grep 3.11-1 usr/bin/grep [...]</code>
Copier après la connexion

Cela indique que la commande grep est fournie par le package grep dans le référentiel de base et que l'exécutable est situé dans / usr / bin / grep.

Si plusieurs packages fournissent des fichiers qui correspondent à Grep, tous seront répertoriés. Inversement, si aucun package ne fournit un fichier nommé Grep, la commande ne renverra aucune sortie.

Vous pouvez également utiliser la commande pacman -qo pour trouver le package possède ou fournit un fichier ou une commande spécifique.

 <code>$ pacman -Qo grep</code>
Copier après la connexion

Voici les significations de différentes parties de la commande:

  • Pacman: Ceci est le gestionnaire de packages pour Arch Linux.
  • -Q: Cette option indique à Pacman d'interroger la base de données locale des packages.
  • -o (ou --owns): Cette option spécifie que vous souhaitez rechercher des packages qui ont des fichiers spécifiques.
  • grep: c'est le fichier ou la commande que vous recherchez. Dans ce cas, c'est la commande grep.

Lorsque vous exécutez PACMAN -QO GREP, Pacman recherchera tous les packages installés sur le système et trouvera des packages contenant ou fournit des fichiers ou des exécutables nommés GREP.

La sortie de cette commande affichera généralement le nom du package qui a un fichier qui correspond à Grep. Par exemple, la sortie peut ressembler à ceci:

 <code>/usr/bin/grep is owned by grep 3.11-1</code>
Copier après la connexion

Cela indique que la commande grep (située dans / usr / bin / grep) est fournie par le package grep.

Si plusieurs packages fournissent des fichiers qui correspondent à Grep, tous seront répertoriés. Si aucun package n'a un fichier nommé Grep, la commande ne renverra aucune sortie.

Cette commande est utile lorsque vous devez savoir quel package un fichier ou une commande spécifique appartient au système Arch Linux. Il peut vous aider à dépanner des fichiers ou des dépendances manquants, ou aider à réinstaller sélectivement les packages qui fournissent des composants spécifiques.

La principale différence entre Pacman -f Grep et Pacman -Qo Grep est que -f recherche la base de données du package pour trouver des packages contenant des fichiers spécifiques, tandis que -QO recherche des fichiers installés sur le système et recherche des packages qui les ont.

3. Trouvez des packages de commande Linux dans Debian, Ubuntu et ses dérivés

Sur les systèmes basés sur Debian comme Ubuntu, vous pouvez utiliser la commande DPKG avec l'option -s pour rechercher des packages qui installent des fichiers spécifiques.

Cependant, si le fichier n'est pas installé, vous devez utiliser la commande apt-file. Tout d'abord, assurez-vous que Apt-File est installé et que sa base de données est mise à jour:

 <code>$ sudo apt update $ sudo apt install apt-file $ sudo apt-file update</code>
Copier après la connexion

Ensuite, utilisez la commande suivante pour rechercher un package qui fournit une commande spécifique (telle que la commande ptree):

 <code>$ apt-file search pstree</code>
Copier après la connexion

Exemple de sortie:

 <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/psstree.x11
psmisc: /usr/share/man/de/man1/psstree.1.gz
psmisc: /usr/share/man/fr/man1/psstree.1.gz
psmisc: /usr/share/man/man1/psstree.1.gz
psmisc: /usr/share/man/man1/psstree.x11.1.gz
psmisc: /usr/share/man/pt_br/man1/psstree.1.gz
psmisc: /usr/share/man/ru/man1/psstree.1.gz
psmisc: /usr/share/man/uk/man1/psstree.1.gz
psmisc: /usr/share/pixmaps/psstree16.xpm
psmisc: /usr/share/pixmaps/pstree32.xpm
python-psutil-doc: /usr/share/doc/python-psutil-doc/examples/psstree.py
Récapitulatif: / usr / lib / récapitulation / core / pStree
systemtap-doc: /usr/share/systemtap/examples/process/psstree.meta
systemtap-doc: /usr/share/systemtap/examples/process/psstree.stp
Tomoyo-tools: / usr / sbin / tomoyo-ptree
tomoyo-tools: /usr/share/man/man8/tomoyo-pstree.8.gz 
Copier après la connexion

Comment trouver quel package fournit une commande dans Linux

Comme vous l'avez remarqué dans la sortie ci-dessus, le package PSMISC fournit la commande PSTREE. Cette approche vous permet d'identifier les packages que vous devez installer ou de vous assurer que PSTREE est disponible sur votre système.

Ou, si vous avez déjà installé PSTREE et que vous souhaitez simplement confirmer que PSTREE provient de ce package, vous pouvez utiliser:

 <code>$ dpkg -S pstree</code>
Copier après la connexion

4. Trouvez des packages pour des commandes spécifiques dans Fedora, Centos, Rhel et ses dérivés

Sur Fedora et d'autres systèmes basés sur RPM tels que Almalinux, CentOS, Rhel et Rocky Linux, vous pouvez utiliser la commande DNF. Sur les systèmes plus anciens, vous devrez peut-être utiliser YUM.

Par exemple, pour rechercher un package qui fournit des fichiers qui correspondent au modèle * / pStree, vous pouvez exécuter:

 <code>$ dnf provides */pstree</code>
Copier après la connexion

Ce qui suit est une ventilation des fonctions de la commande:

  • DNF: Il s'agit de la commande DNF Package Manager.
  • Fournir: cette sous-commande indique à DNF de rechercher des packages qui fournissent des fichiers ou des fonctions spécifiques.
  • * / PSTREE: Il s'agit d'un modèle global qui correspond à n'importe quel fichier nommé PSTREE. * Partial signifie "tout caractère" avant le nom du fichier.

Lorsque vous exécutez cette commande, DNF recherchera sa base de données de packages et répertorie tous les packages disponibles contenant des fichiers nommés PSTREE. Ce fichier est généralement un fichier exécutable pour l'utilitaire PSTREE, qui affiche l'arborescence de processus.

La sortie de cette commande affichera le nom du package et le numéro de version du fichier PSTREE. Par exemple, la sortie peut ressembler à ceci:

 <code>psmisc-23.6-4.fc39.x86_64 : Utilities for managing processes on your system Repo : fedora Matched from: Provide : /usr/bin/pstree</code>
Copier après la connexion

Cela indique que le fichier PSTREE (situé dans / usr / bin / pStree) est principalement fourni par le package PSMISC (version 23.6-4) du référentiel Fedora.

En utilisant la commande DNF fournit, vous pouvez savoir quels packages vous devez installer pour obtenir des fichiers ou des utilitaires spécifiques sur votre système.

5. Identifier les packages logiciels associés aux commandes Linux dans SUSE, OpenSUSE

Sur SUSE et OpenSUSE, vous pouvez utiliser la commande Zypper SE --Provides pour rechercher des packages qui fournissent un fichier spécifié ou un fichier exécutable.

 <code>$ zypper se --provides '/usr/bin/grep'</code>
Copier après la connexion

Voici une ventilation des commandes:

  • Zypper: Il s'agit de l'interface de ligne de commande du gestionnaire de package ZYPP.
  • SE: Il s'agit de l'abréviation de la sous-commande de recherche, qui recherche des packages.
  • - Provides: cette option indique à Zypper de rechercher des packages qui fournissent des fichiers ou des fonctions spécifiques.
  • '/ usr / bin / grep': c'est le fichier ou le chemin exécutable que vous recherchez. Dans ce cas, c'est le chemin vers la commande grep, généralement situé dans / usr / bin / grep.

Lorsque vous exécutez cette commande, Zypper recherchera sa base de données de packages et répertorie tous les packages disponibles qui contiennent ou fournissent le fichier / usr / bin / grep.

La sortie de cette commande affiche les informations de nom, de version et de référentiel du package qui fournit le fichier spécifié. Par exemple, la sortie peut ressembler à ceci:

 <code>Loading repository data... Reading installed packages... S | Name | Summary | Type -- ------------------------- ------------------------------------------ ------- | grep-3.11-3 | Pattern matching utilities | package [...]</code>
Copier après la connexion

Cette sortie indique que le fichier / usr / bin / grep est principalement fourni par le package GREP (version 3.11-3).

6. Trouver des packages derrière les commandes Linux dans Nixos

Dans Nixos Linux, vous pouvez utiliser l'utilitaire Nix-Env pour trouver le package fournit une commande spécifique.

Par exemple, pour trouver le package fournit la commande ptree, vous pouvez exécuter:

 <code>$ nix-env -qaP pstree</code>
Copier après la connexion

Cela recherchera tous les packages installés et imprimera le nom et le chemin du package lorsqu'une correspondance sera trouvée.

Exemple de sortie:

 <code>nixpkgs.pstree pstree-2.39</code>
Copier après la connexion

Indique que la commande ptree est fournie par le package PSTREE-2.39.

Vous pouvez également utiliser la commande NIX Search pour trouver le nom du package qui fournit une commande spécifique. Bien que cette commande soit toujours à l'étape expérimentale, vous pouvez l'utiliser pour rechercher des packages.

La première exécution peut être lente, mais les courses ultérieures utiliseront des résultats mis en cache.

Par exemple, pour trouver un package contenant la commande PSTREE, exécutez:

 <code>$ nix --extra-experimental-features "nix-command flakes" search nixpkgs pstree</code>
Copier après la connexion

Exemple de sortie:

 <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>
Copier après la connexion

7. Révèle la source de la commande dans Gentoo

Nous pouvons utiliser l'outil Equery dans le package App-Portage / Gentoolkit dans Gentoo Linux pour trouver quel package fournit des commandes spécifiques.

Assurez-vous que vous avez installé App-Portage / Gentoolkit:

 <code># emerge --ask app-portage/gentoolkit</code>
Copier après la connexion

Pour rechercher des packages qui fournissent des commandes spécifiques, utilisez l'équation avec l'option appartiennent:

 <code>equery belongs /path/to/command</code>
Copier après la connexion

Remplacez / path / vers / commande par le chemin complet de la commande que vous recherchez.

Si vous ne connaissez pas le chemin d'accès à la commande, vous pouvez utiliser la commande où la trouver.

 <code># whereis pstree</code>
Copier après la connexion

Exemple de sortie:

 <code># whereis pstree pstree:<strong></strong></code><mark> / usr / bin / ptree</mark> /usr/share/man/man1/psstree.1.bz2
Copier après la connexion

Utilisons maintenant la commande pour savoir quel package fournit la commande pStree:

 <code># equery belongs /usr/bin/pstree</code>
Copier après la connexion

Cela publie le nom et la catégorie du package qui fournit la commande grep, par exemple:

<code> * Searching for /usr/bin/pstree ... sys-process/psmisc-23.6 (/usr/bin/pstree)</code>
Copier après la connexion

Indique que la commande pStree est fournie par le package SYS-Apps / PSMISC.

Comment trouver quel package fournit une commande dans Linux

Si vous souhaitez rechercher le nom de commande uniquement sans spécifier le chemin complet, vous pouvez utiliser l'option Hasuse:

 <code># equery hasuse search-term</code>
Copier après la connexion

Cela recherchera des packages avec un indicateur d'utilisation spécifique ou fournira un fichier exécutable spécifique.

en conclusion

Les gestionnaires de packages pour la plupart des principales distributions Linux proposent des options intégrées pour identifier les packages qui fournissent des commandes ou des fichiers spécifiques. Ils vous permettent de rechercher la base de données du package et de trouver le package source pour une commande ou un fichier donné.

Cette fonction aide souvent à dépanner les dépendances manquantes, à réinstaller sélectivement les packages et à vous assurer que votre système a installé les composants nécessaires.

Articles connexes: comment trouver des packages qui fournissent des fichiers spécifiques dans Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal