Comment rechercher les packages disponibles à partir de la ligne de commande?

584

J'ai installé avec succès certains paquets à l'aide de la ligne de commande 'sudo apt-get install ...' quand j'ai su à l'avance que ces paquets sont disponibles. Mais comment puis-je rechercher ou obtenir une liste de ce qui est disponible dans les référentiels?

Mark Thomas
la source

Réponses:

729

Pour rechercher un paquet particulier par nom ou description:

A partir de la ligne de commande, utilisez:

apt-cache search keyword

où le mot clé de recherche peut être tout ou partie d'un nom de package ou de tout mot utilisé dans sa description.

Par exemple, apt-cache search proxyinclut ces deux packages:

Proxy minuscule - Un proxy HTTP léger, ne mettant pas en cache, anonymisant éventuellement
tircd - proxy ircd à l'API Twitter

Remarque: la liste peut être longue, vous pouvez lessdonc diriger la sortie vers elle pour la faire défiler une ligne ou un écran à la fois, c.-à-d apt-cache search something | less.

Pour obtenir une liste de TOUS les paquets

apt-cache search .

Utilisez Synaptic si vous avez activé le transfert X ou si vous êtes sur un bureau.

Synaptic est souvent un moyen plus pratique de le faire, mais nécessite au moins un serveur X (sauf si vous utilisez un environnement de bureau). Installez avec sudo apt-get install synapticsi nécessaire.

  • Synaptic sur le serveur ssh'd via le transfert X:

    entrez la description de l'image ici

  • Synaptic s'exécutant localement sur Ubuntu Desktop:

    entrez la description de l'image ici

ish
la source
@ MarkThomas Essayez apt-cache policyaussi, il vous donne plus d'informations sur les sources.
Yclian
comme apt-get, vous pouvez simplement courir apt-cachesans aucun argument et obtenir les informations courtes help / cheatsheet. Vous pouvez toujours lire les pages de manuel dessus pour une aide plus longue. (ie man apt-cache)
pd12
En supposant que je sois assez stupide pour vouloir vivre les résultats apt install, existe-t-il un moyen intelligent de le faire? La sortie de cette fonction est compliquée. On pourrait utiliser le premier mot de chaque ligne, mais il devrait y avoir un moyen plus facile.
Deleet
vous pouvez également rechercher en ligne. packages.ubuntu.com
activedecay
Si vous avez seulement besoin des noms de tous les paquets disponibles, faites-le simplementapt-cache pkgnames
flaz14
42

Utiliser aptitude, apt-cacheet apttout formate la sortie différemment. (Aucun de ceux-ci ne nécessite l'utilisation de sudolors de la recherche d'un paquet.) Je préfère utiliser aptpour sa lisibilité. Il met en évidence le nom du paquet et met un espace entre les différents paquets. Il a également [installed]énuméré à côté de chaque paquet qui est déjà installé. Usage:

apt search package-name
jbrock
la source
2
si je lance dire '$ apt search firefox', il produira des tonnes de résultats en sortie :(
user3804598 le
Vous pouvez affiner votre recherche avec quelque chose comme:apt search firefox | grep -A 3 firefox
jbrock
1
Une autre option pour affiner la recherche: apt search ^firefoxouapt search ^firefox$
jbrock
25

Vous pouvez également utiliser aptitude à partir de la ligne de commande:

aptitude search xxxxxx
lxx
la source
2
La chose gênante à propos de celui-ci est que Ubuntu ne semble pas vous le donner par défaut. Jusqu'à ce que je sache apt-cache, je le faisais toujours apt-get install aptitudeà chaque nouvelle boîte installée. Cependant, comme je ne peux pas trouver le moyen de me apt-cachemontrer s'il est installé, je suppose que je devrai continuer à le faire un peu :-)
2
@paxdiablo Créez simplement un script shell à deux lignes (une seconde ligne similaire à celle-ci dpkg --list | grep "$1") ou ajoutez une fonction shell à cet effet dans votre .bash_login... :-)
FooF
5

L'outil de ligne de commande apt-cache est utilisé pour rechercher le cache de progiciels apt. En termes simples, cet outil est utilisé pour rechercher des packages logiciels, pour collecter des informations sur les packages, ainsi que pour rechercher les packages disponibles prêts à être installés sur des systèmes Debian ou Ubuntu.

Pour connaître le nom du paquet et sa description avant l'installation, utilisez l'indicateur 'search'. Utiliser «search» avec apt-cache affichera une liste des paquets correspondants avec une description courte. Supposons que vous souhaitiez connaître la description du paquet 'vsftpd', alors command serait.

Syntaxe:

apt-cache search SearchTerm
$ apt-cache search vsftpd

La sortie possible serait:

vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool

Pour trouver et répertorier tous les paquets commençant par 'vsftpd', vous pouvez utiliser la commande suivante.

$ apt-cache pkgnames vsftpd

Vous pouvez également vouloir exécuter les résultats à travers un plus, voire un grep. Par exemple:

apt-cache search firefox | grep plugin
Échange
la source
3

En supposant que vous souhaitiez faire tout cela à partir du terminal, utilisez les éléments suivants:

Tout d'abord, je vous recommande de mettre à jour les fichiers d'index des paquets afin que la liste de tous les fichiers du référentiel que vous êtes sur le point de créer soit à jour.

sudo apt-get update

utilisez ensuite la fonction " search regex" dans apt-cachelaquelle "regex" représente l'expression régulière et est le modèle utilisé pour la recherche. Pour plus d'informations sur les modèles de recherche, vous pouvez rechercher manuel regex (7) à la commande man 7 regexou en anglais . Une variable d' expression régulière égale à . suffira.

apt-cache search .

Ce qui précède vous donnera TOUS les résultats, mais ce n'est pas dans un ordre qui soit particulièrement utile pour la navigation.

Donc, finalement, nous pouvons trier par ordre de dictionnaire en utilisant sort -det afficher uniquement une page à la fois en utilisant less.

apt-cache search . |sort -d |less
frère bilo
la source