システムに追加されたすべてのPPAリポジトリを一覧表示して.txt
ファイルに保存するにはどうすればよいですか?そうすれば、新鮮なインストールのためにPPAを検索するのに時間を費やしたくなく、PPA行を選択できます.txt
ファイルでSudo add-apt-repository
?コマンドに追加しますまた、手動でgpgキーを与えたくないこれを行う他の方法はありますか?
コマンドラインからインストールスクリプトにすべてのリポジトリとPPAのリストを取得するにはどうすればよいですか?
答えの一部は、あなたが探しているものを持っているように見えます:
#! /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
これにより、どこかにバックアップできるスクリプトが作成され、次に実行するだけでPSAを新規インストールに追加できます。
installppa.sh
実際に何もせずに何もしないでインストールしたPPAを確認したいだけの場合:
$ 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
]は、各リポジトリリソースに関連付けられた優先度を取得します。その出力から、利用可能なすべてのリポジトリとPPAのリストを推測できます。
ソース: http://ask.xmodulo.com/list-installed-repositories-ppas-ubuntu.html
私の答え on コマンドラインからインストールスクリプトにすべてのリポジトリとPPAのリストを取得するにはどうすればよいですか?
_ppa:USER/REPO
形式のPPAをリスト:
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:'
PPAを含むすべてのリポジトリをppa:USER/REPO
形式で一覧表示する:
最後のgrep
を削除するだけです(sed
コマンドの後の前の行から|\
を削除することを忘れないでください)。
保存して使用できる完全なスクリプト(インストールスクリプトの生成など)については、他の質問に関する私の回答を参照してください。