システムに追加されたすべてのPPAリポジトリを一覧表示する


21

私のシステムに追加されたすべてのPPAリポジトリをリストして.txtファイルに保存するにはどうすればよいですか?新規インストール用のPPAの検索に時間を費やしたくないので、ファイルのPPA行を選択して.txt追加するだけですコマンドに sudo add-apt-repository?また、これを行う他の方法はありますか?gpgキーを手動で与えたくないですか?

回答:


19

からコマンドラインからインストールスクリプトにすべてのリポジトリと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

これにより、どこかにバックアップできるスクリプトが作成され、次に実行するだけで、PPAを新規インストールに追加できます。

installppa.sh

20

ただ、実際にせずに、彼らがインストールされているの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


5
これは素晴らしく簡単ですが、出力にはUbuntuベースのリポジトリも含まれています。それを行う場合は、ソースとして指定したリンクで使用される完全な最終コマンドを使用することもできますapt-cache policy | grep http | awk '{print $2 $3}' | sort -u。出力はより良く整理され、目に優しいです。
pjd

注:apt-cache policyを実行すると、リポジトリのみが表示されますapt-get update。リポジトリを追加したばかりの場合add-apt-repositoryapt-cache policy実行するまで表示されませんapt-get update
ウィスバッキー

0

私の答え、私は、インストールスクリプトにコマンドラインからすべてのリポジトリとの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)。

保存して使用できる完全なスクリプト(インストールスクリプトの生成など)については、他の質問に関する私の答えを参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.