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.
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 ':'
apt-cache
est utilisé pour interroger le cache du paquet:
apt-cache pkgnames | Trier
Recherche apt-cache chose
Recherche apt-cache - noms uniquement chose
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
.)
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).
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