source.listで重複エントリを確認する方法

source.listで重複エントリを確認する方法

時間が経つにつれて、私のコンテンツが/etc/apt/sources.list増え、今100行が含まれます/etc/apt/sources.list.d。 aptが認識しない重複した項目があるようです。明白ですが虚構の例は次のとおりです。

deb http://ftp.am.debian.org/debian buster main contrib
deb http://ftp.au.debian.org/debian buster main contrib

利用可能なすべての信頼できるパッケージを含めたいです。ダーバン(無視する非公式パッケージ、私の混乱はこれだけで増加します...)私をできるだけ短くしてくださいsources.listsources.list

sources.listまた、すでに多くの努力をしているので、再起動したくありません(たとえば説明します)。手動でソートすること(たとえば、1つずつ注釈を付け、番号を変更せずにアイテムを削除するなど)は、アイテム数が多いため、実際には望ましくありません。

次のステップでは、「反公式」または非公式パッケージお得になります/etc/apt/sources.list.d

言うまでもなく、私は私のコンピュータアーキテクチャに適したすべてのパッケージを含む正式にリストされた近い画像を選択したかったです。

sources.listまた、可能であれば、ファイルの明確性を高めるためにできるだけ少ないドメインを使用したいと思います。

答え1

試行錯誤なしに重複エントリを削除する最も簡単な方法は、apt policyアクセス可能な各ストレージ(およびスイートとアーキテクチャ)のapt policyストレージ記述子を調べることです。

たとえば、質問にリストしたリポジトリの場合は、apt policy次のようになります。

 500 http://ftp.am.debian.org/debian buster/main amd64 Packages
     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64
     origin ftp.am.debian.org
 500 http://ftp.au.debian.org/debian buster/main amd64 Packages
     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64
     origin ftp.au.debian.org
 500 http://ftp.am.debian.org/debian buster/contrib amd64 Packages
     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=contrib,b=amd64
     origin ftp.am.debian.org
 500 http://ftp.au.debian.org/debian buster/contrib amd64 Packages
     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=contrib,b=amd64
     origin ftp.au.debian.org

各項目の2行目は、上記の例では重複排除が必要な行です。

     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64

そして

     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=contrib,b=amd64

保持するアイテムを選択する際の最も簡単なオプションは、1つのアイテムをdeb.debian.org維持することです(毎回リダイレクトを使用して近いミラーを提供します)。

関連情報