如何為apt-get自動選擇快速鏡像

如何為apt-get自動選擇快速鏡像

有沒有什麼外掛可以讓apt-get像YUM一樣選擇快速鏡像最快的鏡像插件 最快的鏡像外掛程式專為在儲存庫配置中使用而設計,在儲存庫配置中您有超過 1 個鏡像。它與每個鏡像建立連接,對連接進行計時,然後按最快到最慢對鏡像進行排序,以供 yum 使用。

原因:我在apt的設定檔中加入了幾個(內部網路和網路)鏡像,我希望apt-get在辦公室時使用內網鏡像,在家時使用網路鏡像。

答案1

作為解決方法,您可以編寫一個腳本來檢查您連接到的網路並相應地更改 /etc/apt/sources.list。像下面的腳本一樣,只需編輯它以滿足您的需求。

第一的,備份你的/etc/apt/sources.list。然後,建立兩個sources.list 文件,一個用於您的家庭,一個用於辦公室。我們假設它們被稱為sources.office.listsources.home.list。將它們都保存在/etc/apt/.

現在,編輯以下腳本以滿足您的需要,將其保存(對於本例,我假設您將其另存為~/bin/change_sources.sh),並通過運行以下命令使其可執行:

$ chmod +x ~/bin/change_sources.sh

劇本:

#!/bin/bash
ip=ifconfig | grep Bcast | cut -d " " -f 12

## Set this for your office IP
if [ $ip == "XXX.XXX.XXX.XXX" ]
then 
    cp /etc/apt/sources.office.list /etc/apt/sources.list 
else
    cp /etc/apt/sources.home.list /etc/apt/sources.list 
fi

現在,編輯文件etc/rc.local並將此行新增至文件末尾之前exit(0)

/home/youruser/bin/change_sources.sh

顯然,更改上面的路徑以反映您剛剛建立的腳本的路徑。

下次重新啟動時,應該執行該腳本並自動選擇正確的sources.list 檔案。


編輯:如果你想擁有兩個都隨時可存取的儲存庫,並從最快的速度下載給定的套件(如果存在),您只需更改sources.list中儲存庫的順序。按照我上面建議的步驟進行操作,只需將 /etc/apt/sources.office.list 中的相關行設定為如下所示:

deb http://fastest.mirror.for.office
deb http://fastest.mirror.for.home

在 /etc/apt/sources.home.list 中,如下所示:

deb http://fastest.mirror.for.home
deb http://fastest.mirror.for.office

如果包存在具有相同版本在這兩個儲存庫中,apt 將從第一個儲存庫下載。

注意1:如果版本不同,無論儲存庫的順序為何,apt 都會取得最新版本。

注意2:這不會檢查儲存庫的下載速度。你必須自己做。要找到最快的鏡像,您可以嘗試使用 netselect-apt:

sudo apt-get install netselect-apt

軟體包 netselect-apt:

用於選擇快速 Debian 鏡像的速度測試器

該軟體包提供了一個實用程序,可以透過下載完整的鏡像列表並使用 netselect 找到最快/最近的鏡像來選擇最佳的 Debian 鏡像。

相關內容