web-dev-qa-db-de.com

liste alle ppa-repositories auf, die meinem system hinzugefügt wurden

Wie kann ich alle zu meinem System hinzugefügten ppa-Repositorys auflisten und in einer .txt -Datei speichern, damit ich meine Zeit nicht damit verbringen möchte, nach ppas für Neuinstallationen zu suchen, und ich kann einfach eine ppa-Zeile auswählen in meiner .txt -Datei und an den Befehl Sudo add-apt-repository anhängen? Auch gibt es irgendwelche anderen Weisen, dies zu tun, in denen ich nicht die gpg Schlüssel manuell geben möchte?

21
supremum

Von Wie kann ich eine Liste aller Repositorys und PPAs von der Befehlszeile in ein Installationsskript abrufen?

Ein Teil der Antwort scheint das zu haben, wonach Sie suchen:

#! /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

Speichern Sie dies als listppa.sh

listppa.sh > installppa.sh

Dadurch wird ein Skript erstellt, das Sie irgendwo sichern und dann ausführen können, um Ihre PPAs bei einer Neuinstallation hinzuzufügen, indem Sie einfach Folgendes ausführen:

installppa.sh
18
NGRhodes

Für diejenigen, die nur die installierten PPAs überprüfen möchten, ohne tatsächlich irgendetwas mit ihnen automatisch zu tun , können Sie Folgendes tun:

$ apt-cache policy

In meinem System sehen Sie hier einige Beispiele:

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

Zitiert von hier :

[apt-cache policy] ruft Prioritäten für jede Repository-Ressource ab. Aus der Ausgabe können Sie eine Liste aller verfügbaren Repositorys und PPAs ableiten.

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

20
Romário

Von meine Antwort bis Wie kann ich eine Liste aller Repositorys und PPAs von der Befehlszeile in ein Installationsskript abrufen?

Liste der PPAs im ppa:USER/REPO Format:

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:'

Listet alle Repositorys einschließlich PPAs im ppa:USER/REPO -Format auf:

Entfernen Sie einfach das letzte grep (vergessen Sie nicht, das |\ aus der vorherigen Zeile nach dem sed -Befehl zu entfernen).

In meiner Antwort auf die andere Frage finden Sie vollständige Skripts, die Sie speichern und verwenden können, einschließlich der Generierung eines Installationsskripts.

0
ejm