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

21

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

Supremum
quelle

Antworten:

19

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
NGRhodes
quelle
20

Für diejenigen, die nur die von ihnen installierten PPAs überprüfen möchten, ohne etwas automatisch mit ihnen 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 die mit jeder Repository-Ressource verbundenen Prioritäten 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

Romário
quelle
5
Das ist schön und einfach, aber die Ausgabe enthält auch Ubuntu-Basis-Repositorys. Wenn du gehst zu tun , dass Sie auch den vollständigen, letzten Befehl in der Verbindung verwendet verwenden , können Sie als Quelle haben: apt-cache policy | grep http | awk '{print $2 $3}' | sort -u. Die Ausgabe ist besser organisiert und schont die Augen.
pjd
Hinweis: apt-cache policyZeigt die Repos erst an, nachdem Sie sie ausgeführt haben apt-get update. Wenn Sie gerade ein Repo mit hinzugefügt haben add-apt-repository, wird es erst angezeigt, apt-cache policywenn Sie es ausführen apt-get update.
wisbucky
0

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

Liste der PPAs im 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:'

Listen Sie alle Repositorys einschließlich PPAs in folgendem ppa:USER/REPOFormat auf:

Entfernen Sie einfach die letzte Zeile grep(vergessen Sie nicht, |\die vorherige Zeile nach dem sedBefehl 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.

ejm
quelle