Debian
如何確定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
我想包括所有可用於Debian的可靠軟體包(忽略非官方軟體包,我的混亂
sources.list
只會隨著這些而增加……)同時保持我sources.list
的盡可能短。我也不想重新開始(例如舉個例子
sources.list
),因為我已經付出了太多的努力。手工整理它們(例如,一個接一個地註釋掉並刪除條目而不改變數字可用包的數量)確實不受歡迎,因為條目的數量。作為下一步,包括“半官方”或非官方的軟體包將
/etc/apt/sources.list.d
是有利的。不用說,我想在附近選擇一個穩定的、官方列出的鏡像,包括我電腦架構的所有包。
如果可能的話,我還希望盡可能少地使用不同的域,以提高
sources.list
文件的清晰度。
清除重複項的最簡單方法是查看
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
條目(這將使用重定向每次都為您提供一個關閉的鏡像)。