web-dev-qa-db-fra.com

Comment obtenir une liste des paquets disponibles (c'est-à-dire désinstallés) dans Debian?

Ce que je recherche essentiellement, c’est l’équivalent Debian de:

yum list available

pour me montrer quels paquets sont disponibles (bien que pas encore installés). Je préférerais quelque chose qui peut être exécuté à partir de la console car c'est sur un serveur distant. Merci.

19
freakwincy

grep-dctrl et ses dérivés constituent un excellent moyen d'interroger les fichiers cache apt. (Vous pouvez installer ces outils sur Ubuntu avec Sudo apt-get install dctrl-tools)

Dans le cas de packages disponibles (mais pas nécessairement installés), vous pouvez utiliser grep-available. Par exemple, pour répertorier tous les packages disponibles:

grep-available  -s Package .

Modifier:

aptitude peut vous montrer une liste de paquets non installés simplement en le lançant.

Vous pouvez également obtenir une liste des packages non installés avec aptitude en utilisant:

aptitude -F "%p" search "?not(?installed)"

Notez qu'avec les nouveaux packages multi-arch, vous obtiendrez des packages pour d'autres architectures répertoriées dans ce résultat. Par exemple, je reçois:

aptitude -F "%p" search "?not(?installed)"  | grep "^bash:"
bash:i386

Le paquetage bash est installé, mais il s'agit de la version AMD64, car mon système d'exploitation est installé avec la version AMD64 d'Ubuntu Precise. Si vous ne souhaitez pas voir ces packages pour d'autres architectures, vous pouvez exclure les lignes contenant ::

aptitude -F "%p" search "?not(?installed)"  | grep -v ':'
7
ℝaphink

apt-cache est utilisé pour interroger le cache du paquet:

 apt-cache pkgnames | Trier
 Recherche apt-cache chose
 Recherche apt-cache - noms uniquement chose
16
grawity

Utilisez apt-cache à cette fin:

apt-cache search package

Puisque apt-cache utilise uniquement le cache de package sur le système, assurez-vous que ce cache est à jour:

apt-get update

Vous pouvez également utiliser l'utilitaire apt-file si vous connaissez le nom du fichier que vous souhaitez rechercher. ceci doit cependant être ajouté au système. Par exemple:

apt-file search somefilename

J'ai tendance à utiliser apt-cache de l'une des manières suivantes:

apt-cache search package | sort | grep item

(Cela vous montre les choses qui ont item dans leur résumé ou leurs noms.)

apt-cache search thing | sort | less

(Ceci recherche chose puis le trie pour une visualisation agréable avec less.)

2
Mei

Mon point de vue est de travailler avec les commandes installées par défaut et d'éviter les paquets supplémentaires s'il n'y a pas de raison particulière.

Dans ma Debian avec GNU bash ces commandes simples

apt list
apt list --all-versions

donne une liste de tout (installé et non installé). Je peux alors limiter les résultats avec grep "installé" ou grep -v "installé". Il peut également être associé à un ou plusieurs noms de packages (marques sauvages acceptées).

Le commutateur "-all-versions" fournit en sortie des lignes distinctes pour chaque version de package (stable, en cours de test, unstable, expérimental).

"Liste d'apt" simple donne une seule version (la priorité la plus élevée).

2
George Vasiliou

En répondant strictement à votre question (vous souhaitez afficher une liste des packages non installés), essayez d’utiliser

(édité selon les commentaires ci-dessous)

# apt-get update
# dpkg -l '*' | egrep --invert-match '^i'

Pas sûr de la syntaxe exacte cependant, comme je l'écris sur une fenêtre et aucun moyen de vérifier. Peut-être essayer de changer ce que vous grep

0
PPC