2011年2月23日 星期三

選擇 Linux 安裝套件 (Distribution)

要安裝 Linux EDA 伺服器之前,必須先安裝 Linux 伺服器,在介紹 Linux 伺服器安裝前,我們先討論 Linux 安裝套件 (Distribution) 的選擇。絕大多數的 EDA 伺服器所要求的 Linux 安裝套件是 RedHat Enterprise Linux (RHEL),但是 RHEL 有個比較麻煩的問題在於此 Linux 是商業版本,必須要另付技術諮詢費用才能更新。

如果各位不曉得更新重要性的話請回想一下各位在使用 Windows 時是否經常出現自動下載/安裝更新的圖示,這是因為作業系統在開發的階段有某些問題沒有在設計時想清楚,結果變成漏洞而使得系統的安全性/穩定性受到影響。筆者很喜歡引用電影「戰鬥巡航」(戰鬥巡航是星艦迷航 (Star Trek) 電影第八集,其中文資料可看:http://zh.wikipedia.org/zh-tw/星艦奇航記VIII:戰鬥巡航 而英文資料可看:http://www.imdb.com/title/tt0117731/)中的片段來說明這個情況。在戰鬥巡航中,百科 (Data)少校遇上了博格女王 (Borg Queen) (博格女王是博格人(一種半生物半機器的外星種族)的首領,其資料詳見:http://www.startrek.com/startrek/view/library/character/bio/1112104.html)

,博格女王對百科說了一句意義十分深遠的話:「你是不完美的存在,因為你是由不完美的生物所創造出來的,找出你的弱點只是時間上的問題。(You are an imperfect being, created by an imperfect being. Finding your weakness is only the matter of time)」。這句話可以相當程度的解釋了為什麼作業系統特別是 Linux 套件會常常需要更新:因為它是由人類(不完美的生物)所創造出來的,因此 Linux 不是一個完美的作業系統,找出 Linux 系統的缺點 (漏洞)只是時間上的問題。但是 Linux 的套件更新速度十分的快速,只要有漏洞被發現,幾乎在一週之內就有更新可以下載。因此只要勤於更新,我們可以儘量讓 Linux 處於完美與安全的狀態。

因此,以安裝 Linux 伺服器的角度而言,如何能隨時修補漏洞就是一件首要之務,由於我們架設的 EDA 伺服器通常是 24 小時運轉,而且為了要能通過 CIC 的 License 驗証,所有的 Linux EDA 伺服器「理論上」是要使用真實 IP (real ip),使用真實 IP 的缺點是主機是對全世界公開的,如果沒有確實作好作業系統漏洞修補的話很快會受外界入侵,事實上有許多大學的主機被當跳板也就是起源於此。

講了那麼多,我們要回歸到重點:如果安裝 RHEL 伺服器但沒有定期更新修補漏洞的話,我們所安裝的伺服器很容易就會被「破台」。這不是重灌就可以解決的事,因為重灌主機沒有修補漏洞的話問題仍然在那邊,有心人士仍舊可以來入侵我們的主機。因此如果要使用 RHEL 來架設 Linux EDA 伺服器請先確認各位有付錢購買後續的系統更新服務,否則無法修補漏洞會帶來意想不到的後果。

講了那麼多結果結論是這樣,那有更好的建議嗎 ? 就筆者的角度來看,各位可以選擇 CentOS (CentOS 官方網址:http://www.centos.org/) 或是這本書要介紹使用的 Debian Linux \footnote{Debian 官方網址:http://www.debian.org/}。我們一一說明兩者的不同:

CentOS

CentOS 是自 RedHat Linux 的原始碼包裝 (package) 所編譯而成的 Linux 套件,基本上 CentOS 的版本是隨著 RHEL 而改變,如果稱 CentOS 為「免費版的 RHEL」並不為過。但是 CentOS 與正式版本的 RHEL 還是有某些差異性存在:
  • 使用 CentOS 無法享有原廠的技術支援與售後服務。
  • 某些封閉原始碼軟體在 CentOS 中亦沒有提供。
  • CentOS 不保証與 RHEL 一模一樣。
由於 CentOS 自 RHEL 衍生而來的特色,因此對於一般「窮得只剩下 EDA 軟體」的學校單位來說是最好的選擇,使用 CentOS 至少有以下優點:
  • 「理論上」與 RHEL 相容,因此可以支援 EDA 軟體。
  • 免費下載使用,可以隨時更新漏洞,以免系統遭受穩定性/安全性之問題。
  • 未來會配合 RHEL 的版本更新推出相對應的版本。
就上述角度來看,使用 CentOS 來架設 Linux EDA 伺服器不失為一個合理的選擇。但就筆者的看法,Debian Linux 是更好的選擇,以下會大致介紹 Debian Linux。

Debian

所謂 Debian Linux 套件,是由 Ian Murdock 與其妻子 Debra 所創造出來的 Linux 套件。隨後吸引了網路上無數 Linux 愛好者的共同參與發展,至今(2011/2)已推出 6.X 版 (代碼:Squeeze)。Debian 套件的精神在於強調「自由」,其套件軟體均以開放原始碼軟體為主,因此十分符合本計畫所倡導的開放原始碼精神。另一個 Debian 值得推薦的優點在於其套件的更新分為三個層級,分別為:穩定(Stable)、測試 (Testing) 與不穩定 (Unstable)。其中穩定層級之軟體均是經過一再檢查確定其軟體安全性與穩定性均到達一定標準後才能編入穩定層級。而測試層級中的軟體版本則較穩定層級來得新,但是尚未經過完整的驗証,因此不列入穩定層級,必須經過一番時日的驗証後才能進入穩定層級。至於不穩定層級中的軟體則是最新版,但大部份尚未經過驗証,其穩定性亦較差,此層級僅供測試使用。由於 Debian 套件對於系統穩定性的要求極為嚴謹,因此重視系統穩定性的使用者可以確保其作業系統的穩定與安全性。

除了 Debian 本身的穩定性之外,其套件的升級方式亦值得一提:Debian 採用 APT 的機制來進行軟體安裝與管理,在 APT 的機制下使用者可以選擇網路上連線速度快的主機來進行軟體的更新與安裝、移除動作。在某些軟體發現有漏洞的情況下,亦可連接至 security.debian.org 網站來進行線上更新的動作。以上所描述之軟體安裝與更新、移除等動作完全不需向任何個人/公司繳交軟體費用。因此對於飽受微軟昂貴升級價格的公司而言,更是一大福音。

沒有留言:

張貼留言