Wie kann ich meine PPAs sichern?

27

Bezogen auf diese Frage . Aber ich mache mir Sorgen, dass im letzten Jahr die meisten meiner interessanteren (oder verwendeten) Anwendungen von PPAs stammen und nur das Sichern meiner Quellenliste die zugehörigen Launchpad-Schlüssel nicht so hinzufügt, add-apt-repositorywie dies der Fall ist.

Daher suche ich nach einer Möglichkeit, alle PPA-URLs (wie ppa:chromium-daily/stable) aufzulisten, damit ich problemlos eine Reihe von Befehlen zum Hinzufügen von Apt -Repositorys schreiben kann, um sie ordnungsgemäß in eine neue Installation einzufügen.

Natürlich ohne meine Bash-Geschichte abzulegen. Was könnte machbar sein, abhängig davon, wie weit diese Datei zurückreicht?

Scaine
quelle

Antworten:

42

Nun, weil ich mich gerne mit Kommandozeilen-Skripten beschäftige, habe ich folgendes geschrieben. Es wird eine Liste von PPA-Zeichenfolgen generiert, die Sie sichern und dann mit einem Skript versehen können add-apt-repository:

grep -RoPish '(?<=ppa.launchpad.net/)[^/]+/[^/ ]+' /etc/apt | sort -u | sed 's/^/ppa:/'

Das erzeugt so etwas wie:

ppa:ubuntu-wine/ppa
ppa:am-monkeyd/nautilus-elementary-ppa
ppa:nilarimogard/webupd8
ppa:ubuntu-x-swat/x-updates
ppa:tualatrix/ppa
ppa:banshee-team/banshee-unstable
ppa:chromium-daily/beta
ppa:libreoffice/ppa
ppa:banshee-team/ppa

Wenn Sie diese Dateien jemals pauschal wiederherstellen wollten, könnten Sie sie wie folgt zurück in das System leiten (vorausgesetzt, wir haben die PPAs gespeichert, um ~/ppa-backup.txt:

<~/ppa-backup.txt xargs -I % sudo add-apt-repository %

Ich würde wahrscheinlich vorschlagen, dass Sie nicht alle wiederherstellen. Durchsuchen Sie die Sicherung und stellen Sie sicher, dass Sie wissen, was jede PPA enthält.

Oli
quelle
Vielen Dank, Oli. Ich werde das heute Abend testen und dies akzeptieren, sobald es getestet wurde!
Scaine
1
Mein Gott, ich habe viele PPAs auf meinem System. Das ist perfekt, Oli. Danke für deinen Einsatz!
Scaine
Funktioniert nicht wie geschrieben.
user447607
6

Ich kopiere das gesamte Verzeichnis / etc / apt an einen sicheren Ort. Wenn Sie Ihre Installation neu installieren oder klonen müssen, kopieren Sie einfach dieses Verzeichnis zurück. Es werden sogar die vertrauenswürdigen gpg-Schlüssel gespeichert.

nejode
quelle
5

Wenn Sie alle GPG-Schlüssel importieren möchten, können Sie mithilfe meines Skripts (in einer .deb-Datei) alle fehlenden GPG-Schlüssel gleichzeitig importieren. Herunterladen

Führen Sie zur Verwendung einfach Folgendes aus:

sudo launchpad-getkeys

Sie können einen Blick in die .deb werfen, wenn Sie möchten, das Skript ist wirklich klein und leicht zu verstehen (falls Sie meiner deb nicht vertrauen).

Um alle PPAs zu sichern, müssen Sie lediglich alle .list-Dateien auf dem neuen Computer / der neuen Installation kopieren und nach dem Kopieren den obigen Befehl ausführen, um alle Schlüssel zu importieren.

Alin Andrei
quelle
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:

list_ppas () {
  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:'
}

Installationsskript generieren:

list_ppas | xargs printf 'add-apt-repository -y %s\n' > install_ppas.sh

( -yWenn Sie keine nicht interaktive Installation wünschen, klicken Sie hier.)

Führen Sie das Skript aus:

sudo sh install_ppas.sh

In meiner Antwort auf die andere Frage finden Sie vollständige Skripts mit einigen zusätzlichen Funktionen, die Sie speichern und verwenden können.

ejm
quelle