Как я могу перечислить все ppa репозитории, добавленные к моей системе, и сохранить ее к a .txt
файл, так, чтобы я не хотел проводить свое время в поиске ppa's для новых установок и я могу просто выбрать ppa строку в моем .txt
файл и добавляет к команде sudo add-apt-repository
? Также есть ли какие-либо другие способы сделать это, в котором я не хочу давать gpg ключи вручную?
От , Как я могу получить список всех репозиториев и PPAs из командной строки в сценарий установки?
Часть ответа надеется иметь то, что Вы ищете:
#! /bin/sh
# listppa Script to get all the PPA installed on a system ready to share for reininstall
for APT in `find /etc/apt/ -name \*.list`; do
grep -o "^deb http://ppa.launchpad.net/[a-z0-9\-]\+/[a-z0-9\-]\+" $APT | while read ENTRY ; do
USER=`echo $ENTRY | cut -d/ -f4`
PPA=`echo $ENTRY | cut -d/ -f5`
echo sudo apt-add-repository ppa:$USER/$PPA
done
done
Сохраняют это как listppa.sh
listppa.sh > installppa.sh
, Это создает сценарий, который можно скопировать где-нибудь, затем выполнить для добавления PPAs на новой установке путем простого выполнения:
installppa.sh
Для тех, кто просто хочет проверить PPAs, без которого они установили на самом деле выполнение что-либо с ними автоматически, что можно сделать:
$ apt-cache policy
В моей системе, вот немного, что она показывает:
% apt-cache policy
Package files:
100 /var/lib/dpkg/status
release a=now
500 http: ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main Translation-en
500 http: ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main i386 Packages
release v=12.04,o=LP-PPA-ubuntu-toolchain-r-test,a=precise,n=precise,l=Toolchain test builds,c=main
origin ppa.launchpad.net
500 http: ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main amd64 Packages
release v=12.04,o=LP-PPA-ubuntu-toolchain-r-test,a=precise,n=precise,l=Toolchain test builds,c=main
origin ppa.launchpad.net
500 http: ppa.launchpad.net/rael-gc/scudcloud/ubuntu/ precise/main Translation-en
500 http: ppa.launchpad.net/rael-gc/scudcloud/ubuntu/ precise/main i386 Packages
release v=12.04,o=LP-PPA-rael-gc-scudcloud,a=precise,n=precise,l=ScudCloud - Linux client for Slack,c=main
origin ppa.launchpad.net
...
Заключенный в кавычки от здесь :
[
apt-cache policy
] получает приоритеты, связанные с каждым ресурсом репозитория. От его вывода можно вывести список всех доступных репозиториев и PPAs.
Источник: http://ask.xmodulo.com/list-installed-repositories-ppas-ubuntu.html
Из моего ответа на том, Как я могу получить список всех репозиториев и PPAs из командной строки в сценарий установки?
Перечислите PPAs в ppa:USER/REPO
формат:
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:'
Перечислите все репозитории включая PPAs в ppa:USER/REPO
формат:
Просто удалите последнее grep
(не забывайте удалять |\
от предыдущей строки послеsed
команда).
См. мой ответ по другому вопросу для полных сценариев, которые можно сохранить и использовать, включая генерацию сценария установки.