PPA를 어떻게 백업 할 수 있습니까?


27

이 질문과 관련 있습니다. 그러나 내 우려는 지난 1 년 동안 가장 흥미로운 (또는 사용 된) 응용 프로그램은 대부분 PPA에서 가져온 것이며 내 소스 목록을 백업해도 연결된 런치 패드 키가 추가되는 방식이 아니라는 것입니다 add-apt-repository.

그래서 모든 PPA URL을 나열하는 방법을 찾고 있습니다 (예 :) ppa:chromium-daily/stable. 일련의 add-apt-repository 명령을 쉽게 스크립팅하여 새 설치에 우아하게 추가 할 수 있습니다.

물론 내 배쉬 기록을 버리지 못했습니다. 파일이 얼마나 멀리 돌아가는가에 따라 어느 것이 가능할 수 있습니까?

답변:


42

커맨드 라인 스크립팅을 좋아하기 때문에 다음을 작성했습니다. 백업 한 다음 스크립팅 할 수있는 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에 무엇이 포함되어 있는지 확인하십시오.


고마워 올리. 나는 오늘 밤 그것을 테스트하고 테스트 한 번 수락합니다!
Scaine

1
나의 신 나는 나의 시스템에 많은 PPA를 가지고있다. 완벽 해, 올리 노력해 주셔서 감사합니다!
Scaine

서면으로 작동하지 않습니다.
user447607

6

내가하는 일은 전체 / etc / apt 디렉토리를 안전한 장소에 복사하는 것입니다. 설치를 다시 설치하거나 복제해야하는 경우 해당 디렉토리를 다시 복사하십시오. 신뢰할 수있는 gpg 키도 저장합니다.


5

모든 GPG 키를 가져 오는 것이 원하는 경우 내 스크립트 (.deb로 제공)를 사용하여 누락 된 모든 GPG 키를 한 번에 가져올 수 있습니다. 다운로드

사용하려면 간단히 다음을 실행하십시오.

sudo launchpad-getkeys

원하는 경우 .deb 내부를 살펴볼 수 있습니다. 스크립트는 실제로 작고 이해하기 쉽습니다 (내 deb를 신뢰할 수없는 경우).

그런 다음 모든 PPA를 백업하려면 새 컴퓨터 / 새 설치의 모든 .list 파일을 복사하고 복사 한 후 위 명령을 실행하여 모든 키를 가져 오기만하면됩니다.


0

에서 내 대답내가 설치 스크립트에 명령 줄에서 모든 저장소 및있는 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

저장하고 사용할 수있는 몇 가지 추가 기능이 포함 된 전체 스크립트는 다른 질문에 대한 답변을 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.