Werden wir Helden für einen Tag

Home | About | Archive

Proxy 大作戰

Posted on Oct 25, 2010 by Chung-hong Chan

由於不太頂得順工作地方的 Windows 機,主要問題並不是 Windows 太難,而是 IT 部為電腦設了權限限制,連裝軟件都要用 Portable 版,那實在是太扯了。這樣的話,不如直接裝個 Linux 算,反正電腦是沒有限制 Bootdisk 及 Partition 切割。
Linux 總算裝好了,是 Ubuntu 10.10 。不過,企業環境有我認為最煩的東西,叫做 Proxy 。這個 Proxy 還不是一般的 Proxy ,還要 Authentication 。每次用非 Windows 的電腦上網,都要設定一大輪。用 Linux 的話更煩,因為 Ubuntu 是透過上網下載 update 的,裝軟件也得用上 apt 。
在 Firefox 上設定 Proxy 相對較易,因為在 Preference 就有。但是有些卻很隱密。奇就奇在, Ubuntu 的這個設定版面是不 Work 的。

在這個畫面設好 Proxy ,在 Terminal 底下 apt 或者 Synaptics/Ubuntu Software Center 依然未能上網下載 Update 。在 Terminal 下設定 http_proxy 此 environmental variable 的指令;

sudo export http_proxy=http://myuname:mypass@myproxy:myport

也是不 Work 的。要令 apt 支援 proxy ,要直接修改 apt 的 configuration file 。位置是 /etc/apt/apt.conf ,由於 Ubuntu 連 emacs 都不預設安裝,而我又不太會用 vim ,故此要用 nano 。

sudo nano /etc/apt/apt.conf

裡面應該見到 Ubuntu 試圖設定其 Proxy ,但卻設到一舊屎那樣。要自行修改或加入這句;

Acquire::http::Proxy "http://myuname:mypass@myproxy:myport"

修改過後, apt 就應該可用,甚至會即時爆出 Software Update 。

安裝了不少軟件,例如 R 、 emacs, gcin 之後,又出問題了,就是 R 不能上網下載 Packages 。這個相對較易,因為 documentation 多的是。一勞永逸的方法,是設定 ~/.Renviron 。詳細可看 R 的 documentation - Initialization at Start of an R Session

在 Terminal 輸入

emacs ~/.Renviron

你可以不用 emacs ,用你喜歡的 editor ( vim, gedit, nano ) 也可。
在檔案輸入

http_proxy=http://myuname:mypass@myproxy:myport

修改過後,無論用 Terminal 下的 R 或者在 emacs 的 ESS 也可以上網。
另一個煩友,是 Dropbox ,又是另一個不理 http_proxy Environmental variable 的煩膠軟件,又是要自己 Fix 。
此頁下載了 .deb 檔來裝之後,裝完是要另裝一個 dropbox daemon ,問題就來了,因為這個下載過程是 Proxy not aware 的,故此是會失敗。
解決方法是手動下載 daemon ,再將它解凍於 home 。((用 Archive Manager 也可以了,只要 Drag 到 home ,但那是隱藏的 dot directory 。))
在 terminal 下輸入

~/.dropbox-dist/dropboxd

就可以啟動 dropbox 的 daemon ,更可以在 Connect option 設定 proxy 。

你話 Proxy 煩不煩膠。


Powered by Jekyll and profdr theme