web-dev-qa-db-fra.com

Comment puis-je sauvegarder mes PPA?

Relatif à cette question . Mais ce qui me préoccupe, c’est qu'au cours de l’année écoulée, la plupart de mes applications les plus intéressantes (ou utilisées) proviennent d’APP, et la simple sauvegarde de ma liste de sources n’ajoute pas les touches du tableau de bord associées comme le fait add-apt-repository.

Je cherche donc un moyen de répertorier toutes les URL de PPA (comme ppa:chromium-daily/stable) afin de pouvoir facilement scripter une série de commandes add-apt-repository pour les ajouter correctement à une nouvelle installation.

À court de dumping mon histoire bash bien sûr. Qu'est-ce qui pourrait être faisable, en fonction de la date de retour de ce fichier?

27
Scaine

Eh bien, parce que j'aime fouiller avec les scripts en ligne de commande, j'ai écrit ce qui suit. Il génère une liste de chaînes PPA que vous pouvez sauvegarder, puis écrire 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 globalement, vous pouvez les réacheminer dans le système de la manière suivante (en supposant que nous ayons enregistré les PPA dans ~/ppa-backup.txt:

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

Je suggérerais probablement que vous ne les restiez pas tous. Parcourez la sauvegarde et assurez-vous de connaître le contenu de chaque PPA.

42
Oli

Ce que je fais 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.

6
nejode

Si vous souhaitez importer toutes les clés GPG, vous pouvez utiliser mon script (fourni avec un .deb) pour importer toutes les clés GPG manquantes en même temps. Télécharger

Pour l'utiliser, lancez simplement:

Sudo launchpad-getkeys

Vous pouvez consulter le .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, tout ce que vous avez à faire est de copier tous les fichiers .list sur le nouvel ordinateur/la nouvelle installation et une fois que vous les avez copiés, exécutez la commande ci-dessus pour importer toutes les clés.

5
Alin Andrei

De 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?

Lister les PPA au format ppa:USER/REPO:

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 le script d'installation:

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

(sortez le -y si vous ne voulez pas d'installation non interactive)

Exécutez le script:

Sudo sh install_ppas.sh

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

0
ejm