В связи с этот вопрос . Но меня беспокоит то, что в прошлом году большинство моих более интересных (или используемых) приложений были из PPA, и простое резервное копирование моего списка источников не добавит связанные клавиши панели запуска, как это делает add-apt-repository
.
Поэтому я ищу способ составить список всех URL-адресов PPA (например, ppa:chromium-daily/stable
), чтобы я мог легко написать сценарий ряда команд add-apt-repository, чтобы изящно добавить их в новую установку.
Конечно, если не считать истории с Bash. Что может быть осуществимо, в зависимости от того, как далеко назад этот файл возвращается?
Ну, потому что мне нравится копаться в сценариях командной строки, я написал следующее. Он генерирует список строк 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.
Если импорт всех ключей GPG - то, что Вы ищете, можно использовать мой сценарий (прибывает в .deb) импортировать всех пропавших без вести ключи GPG сразу.Скачать
Для использования просто работайте:
sudo launchpad-getkeys
Можно смотреть в .deb, если Вы хотите, сценарий является действительно маленьким и легким понять (в случае, если Вы не доверяете моему deb).
Затем для резервного копирования всего PPAs все, что необходимо сделать, скопировать все .list файлы на новом компьютере / новая установка и после того как Вы скопировали их, выполнили вышеупомянутую команду для импорта всех ключей.
Из моего ответа на Как я могу получить список всех репозиториев и 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
См. мой ответ на другой вопрос для полных скриптов с несколькими дополнительными функциями, которые вы можете сохранить использовать.
Я копирую весь каталог / etc / apt в безопасное место. Если вам нужно переустановить или клонировать вашу установку, просто скопируйте этот каталог обратно. Это сохранит даже доверенные ключи gpg.