事實上,有幾個 Open souce 計劃,就是讓 Windows 上,能夠有一個類似 Unix 的環境,可以在其上執行 Shell 甚至 Unix 上的軟體及工具。這些工具中,最有名的,大概就是 Cygwin
了。
Cygwin 是由 RedHat 所贊助,是一套在 Windows 上模擬 POSIX 的環境,讓使用者可以利用 BASH 來操作 Windows。也就是說,讓你的 Windows 開一扇像 Unix 一樣的窗,讓你能用類似 Unix 的文字模式環境來控制你的電腦。用它來學 Unix,也是很好的途徑。當初我發現它以後,就是用它來當 Unix 的教學工具。
有些微軟的忠實信徒們會有疑問,幹嘛要用 Unix 那些奇怪、難學的指令在那種難用的文字模式下來操作、控制電腦?有人會客氣一點,會問在什麼場合才需要用到這樣的工具?事實上,系統管理上,在文字模式下,使用腳本語言,是自動化管理下最好的利器。
在十二年前到七年前這六年中,我也曾是微軟的忠實信徒,除了微軟餵給我的東西以外都是不碰的。但是,當我開始因為工作被迫接觸 Oracle 後,不得已開始接觸 Unix,我才發覺在系統管理和網路管理上,GUI 並不是工作效率代表。尤其是自動化作業,GUI 環境必須仰賴客製工具,可能是由商業公司提供(好運一點,有些微軟出的管理的工具就提供這些功能),或外包軟體公司訂製,畢竟 Windows 系統程式不是那麼容易寫的東西。但是一旦發現有些功能沒有提供時,如果外包公司不願修改,外購軟體的代理商技術不足時,這時常常令 IS 人員非常頭痛。
相反的,純文字的系統,最大的優點就是自動化,因為很輕易的可以用腳本語言替自己訂製自動化管理程式。所以 Microsoft 才會出了一套 Script 專門在做自動化作業。但是就算有了 Microsoft script,大部份的場合效能上還是比不上透過 ssh 和 Cygwin 以文字模式,以最簡便的方式遠端遙控你的 Windows 伺服器。然後用自己所撰寫的腳本語言搭配像 sftp 這樣的安全傳輸工具及 cron 來得有效率、彈性及安全。
要安裝 Cygwin,要先從網站下載新版本的安裝程式。注意,就算你曾經下載過了,一段時間後最好是重新下載。原因是,Cygwin 的 DLL 每隔一段時間就會更版,有時更版的版次差距稍大時,會有不相容的情況。但是就算如此,其實也不用太擔心,因為你的安裝程式會自動感知,一旦發現你的 DLL 版本過時了,會提醒你重新到 Cygwin 網站去重新下載。你也可以自行到 Cygwin 網站首頁找
這個圖示,按下這個圖示即可下載。
我建議您把下載的檔案 setup.exe 另存在另一個硬碟中,建議的目錄是 C:CygwinInstaller (您也可以選用 D: E: F: ... 等其它的硬碟)。然後直接開檔案總管,找到你剛才下載的 setup.exe,直接雙擊滑鼠左鍵執行它。如果你的作業系統是 XP SP2,那麼可能系統會出現安全性警告,不用理會,逕自執行之。
接著,你會看到版權提示對話方塊,這個畫面你不用理會它,逕自按下「下一步(N)>」。然後就會出現「Choose A Download Source」對話方塊。就像下圖所示。
建議您選擇第一項,Install from Internet。這樣的話,安裝程式會先把檔案下載下來,下載完畢會立即安裝軟體,不用另行安裝。如果你選的是第二項,Download Without Installing,這樣只會下載套件,不會安裝,日後當你想要安裝時,可以再選第三項,Install from Local Directory,這樣就會將你日前下載的套件安裝起來。也就是說,後兩項是一套的。有這樣的選項是因為這個世界上並非到處都是專線或像 ADSL 這種和專線差不多的 Internet 接線方式,有些地方還是用撥接方式,而且是計時收費。這樣的情況,選擇後兩者是比較經濟的選擇。
接著出現下面的畫面:
Root Directory 處要輸入的是你要安裝 Cygwin 的目錄,同時也是將來 Cygwin 執行時,根目錄「/」真正的位址。通常都是使用預設值,也就是 C:Cygwin。你也可以自己更動這個預設值,當然最好你能記得它,不然將來在一開始和 Windows 搭配使用時,會造成你一點點小小的困擾。
Install for 也就是詢問你,Cygwin 安裝好了以後,是只讓你自己使用呢?還是機器上所有的使用者都可以使用。建議與預設值是後者,All users。這裡我必須強調,你必須選擇此項。因為未來我將介紹如何在 Windows 上安裝 sshd 這類的網路應用,而這些應用都是以 service 這個使用者執行的,如果你只讓自己使用,像 sshd 這類的服務將無法執行(權限不足)。
至於 Default Text File Type,最好也是按照建議值,選用 Unix/binary。不然將來在安裝一些 Unix 專屬工具時,有可能會出現不可預期的錯誤。
當你再按下一步時,這時就出現了下面的這個對話方塊。
這個對話方塊,主要是詢問你打算把下載下來的套件安裝程式放在哪一個目錄?預設是 C:CygwinInstaller,你可以更改。通常我會建議指向你下載 setup.exe 所存放的目錄,這樣可以把所有安裝的資料整理到一個目錄下。
再按下下一步時,這時會出現下面的對話方塊。因為安裝程式是從 Internet 上下載下來,由於很多人的環境不是使用直接連線上網,而是採用 Proxy server 上網,尤其是一些中、大型企業內部,為了安全性考量,不會讓員工使用直接連線上網。這時候你可以考慮用下面的這兩種連線上式。如果 IE 的設定就指向你的 Proxy server,那麼你就沒必要選第三項,選第二項讓安裝程式自行去向系統索取 Proxy server 資料。
這次按下一步時,安裝程式會先到網路上搜尋一下伺服器清單,接著出現下面這個對話方塊:
這個對話方塊是詢問你想要從哪一個伺服器下載安裝程式。當然找越靠近自己的越好。在台灣,你就找 .tw 結尾的準沒錯,不過目前台灣好像只有畫面中的這兩個學校在清單上。通常新竹附近的學校或一般 ISP 的用戶,建議是連接交通大學的伺服器(ftp.nctu.edu.tw),但是這不是必然的。像我,就會故意選台灣大學的伺服器 (ftp.ntu.edu.tw)。台北附近學校的學生最好也是選台大,分散一下交大的伺服器的負載。
下一步是選擇想要安裝的套件。建議先選預設值,將來再從這裡找打算加裝的軟體。
你也可以先瀏覽一下有哪些套件可以選擇。但是建議不要一口氣裝太多東西。就算你不在意花時間等程式下載,也不在意占掉一堆硬碟空間,但是基於安全性的考量,安裝軟體數還是適可而止。另外安裝的軟體別忘隨時盯緊它的專案首頁,一旦有更版,尤其是為了安全性考量而作的修正版本出現時,隨時重新執行 setup.exe 來更新套件。我個人認為,vim 是一定要先裝的,但是 setup.exe 預設並沒把它加進來,所以你可以趁這個時點先把它加上去裝起來。
安裝好了之後,會問你要不要在桌面或開始功表上建立圖示。這由你自行決定。
最後,就出現安裝完成的對話方塊。恭喜你,完工了。
接著你可以按下 Cygwin 的圖示
,執行它。第一次執行時,可能會有一段設定環境的動作,稍等一回兒,就會出現下列的視窗。恭喜你,安裝成功了。
這時候可能像 vi 這些編輯軟體都還沒安裝起。如果這時候你想把 vi 裝起來,請重新執行 setup.exe。
Cygwin 早期並不理想,尤其和 Windows 的協同合作上,常常發現問題重重。從權限、安全性的設定,到 IPC 的運作,以及磁碟 mount 架構,甚至程式運行的順暢性,每個環節都很不穩定。但是大約從兩年前開始,整個架構穩定下來後,一切運行也順暢起來,開始有 Unix 與 Windows 間的橋樑的架勢。
未來,我將慢慢以系統管理的角度,來介紹如何運用 Cygwin 這麼一把瑞士小刀,安裝一些著名、好用的 Open source 工具,來擴充 Windows 的功能。
回應
謝謝
謝謝
good
good