如何确定sources.list中的重复条目

如何确定sources.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.list只会随着这些而增加……)同时保持我的sources.list尽可能短。

我也不想重新开始(例如举一个例子sources.list),因为我已经投入了太多的精力。手动对它们进行排序(例如逐一注释并删除条目而不更改数量)由于条目数量较多,因此确实不受欢迎。

下一步,包括“半官方”或非官方软件包将会/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

每个条目的第二行是需要去重的行;在上面的例子中

     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

选择保留哪个条目时,最简单的选择是保留一个deb.debian.org条目(每次都会使用重定向为您提供一个近距离镜像)。

相关内容