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

21

Comment puis-je répertorier tous les référentiels ppa ajoutés à mon système et l'enregistrer dans un .txtfichier, afin que je ne veuille pas passer mon temps à rechercher des ppa pour de nouvelles installations et que je puisse simplement sélectionner une ligne ppa dans mon .txtfichier et l'ajouter à la commande sudo add-apt-repository? Y a-t-il également d'autres façons de le faire dans lesquelles je ne veux pas donner les clés gpg manuellement?

supremum
la source

Réponses:

19

De 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

Enregistrez-le sous listppa.sh

listppa.sh > installppa.sh

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

installppa.sh
NGRhodes
la source
20

Pour ceux qui veulent simplement 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 ce qu'il 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é d' 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

Romário
la source
5
C'est agréable et simple, mais la sortie comprend également des référentiels de base Ubuntu. Si vous allez faire que vous pouvez aussi bien utiliser la commande complète, finale utilisée dans le lien que vous avez donné comme source: apt-cache policy | grep http | awk '{print $2 $3}' | sort -u. La sortie est mieux organisée et plus agréable pour les yeux.
pjd
Remarque: apt-cache policyn'affichera les dépôts qu'une fois que vous aurez exécuté apt-get update. Si vous venez d'ajouter un dépôt avec add-apt-repository, il n'apparaîtra pas apt-cache policytant que vous ne courrez pas apt-get update.
wisbucky
0

D'après 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?

Liste des AAE au ppa:USER/REPOformat:

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 AAE, au ppa:USER/REPOformat:

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

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

ejm
la source