grep-dctrl
et ses dérivés fournissent un excellent moyen d'interroger les fichiers de cache apt. (Vous pouvez installer ces outils sur Ubuntu avec sudo apt-get install dctrl-tools)
Dans le cas des 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 .
Éditer:
aptitude
peut vous montrer une liste des packages non installés en la lançant simplement.
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, j'obtiens:
aptitude -F "%p" search "?not(?installed)" | grep "^bash:"
bash:i386
J'ai le bash
package installé, mais c'est 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 package:la source
code
"dpkg --get-selections | grep '[[: space:]] install $' | awk '{print $ 1}' > installed.txt "et a trouvé des doublons. Les deux autres commandes que vous avez fournies ne fonctionneront pas car je ne recherche pas un package particulier mais plutôt tout package qui n'est pas actuellement installé.Utilisez
apt-cache
à cet effet:Puisque
apt-cache
n'utilise que le cache de packages sur le système, assurez-vous que ce cache est à jour:Vous pouvez également utiliser l'utilitaire
apt-file
si vous connaissez le nom d'un fichier que vous souhaitez rechercher; cela doit cependant être ajouté au système. Par exemple:J'ai tendance à utiliser l'
apt-cache
une des méthodes suivantes:(Cela vous montre des choses qui ont un élément dans leur résumé ou leurs noms.)
(Cette recherche de chose puis la trie pour une visualisation agréable avec
less
.)la source
Mon point de vue est de travailler avec des commandes installées par défaut, et d'éviter les packages supplémentaires s'il n'y a pas de raison particulière.
Dans mon Debian avec GNU bash ces commandes simples
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 combiné avec un ou plusieurs noms de package (marques génériques acceptées).
Le commutateur "-all-versions" fournit en sortie des lignes distinctes pour chaque version de package (stable, testing, unstable, experimental).
Une simple "liste d'apt" donne une seule version (la plus haute priorité).
la source
En prenant strictement votre question (vous voulez afficher une liste des packages non installés), essayez d'utiliser
(édité selon les commentaires ci-dessous)
Je ne suis pas sûr de la syntaxe exacte, car j'écris ceci sur une boîte Windows et aucun moyen de vérifier. Essayez peut-être de changer ce que vous attendez
la source
'^ii'
plutôt l' utiliser'[ii]'
), vous manquez des packages installés mais non configurés par exemple (commeiF
ouiH
par exemple).