GNU/Linux >> Tutoriels Linux >  >> Debian

Comment lister tous les packages d'un référentiel sur Ubuntu, Debian ou Linux Mint [APT]

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).


Debian
  1. Comment lister tous les fichiers installés par le paquet DEB sur Ubuntu/Debian Linux

  2. Comment répertorier tous les packages ou des packages spécifiques installés sur le système Debian/Ubuntu Linux

  3. Comment installer Pip sur Ubuntu 18.04, Debian 9 et Linux Mint 19

  4. Comment installer VLC 2.0.6 sur Ubuntu 12.10, Linux Mint 14

  5. Comment compiler et installer wxWidgets sur Ubuntu/Debian/Linux Mint

Comment configurer sources.list sur Debian 9

Comment installer Visual Studio Code sur Ubuntu 18.04 / Linux Mint 19 et Debian 9

Comment ajouter un référentiel à Debian

Comment télécharger des packages avec des dépendances localement dans Ubuntu, Debian, Linux Mint, Pop OS

Comment répertorier tous les packages pouvant être mis à niveau dans Ubuntu, Debian et Mint

Téléchargez les packages Spotify Deb à installer sur Ubuntu, Debian et Linux Mint