Como posso fazer backup dos meus PPAs?

26

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

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

Curto de desistir da minha história bash, é claro. O que pode ser viável, dependendo de quanto tempo o arquivo volta?

    
por Scaine 01.03.2011 / 23:30

4 respostas

41

Bem, porque gosto de mexer com scripts de linha de comando, escrevi o seguinte. Ele gera uma lista de strings do PPA que você pode fazer backup e, em seguida, faz o 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ê alguma vez quisesse restaurá-los, poderia redirecioná-los para o sistema (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 restaurasse todos. Examine o backup e verifique se você sabe o que cada PPA contém.

    
por Oli 02.03.2011 / 00:37
5

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

    
por nejode 01.03.2011 / 23:41
5

Se importar todas as chaves GPG é o que você está procurando, você pode usar meu script (vem em um .deb) para importar todas as chaves GPG ausentes de uma vez. Fazer o download

Para usar, basta executar:

sudo launchpad-getkeys

Você pode dar uma olhada dentro do .deb se você quiser, o script é realmente pequeno e fácil de entender (no caso de você não confiar no meu 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.

    
por Alin Andrei 02.03.2011 / 00:02
0

De 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 em ppa:USER/REPO format:

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:/#g' |\
    grep '^ppa:'
}

Gere script de instalação:

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

(tire o -y se 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 scripts completos com alguns recursos extras que você pode salvar e usar.

    
por ejm 04.12.2017 / 09:02

Tags