Come posso eseguire il backup dei miei PPA?


27

In relazione a questa domanda . Ma la mia preoccupazione è che nel corso dell'ultimo anno, la maggior parte delle mie applicazioni più interessanti (o usate) provenga da PPA, e solo il backup del mio elenco di fonti non aggiungerà le chiavi del launchpad associate nel modo in cui ciò add-apt-repositoryaccade.

Quindi sto cercando un modo per elencare tutti gli URL PPA (come ppa:chromium-daily/stable) in modo da poter facilmente scrivere una serie di comandi add-apt-repository per aggiungerli con grazia in una nuova installazione.

A corto di scaricare la mia storia bash ovviamente. Quale potrebbe essere fattibile, a seconda di quanto tempo risale il file?

Risposte:


42

Bene, perché mi piace andare in giro con gli script da riga di comando, ho scritto quanto segue. Genera un elenco di stringhe PPA di cui è possibile eseguire il backup e quindi eseguire lo script in add-apt-repository:

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

Ciò genererà qualcosa del tipo:

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

Se hai mai desiderato ripristinarli, puoi reindirizzarli nel sistema in questo modo (supponendo che abbiamo salvato i PPA in ~/ppa-backup.txt:

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

Suggerirei probabilmente di non ripristinarli tutti. Esamina il backup e assicurati di sapere cosa contiene ogni PPA.


Grazie Oli. Lo proverò stasera e lo accetterò una volta testato!
Scaine

1
Mio Dio, ho molti PPA sul mio sistema. Questo è perfetto, Oli. Grazie per i tuoi sforzi!
Scaine,

Non funziona come scritto.
user447607,

6

Quello che faccio è che copio l'intera directory / etc / apt in un posto sicuro. Se devi reinstallare o clonare la tua installazione, copia semplicemente quella directory. Salverà anche le chiavi affidabili di gpg.


5

Se l'importazione di tutte le chiavi GPG è ciò che stai cercando, puoi usare il mio script (disponibile in un .deb) per importare tutte le chiavi GPG mancanti contemporaneamente. Scaricare

Per usare, esegui semplicemente:

sudo launchpad-getkeys

Puoi dare un'occhiata all'interno di .deb se vuoi, lo script è davvero piccolo e facile da capire (nel caso in cui non ti fidi del mio deb).

Quindi, per eseguire il backup di tutti i PPA, è sufficiente copiare tutti i file .list sul nuovo computer / nuova installazione e, una volta copiati, eseguire il comando sopra per importare tutte le chiavi.


0

Dalla mia risposta su Come posso ottenere un elenco di tutti i repository e PPA dalla riga di comando in uno script di installazione?

Elenco dei PPA in ppa:USER/REPOformato:

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

Genera script di installazione:

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

(eliminare -yse non si desidera un'installazione non interattiva)

Esegui lo script:

sudo sh install_ppas.sh

Vedi la mia risposta sull'altra domanda per gli script completi con alcune funzionalità extra che è possibile salvare e utilizzare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.