existe-t-il une commande pour voir quels packages sont disponibles à partir d'un certain référentiel ppa?
Facile:
grep ^Package: /var/lib/apt/lists/ppa.launchpad.net_*_Packages
Ou plus flexible:
grep-dctrl -sPackage . /var/lib/apt/lists/ppa.launchpad.net_*_Packages
Pour des requêtes plus sophistiquées, utilisez apt-cache policy
et aptitude
comme décrit ici :
aptitude search '~O LP-PPA-gstreamer-developers'
grep Package /var/lib/apt/lists/(repo name)_Packages
Je ne sais pas si c'est ce que vous cherchez:
Comme il est dit, Synaptic Package Manager vous permet de rechercher par "Origine". Ce n'est pas programmatique, mais cela devrait vous donner ce que vous recherchez.
Vieux fil, mais j'ai pensé que ça pourrait aider. Utilisez awk, sort et uniq pour saisir uniquement les packages et supprimer les sommes de contrôle du référentiel de packages.
grep ^Package /var/lib/apt/lists/<repo you are interested in>* | awk '{print $2}' | sort | uniq
Juste pour le plaisir ou si vous ne faites pas confiance aux caches, vous pouvez interroger les packages déclarés d'une source à partir de la source. Les référentiels sont à peu près des sites Web, HTTP ou FTP.
Votre système possède des URL source, que vous pouvez interroger pour des architectures spécifiques et des paramètres binaires/source. Ensuite, vous pouvez interroger les listes de packages de l'architecture spécifique.
Par exemple, j'utilise un excellent lecteur multimédia de jRiver MediaCenter sur Pop! _OS. Pour interroger leur référentiel stable , que j'ai configuré, découvrez d'abord l'URL:
$ cat /etc/apt/sources.list.d/mediacenter26.list
#MC
deb [Arch=i386,AMD64,armhf] http://dist.jriver.com/stable/mediacenter/ jessie main
Saisissez ensuite l'emplacement de la liste de l'architecture qui vous intéresse. Notez que l'URL est formée suivant le modèle <archive_url>/dists/<distro>/Release
:
$ curl -s http://dist.jriver.com/stable/mediacenter/dists/jessie/Release |
> grep "AMD64/Packages$" |
> cut -d" " -f 4 |
> sort -u
main/binary-AMD64/Packages
Enfin, ajoutez le chemin de la liste de l'architecture à la distribution et extrayez les noms des packages à partir des listes de signatures:
$ curl -s http://dist.jriver.com/stable/mediacenter/dists/jessie/main/binary-AMD64/Packages |
> grep "^Package: " |
> cut -d" " -f2 |
> sort -u
mediacenter21
mediacenter22
mediacenter23
mediacenter24
mediacenter25
Naturellement, ajustez ou supprimez les filtres grep
| cut
| sort
à votre goût. Retirer -s
(silencieux) paramètre de curl
pour voir les diagnostics si nécessaire.
... ou utilisez un Synaptic package manager .