台灣的學術網路連國外很慢是眾所皆知的事情….但是像 Ubuntu 這種系統,雖然有國內的 mirror,但是有些東西,像是 ppa 之類的 source,還是得從國外抓。今天剛裝完機器要更新,發現有些東西實在龜到不行,426B/s 耶!雖然最後我抓完了啦…..不過還是要研究一下該怎麼透過 proxy 抓這些套件。
方法很簡單,只要在 /etc/apt/apt.conf
裡面寫入以下這段設定:
ACQUIRE {
http::proxy "http://USER:PASSWORD@PROXY-SERVER:PORT"
}
使用者帳號密碼、server 資訊請自行更改,如果是不需要帳號密碼的 proxy server 的話,則引號中只要打 http://PROXY-SERVER:PORT
即可。如果連 port 都不打的話,則預設的 port 是 80(也就是 http 的預設 port)
接著只要更新套件清單,並安裝想要的套件就好。如果設定有誤,應該會在 update 的時候就出錯了。(像我一開始設定到一台已經不能用的 proxy server,就直接噴 error 給我看…..)
那麼,該設定哪一台 proxy server 呢?我找到了一份(有點舊的)proxy 列表,剛好是成大的人做的的樣子,請看參考資料。
其中我是覺得 NCHC 的 proxy server 好像滿可靠的(好歹人家是NCHC…)如果那份列表的連結以後不能用了,可以試試看這台…
至於,wget 又是怎麼回事?噢…只是因為我發現我去找 proxy 相關資料的時候,很多文章都會同時教 apt 跟 wget 怎麼設定 proxy,那我就從善如流,把相關的資訊照抄一下了~
編輯 /etc/wgetrc
或是 ~/.wgetrc
,加入以下設定:
https_proxy = http://PROXY-SERVER:PORT
http_proxy = http://PROXY-SERVER:PORT
ftp_proxy = http://PROXY-SERVER:PORT
應該很好懂吧?
在我的 Ubuntu 10.04 上這幾行本來就已經存在 /etc/wgetrc
裡面了,用的是 proxy.yoyodyne.com:18023
這台機器,不過預設是註解起來的。所以如果想使用的話,其實只要編輯一下就可以了:)
(碎碎唸:本來應該用 https 抓的東西卻透過 http proxy 去抓不會不好嗎…不是應該要用 https proxy….?)
參考資料
Last modified on 2010-06-04