web-dev-qa-db-fra.com

Comment puis-je trouver le paquet contenant un programme de Debian?

J'utilise un système de Debian minimal qui n'a pas le programme top installé. J'ai essayé d'installer haut avec Sudo apt-get install top, mais top n'est pas un nom de paquet.

Il semble que top fait partie d'un autre paquet. Comment puis-je savoir quel paquet je devrais installer pour l'obtenir? Plus généralement, comment puis-je trouver le paquet contenant un programme?

19
Liao Zhuodi

La réponse directe est procps. Voici comment vous pouvez le trouver pour vous-même:

# 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

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

La sortie de la commande finale devrait ressembler à quelque chose comme ceci:

crossfire-maps: /usr/share/games/crossfire/maps/santo_dominion/magara/well/top
crossfire-maps-small: /usr/share/games/crossfire/maps/santo_dominion/magara/well/top
liece: /usr/share/emacs/site-LISP/liece/styles/top
lxpanel: /usr/share/lxpanel/profile/two_panels/panels/top
procps: /usr/bin/top
quilt: /usr/share/quilt/top

Vous pouvez voir que seul procps fournit un exécutable dans votre chemin standard, ce qui donne un indice qu'il pourrait être le bon. Vous pouvez également en savoir plus sur procps pour vous assurer que cela semble être le bon:

$ apt-cache show procps
Package: procps
Version: 1:3.3.3-3

[...]

Description-en: /proc file system utilities
 This package provides command line and full screen utilities for browsing
 procfs, a "pseudo" file system dynamically generated by the kernel to
 provide information about the status of entries in its process table
 (such as whether the process is running, stopped, or a "zombie").
 .
 It contains free, kill, pkill, pgrep, pmap, ps, pwdx, skill, slabtop,
 snice, sysctl, tload, top, uptime, vmstat, w, and watch.
35
Chris Down

Vous pouvez rechercher des choses avec apt-cache search ..., bien que ce soit juste une correspondance sur les noms et des descriptions de paquets, ce qui ne suffit parfois pas. Dans ce cas en utilisant, par exemple,

apt-file search top

pourrait fonctionner - il trouve tous les packages qui ont un fichier avec top dans leur nom, mais pour cela, c'est un peu zany (il comprend setopt, .desktop, etc). Pour affiner cela selon la réponse de Chris:

apt-file search --regexp 'bin/top$'

Cela trouvera des packages qui ont un chemin de fichier finissant ('$' est ( REG ULAR exp Ression Syntaxe signifiant la fin) dans bin/top; Les exécutables sont toujours dans un bin ou sbin répertoire. Quand vous trouvez ce que vous recherchez:

apt-get install whatever

Dans ce cas whatever est apparemment procps.

3
goldilocks

apt-File Recherche Tous les repos sont répertoriés dans /etc/apt/sources.list et bases de données associées, tant que Repo servent un contenu -% Architecture% .gz.

si vous pensez que le fichier d'intérêt est un nom exécutable "haut", utilisez cette regex. '^/(USR /)? S? Bin/Top $'

pour le repo de Debian officiel, il existe une interface Web https://packages.debian.org/file:top , il existe d'autres options de recherche.

3