Sources.listのリポジトリとsources.list.d /のリポジトリのリストが必要です。
同じリポジトリを監視するように別のホストをセットアップするのに適した形式でこのリストを取得できますか?
さらに、どのリポジトリがインストール済みまたは利用可能なパッケージのソースであるかをどのように判断しますか?
最も近いようです:
apt-cache policy
知る限りでは、現在のソースは何なのかを尋ねることはできませんが、シェルツールを使用して目的の操作を実行できます。
リポジトリのリストを取得する:
grep -h ^deb /etc/apt/sources.list /etc/apt/sources.list.d/* >> current.repos.list
リストの適用:
apt-add-repository << current.repos.list
パッケージ(インストール済みまたは利用可能)からリポジトリを取得することに関して、これはトリックを行います
apt-cache policy package_name |grep -m1 http| awk '{ print $2 " " $3 }'
ただし、そのパッケージで利用可能な最新バージョンのリポジトリが表示されます。古いバージョンの同じパッケージには、より多くのリポジトリがある場合があります。完全なリストを表示する場合は、grep/awkをすべて削除します。
これを試して:
cat /etc/apt/sources.list
それはnot盲目的に別のマシンにコピーするのに適した形式ですが、リポジトリをまだ追加しているかどうかを判断したいユーザー(Iなど)した)、あなたはちょうどすることができます:
Sudo apt update
apt
が更新されると、フェッチするリポジトリのリストが出力されます。当たり前のように思えますが、GET
のURLが何を吐き出しているのかがわかりました。
編集:次のawk
ベースの式を使用してsources.listを生成できます。
cat /tmp/apt-update.txt | awk '/http/ { gsub("/", " ", $3); gsub("^\s\*$", "main", $3); printf("deb "); if($4 ~ "^[a-z0-9]$") printf("[Arch=" $4 "] "); print($2 " " $3) }' | sort | uniq
または、他の回答が示唆するように、次のように既存のすべてのソースをcat
することができます。
cat /etc/apt/sources.list /etc/apt/sources.list.d/*
無効化されたリポジトリはハッシュでコメントアウトされるため、これは意図したとおりに機能するはずです。
私は何かのためにここに着きましたが、必要なのは次のとおりです:
cd /etc/apt
nano source.list
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib
apt upgrade && update
ソース: https://docs.kali.org/general-use/kali-linux-sources-list-repositories