我有一個剛安裝的 Ubuntu 11.10 伺服器。現在,如果我嘗試對做任何事情apt-get
,它會嘗試連接到archive.ubuntu.com
..它會在[Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]
階段停留大約 2 分鐘,之後它實際上開始通信並下載東西...
最終它總是連接,但每次都在該階段等待[Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]
大約2分鐘!
我之前在 Ubuntu 11.10 上沒有遇到這個問題,重新安裝作業系統後..
關於問題可能是什麼的任何想法嗎?
答案1
我在 12.10 上透過編輯解決了這個問題/etc/gai.conf並取消註解該行:
#
# For sites which prefer IPv4 connections change the last line to
#
precedence ::ffff:0:0/96 100
這可讓您保持 IPv6 啟用,但將優先順序設定為優先選擇 IPv4 而不是 IPv6。
答案2
解決方案:
我解決了這個問題。正如《時間之王》所指出的,我必須停用 IPv6 連線。
在終端機中執行以下命令可判斷 IPv6 是否已啟用:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0
表示已啟用,而1
表示已停用。
若要從終端機內停用 IPv6,請輸入以下內容:
echo "#disable ipv6" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
重新運行第一個命令,1
現在應該是這樣了。
答案3
如果您只想修改 apt-get,那麼您可以使用以下命令強制使用 IPv4:
apt-get -o Acquire::ForceIPv4=true update
若要使設定持久化,請在 /etc/apt/apt.conf.d/ 中建立檔案 99force-ipv4。
sudoedit /etc/apt/apt.conf.d/99force-ipv4
將以下內容放入其中:
Acquire::ForceIPv4 "true";
儲存文件,然後就可以開始了。如果您想強制使用 IPv6,請將檔案名稱和設定中的 4 變更為 6。要在其中一個中進行選擇,請使用快速方法進行測試,看看哪種效果更好。