Comment puis-je sauvegarder mes PPA?

27

Lié à cette question . Mais ma préoccupation est qu'au cours de l'année écoulée, la plupart de mes applications les plus intéressantes (ou utilisées) proviennent de PPA, et le simple fait de sauvegarder ma liste de sources n'ajoutera pas les clés de tableau de bord associées de la même manière add-apt-repository.

Je cherche donc un moyen de lister toutes les URL PPA (comme ppa:chromium-daily/stable) afin que je puisse facilement écrire une série de commandes add-apt-repository pour les ajouter dans une nouvelle installation avec élégance.

À moins de jeter mon histoire bash bien sûr. Qu'est-ce qui pourrait être faisable, selon l'origine de ce fichier?

Scaine
la source

Réponses:

42

Eh bien, parce que j'aime bouger avec les scripts de ligne de commande, j'ai écrit ce qui suit. Il génère une liste de chaînes PPA que vous pouvez sauvegarder puis scripter dans add-apt-repository:

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

Cela va générer quelque chose comme:

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

Si vous avez toujours voulu les restaurer de manière globale, vous pouvez les rediriger dans le système comme ceci (en supposant que nous avons enregistré les PPA dans ~/ppa-backup.txt:

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

Je dirais probablement que vous ne les restaurez pas tous. Parcourez la sauvegarde et assurez-vous de savoir ce que contient chaque PPA.

Oli
la source
Merci Oli. Je vais tester cela ce soir et accepter ceci une fois testé!
Scaine
1
Mon dieu, j'ai beaucoup de PPA sur mon système. C'est parfait, Oli. Merci pour votre effort!
Scaine
Ne fonctionne pas comme écrit.
user447607
6

Ce que je fais, c'est que je copie tout le répertoire / etc / apt dans un endroit sûr. Si vous devez réinstaller ou cloner votre installation, copiez simplement ce répertoire. Cela sauvera même les clés de confiance gpg.

nejode
la source
5

Si l'importation de toutes les clés GPG est ce que vous recherchez, vous pouvez utiliser mon script (fourni en .deb) pour importer toutes les clés GPG manquantes à la fois. Télécharger

Pour l'utiliser, lancez simplement:

sudo launchpad-getkeys

Vous pouvez jeter un œil à l'intérieur du .deb si vous le souhaitez, le script est vraiment petit et facile à comprendre (au cas où vous ne feriez pas confiance à mon deb).

Ensuite, pour sauvegarder tous les PPA, il vous suffit de copier tous les fichiers .list sur le nouvel ordinateur / nouvelle installation et une fois que vous les avez copiés, exécutez la commande ci-dessus pour importer toutes les clés.

Alin Andrei
la source
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:

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

Générer un script d'installation:

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

(sortez le -ysi vous ne voulez pas une installation non interactive)

Exécutez le script:

sudo sh install_ppas.sh

Voir ma réponse sur l'autre question pour des scripts complets avec quelques fonctionnalités supplémentaires que vous pouvez enregistrer et utiliser.

ejm
la source