PPAをバックアップするにはどうすればよいですか?


27

この質問に関連しています。しかし、私が心配しているのは、過去1年間で、より興味深い(または使用される)アプリケーションのほとんどがPPAからのものであり、ソースリストをバックアップするだけでは、関連するランチパッドキーが追加されないことadd-apt-repositoryです。

そこでppa:chromium-daily/stable、一連のadd-apt-repositoryコマンドを簡単にスクリプト化して新しいインストールに正常に追加できるように、すべてのPPA URL(など)をリストする方法を探しています。

もちろん、私のbash履歴をダンプすることはできません。そのファイルがどれくらい前に戻るかに応じて、どちらが実行可能でしょうか?

回答:


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に何が含まれているかを確認してください。


オリありがとう。今夜それをテストし、テストしたらこれを受け入れます!
スケイン

1
私のシステムにはたくさんのPPAがあります。これは完璧です、オリ。お疲れ様でした!
スケイン

書かれているとおりには機能しません。
user447607

6

私がやることは、/ etc / aptディレクトリ全体を安全な場所にコピーすることです。インストールを再インストールまたは複製する必要がある場合は、そのディレクトリをコピーしてください。gpgの信頼できるキーも保存します。


5

すべてのGPGキーをインポートすることが目的であれば、スクリプト(.debに含まれる)を使用して、欠落しているすべてのGPGキーを一度にインポートできます。ダウンロード

使用するには、単に次を実行します:

sudo launchpad-getkeys

必要に応じて.debの内部を見ることができます。スクリプトは本当に小さく、理解しやすいです(私のdebを信用しない場合)。

次に、すべてのPPAをバックアップするには、すべての.listファイルを新しいコンピューター/新しいインストールにコピーし、それらをコピーしたら、上記のコマンドを実行してすべてのキーをインポートするだけです。


0

私の答え、私は、インストールスクリプトにコマンドラインからすべてのリポジトリとのPPAのリストを取得できますか?

次のppa:USER/REPO形式でPPAをリストします。

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.