Como posso fazer backup dos meus PPAs?

27

Relacionado a esta pergunta . Mas minha preocupação é que, no ano passado, a maioria dos meus aplicativos mais interessantes (ou usados) sejam de PPAs, e apenas fazer o backup da minha lista de fontes não adicionará as teclas associadas da barra de ativação da maneira que add-apt-repositoryfaz.

Então, estou procurando uma maneira de listar todos os URLs do PPA (como ppa:chromium-daily/stable) para que eu possa facilmente criar scripts em uma série de comandos add-apt-repository para adicioná-los a uma nova instalação normalmente.

Falta pouco para despejar minha história do bash, é claro. O que pode ser possível, dependendo de quanto tempo esse arquivo voltará?

Scaine
fonte

Respostas:

42

Bem, porque eu gosto de mexer com scripts de linha de comando, escrevi o seguinte. Ele gera uma lista de seqüências de caracteres do PPA que você pode fazer backup e, em seguida, script em add-apt-repository:

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

Isso gerará algo como:

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

Se você quiser restaurar esses itens de maneira abrangente, poderá enviá-los de volta ao sistema dessa maneira (assumindo que salvamos os PPAs em ~/ppa-backup.txt:

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

Eu provavelmente sugeriria que você não apenas restaurasse todos eles. Examine o backup e verifique o que cada PPA contém.

Oli
fonte
Obrigado Oli. Vou testar isso hoje à noite e aceitar isso depois de testado!
Scaine 02/03
11
Meu Deus, eu tenho muitos PPAs no meu sistema. Isso é perfeito, Oli. Obrigado pelo seu esforço!
Scaine 02/03
Não funciona como está escrito.
User447607
6

O que faço é copiar todo o diretório / etc / apt para um local seguro. Se você precisar reinstalar ou clonar sua instalação, basta copiar novamente esse diretório. Ele salvará até as chaves confiáveis ​​do gpg.

nejode
fonte
5

Se a importação de todas as chaves GPG é o que você está procurando, você pode usar meu script (vem em. Deb) para importar todas as chaves GPG ausentes de uma só vez. Baixar

Para usar, basta executar:

sudo launchpad-getkeys

Você pode dar uma olhada no .deb, se quiser, o script é realmente pequeno e fácil de entender (caso você não confie na minha deb).

Em seguida, para fazer backup de todos os PPAs, tudo o que você precisa fazer é copiar todos os arquivos .list no novo computador / nova instalação e depois de copiá-los, execute o comando acima para importar todas as chaves.

Alin Andrei
fonte
0

Da minha resposta em Como posso obter uma lista de todos os repositórios e PPAs da linha de comando em um script de instalação?

Listar PPAs no ppa:USER/REPOformato:

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:'
}

Gere script de instalação:

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

(retire a opção -yse você não quiser uma instalação não interativa)

Execute o script:

sudo sh install_ppas.sh

Veja minha resposta na outra pergunta para obter scripts completos com alguns recursos extras que você pode salvar e usar.

ejm
fonte