Як я можу створити резервну копію своїх PPA?


27

Зв'язане з цим питанням . Але я занепокоєний тим, що за останній рік більшість моїх цікавіших (або використовуваних) додатків були з PPA, і лише резервне копіювання мого списку джерел не додасть пов'язаних клавіш стартової панелі так, як це add-apt-repositoryробиться.

Тому я шукаю спосіб перерахувати всі URL-адреси PPA (як ppa:chromium-daily/stable), щоб я міг легко скриптувати серію команд add-apt-repository, щоб витончено їх додати до нової установки.

Не маючи демпінгу моєї історії башів, звичайно. Що може бути здійсненним, залежно від того, наскільки далеко цей файл повертається назад?

Відповіді:


42

Тому що мені подобається спілкуватися з сценарієм командного рядка, я написав наступне. Він генерує список рядків PPA, які ви можете створити для резервного копіювання, а потім сценарію add-apt-repository:

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

Це створить щось на кшталт:

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

Якщо ви коли-небудь хотіли відновлювати їх, ви можете передавати їх назад в систему так (при умові, що ми зберегли PPA ~/ppa-backup.txt:

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

Напевно, я б запропонував вам не просто їх відновити. Перегляньте резервну копію та переконайтеся, що ви знаєте, що містить кожен PPA.


Дякую Олі. Я тестую це сьогодні ввечері і прийму це колись перевірене!
Scaine

1
Боже, у мене в системі багато PPA. Це ідеально, Олі. Дякуємо за ваші зусилля!
Scaine

Не працює як написано.
user447607

6

Що я роблю, це те, що я копіюю весь / etc / apt каталог у безпечне місце. Якщо вам доведеться перевстановити або клонувати встановлення, просто скопіюйте цей каталог назад. Це збереже навіть надійні клавіші gpg.


5

Якщо ви імпортуєте всі ключі GPG - це те, що ви шукаєте, ви можете використовувати мій скрипт (поставляється в .deb), щоб імпортувати всі відсутні GPG-ключі відразу. Завантажити

Для використання просто запустіть:

sudo launchpad-getkeys

Ви можете заглянути в .deb, якщо хочете, сценарій дійсно невеликий і простий для розуміння (якщо ви не довіряєте моєму дебюту).

Потім, щоб створити резервну копію всіх PPA, все, що вам потрібно зробити, - скопіювати всі файли .list на новий комп’ютер / нову установку, і як тільки ви їх скопіювали, запустіть вищевказану команду, щоб імпортувати всі ключі.


0

З моєї відповіді на тему Як я можу отримати список всіх сховищ та PPA з командного рядка в сценарій встановлення?

Перерахуйте PPA у 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:'
}

Створити сценарій встановлення:

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

(вийміть, -yякщо не хочете інтерактивної установки)

Запустіть сценарій:

sudo sh install_ppas.sh

Дивіться мою відповідь на інше питання щодо повних сценаріїв з кількома додатковими функціями, які ви можете зберігати та використовувати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.