Как я могу сделать резервную копию моих PPA?

В связи с этот вопрос . Но меня беспокоит то, что в прошлом году большинство моих более интересных (или используемых) приложений были из PPA, и простое резервное копирование моего списка источников не добавит связанные клавиши панели запуска, как это делает add-apt-repository.

Поэтому я ищу способ составить список всех URL-адресов PPA (например, ppa:chromium-daily/stable), чтобы я мог легко написать сценарий ряда команд add-apt-repository, чтобы изящно добавить их в новую установку.

Конечно, если не считать истории с Bash. Что может быть осуществимо, в зависимости от того, как далеко назад этот файл возвращается?

27
задан 13 April 2017 в 15:24

4 ответа

Ну, потому что мне нравится копаться в сценариях командной строки, я написал следующее. Он генерирует список строк 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.

0
ответ дан 13 April 2017 в 15:24

Если импорт всех ключей GPG - то, что Вы ищете, можно использовать мой сценарий (прибывает в .deb) импортировать всех пропавших без вести ключи GPG сразу.Скачать

Для использования просто работайте:

sudo launchpad-getkeys

Можно смотреть в .deb, если Вы хотите, сценарий является действительно маленьким и легким понять (в случае, если Вы не доверяете моему deb).

Затем для резервного копирования всего PPAs все, что необходимо сделать, скопировать все .list файлы на новом компьютере / новая установка и после того как Вы скопировали их, выполнили вышеупомянутую команду для импорта всех ключей.

5
ответ дан 13 April 2017 в 15:24

Из моего ответа на Как я могу получить список всех репозиториев и 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

См. мой ответ на другой вопрос для полных скриптов с несколькими дополнительными функциями, которые вы можете сохранить использовать.

0
ответ дан 13 April 2017 в 15:24

Я копирую весь каталог / etc / apt в безопасное место. Если вам нужно переустановить или клонировать вашу установку, просто скопируйте этот каталог обратно. Это сохранит даже доверенные ключи gpg.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: