web-dev-qa-db-fra.com

liste tous les référentiels ppa ajoutés à mon système

Comment puis-je lister tous les référentiels ppa ajoutés à mon système et les enregistrer dans un fichier .txt, de sorte que je ne veuille pas passer mon temps à chercher des ppa pour les nouvelles installations et que je puisse simplement sélectionner une ligne ppa dans mon fichier .txt et ajouter à la commande Sudo add-apt-repository? Aussi, y a-t-il d'autres moyens de faire cela dans lesquels je ne veux pas donner les clés gpg manuellement?

21
supremum

Depuis Comment puis-je obtenir une liste de tous les référentiels et PPA de la ligne de commande dans un script d'installation?

Une partie de la réponse semble avoir ce que vous cherchez:

#! /bin/sh 
# listppa Script to get all the PPA installed on a system ready to share for reininstall
for APT in `find /etc/apt/ -name \*.list`; do
    grep -o "^deb http://ppa.launchpad.net/[a-z0-9\-]\+/[a-z0-9\-]\+" $APT | while read ENTRY ; do
        USER=`echo $ENTRY | cut -d/ -f4`
        PPA=`echo $ENTRY | cut -d/ -f5`
        echo Sudo apt-add-repository ppa:$USER/$PPA
    done
done

Enregistrer ceci sous listppa.sh

listppa.sh > installppa.sh

Cela crée un script que vous pouvez sauvegarder quelque part, puis exécuter pour ajouter vos PPA sur une nouvelle installation en exécutant simplement:

installppa.sh
18
NGRhodes

Pour ceux qui veulent juste vérifier les PPA qu’ils ont installés sans réellement faire quoi que ce soit avec eux, vous pouvez faire:

$ apt-cache policy

Dans mon système, voici un peu de ce que cela montre:

% apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 http: ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main Translation-en
 500 http: ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main i386 Packages
     release v=12.04,o=LP-PPA-ubuntu-toolchain-r-test,a=precise,n=precise,l=Toolchain test builds,c=main
     Origin ppa.launchpad.net
 500 http: ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main AMD64 Packages
     release v=12.04,o=LP-PPA-ubuntu-toolchain-r-test,a=precise,n=precise,l=Toolchain test builds,c=main
     Origin ppa.launchpad.net
 500 http: ppa.launchpad.net/rael-gc/scudcloud/ubuntu/ precise/main Translation-en
 500 http: ppa.launchpad.net/rael-gc/scudcloud/ubuntu/ precise/main i386 Packages
     release v=12.04,o=LP-PPA-rael-gc-scudcloud,a=precise,n=precise,l=ScudCloud - Linux client for Slack,c=main
     Origin ppa.launchpad.net
...

Cité de ici :

[apt-cache policy] récupère les priorités associées à chaque ressource de référentiel. À partir de sa sortie, vous pouvez déduire une liste de tous les référentiels et PPA disponibles.

Source: http://ask.xmodulo.com/list-installed-repositories-ppas-ubuntu.html

20
Romário

De ma réponse sur Comment puis-je obtenir une liste de tous les référentiels et PPA de la ligne de commande dans un script d'installation?

Répertoriez les PPA au format ppa:USER/REPO:

grep -E '^deb\s' /etc/apt/sources.list /etc/apt/sources.list.d/*.list |\
  cut -f2- -d: |\
  cut -f2 -d' ' |\
  sed -re 's#http://ppa\.launchpad\.net/([^/]+)/([^/]+)(.*?)$#ppa:\1/\2#g' |\
  grep '^ppa:'

Répertoriez tous les référentiels, y compris les PPA, au format ppa:USER/REPO:

Supprimez simplement le dernier grep(n'oubliez pas de supprimer le |\ de la ligne précédente après la commandesedname__).

Voir ma réponse à l'autre question pour les scripts complets que vous pouvez enregistrer et utiliser, y compris la génération d'un script d'installation.

0
ejm