Cet article explique comment répertorier tous les packages disponibles (installés et disponibles pour l'installation) dans un référentiel Ubuntu, Linux Mint ou Debian, qu'il s'agisse d'un référentiel officiel ou d'une source tierce comme un PPA, etc.
Vous trouverez ci-dessous 2 façons de répertorier les packages à partir d'un référentiel :via une interface graphique ou via la ligne de commande.
De la même série :
- Comment empêcher la mise à jour d'un paquet dans Ubuntu, Debian ou Linux Mint [APT]
- Comment trouver les packages disponibles à partir de la ligne de commande dans Debian, Ubuntu ou Linux Mint [APT]
Répertorier tous les packages d'un référentiel Debian, Ubuntu ou Linux Mint avec une interface graphique
Si vous souhaitez répertorier tous les packages d'un référentiel sur votre bureau, vous pouvez utiliser le gestionnaire de packages Synaptic.
Synaptic est une application graphique de gestion de paquets pour APT (APT est le principal gestionnaire de paquets en ligne de commande pour Debian et ses dérivés).
Si vous n'avez pas installé Synaptic, vous pouvez l'installer sur Debian, Ubuntu et toute distribution Linux basée sur Debian ou Ubuntu, y compris les systèmes d'exploitation élémentaires, Linux Mint, etc., en utilisant cette commande :
sudo apt install synaptic
Pour répertorier tous les packages d'un référentiel de logiciels spécifique avec Synaptic, démarrez l'application et cliquez sur Origin
en bas à gauche de la fenêtre. Ensuite, sélectionnez le référentiel pour lequel vous souhaitez répertorier tous les packages disponibles (à la fois installés et disponibles pour l'installation) dans la liste affichée sur le côté gauche du gestionnaire de paquets Synaptic.
Par exemple, voici Synaptic, qui affiche tous les packages disponibles dans le référentiel Google et répertorie Google Chrome Stable, Beta et Unstable, ainsi que Google Earth Pro et EC :
Comme vous pouvez le voir, toutes les sources de logiciels sont répertoriées ici, y compris les dépôts officiels.
Les référentiels Launchpad PPA sont également pris en charge. Leur nom commence par LP-PPA, suivi du nom réel du PPA. Synaptic répertorie 2 entrées pour chaque PPA - assurez-vous de sélectionner l'entrée PPA qui se termine par /ubuntu-codename
, par exemple /bionic
, /cosmic
, etc. L'entrée avec la terminaison /now
ne répertorie pas tous les packages disponibles dans le PPA.
Ceci est une capture d'écran montrant tous les packages disponibles dans le PPA des pilotes graphiques Ubuntu (pour Ubuntu 18.10 Cosmic Cuttlefish, car c'est ce que j'utilise), y compris ceux installés sur mon système :
Je ne sais pas pourquoi, mais certains packages sont répertoriés plusieurs fois pour les sources PPA (et uniquement pour les référentiels PPA). C'est juste une chose d'affichage et cela ne casse aucune fonctionnalité.
Répertorier tous les packages d'un référentiel dans Ubuntu, Debian ou Linux Mint à partir de la ligne de commande
Répertorier tous les packages d'un référentiel à partir de la ligne de commande dans Ubuntu, Debian ou Linux Mint est un peu délicat, mais reste assez facile.
Il existe plusieurs façons de le faire via la commande, mais je n'en énumérerai qu'une. La commande pour lister tous les packages disponibles dans repository-name
est le suivant :
grep ^Package /var/lib/apt/lists/repository-name*_Packages | awk '{print $2}' | sort -u
Je vais vous expliquer comment obtenir le nom du référentiel à partir de. découvre /var/list/apt/lists
et comment l'utiliser. Avant cela, je vais vous expliquer ce que fait cette commande :
-
grep ^Package ...
recherche les lignes commençant par^Package
en faisant/var/lib/apt/lists/*_Packages
fichier -
awk '{print $2}'
affiche la deuxième colonne pour chaque ligne (cela filtrera tout sauf le nom du package) -
sort -u
trie les lignes et ne produit que des lignes uniques (supprime les doublons)
La première chose que vous devez faire est de trouver le nom du référentiel *_Packages
Fichier de /var/lib/apt/lists/
. Vous pouvez lister tous les référentiels _Packages
Fichiers disponibles en /var/lib/apt/lists/
avec un simple ls
:
ls /var/lib/apt/lists/*_Packages
Étant donné que les résultats peuvent être très longs, vous pouvez exécuter la sortie de la commande via more
pour une lecture plus facile :
ls /var/lib/apt/lists/*_Packages | more
Si vous connaissez une partie du nom du dépôt (j'utilise KEYWORD
dans la commande ci-dessous comme nom), vous pouvez utiliser le ls
Résultats avec grep
, comme ceci :
ls /var/lib/apt/lists/*_Packages | grep KEYWORD
Supposons que vous souhaitiez répertorier tous les packages du référentiel Tor officiel et que vous sachiez que le nom du référentiel doit inclure tor
. Dans ce cas, vous utiliseriez cette commande pour trouver _Packages
Nom de fichier de /var/lib/apt/lists/
ls /var/lib/apt/lists/*_Packages | grep tor
Avec des requêtes rapides, vous pouvez voir des référentiels non liés, mais il est toujours plus facile de voir ce que vous recherchez. grep
que de lister tous les dépôts _Packages
Fichiers.
Maintenant que vous savez _Packages
filename, vous pouvez répertorier tous les packages disponibles dans ce référentiel en exécutant cette commande :
grep ^Package /var/lib/apt/lists/some-repository-amd64_Packages | awk '{print $2}' | sort -u
Utilisez le fichier avec l'architecture pour laquelle vous souhaitez répertorier tous les packages disponibles dans ce référentiel. L'exemple ci-dessus est pour 64 bits (amd64
), mais vous pouvez l'utiliser i386
pour 32 bits etc.
Vous n'avez pas besoin de tout le dépôt _Packages
Nom de fichier. Revenons à mon exemple de référentiel Tor, le _Packages
Le nom de fichier pour Tor est deb.torproject.org_torproject.org_dists_cosmic_main_binary-amd64_Packages
. Dans ce cas, vous pouvez utiliser deb.torproject
suivi de *_Packages
pour simplifier les choses comme ceci :
grep ^Package /var/lib/apt/lists/deb.torproject*_Packages | awk '{print $2}' | sort -u
Ce qui génère ce qui suit :
deb.torproject.org-keyring
tor
tor-geoipdb
Un autre exemple. Supposons que vous vouliez tous les packages disponibles dans Linux Uprising Oracle Java 11 PPA (ppa:linuxuprising/java
). Vous pouvez les lister en utilisant :
grep ^Package /var/lib/apt/lists/ppa.launchpad.net_linuxuprising_java*_Packages | awk '{print $2}' | sort -u
Qui affiche ceci :
oracle-java11-installer
oracle-java11-set-default
Pour l'utiliser avec d'autres référentiels PPA, remplacez linuxuprising
avec la première partie du nom du PPA et java
avec la deuxième partie du nom du PPA, et la commande listera tous les packages de ce PPA (installés et non installés).
Vous pouvez également répertorier tous les packages disponibles dans tous les référentiels PPA que vous avez ajoutés à votre système en utilisant :
grep ^Package /var/lib/apt/lists/ppa.launchpad.net*_Packages | awk '{print $2}' | sort -u
Pour un accès facile, vous pouvez mettre cette commande en signet à l'aide du gestionnaire de signets pour les commandes de marqueur (alors qu'il est principalement utilisé pour la recherche, HSTR peut également utiliser des signets pour les commandes).