四個原因令Linux更適合作Server
在Tecky Academy教學中,間中會有同學問:「點解唔用Microsoft Windows做Server?用Linux有咩好處?」 誠然,於消費者電腦(不計算智能電話) 市場中,Windows有七成市佔率,Mac佔了一成,Linux只有可憐的一個百分比。為何在伺服器的市場上,卻是反而Linux占有約六成,擁有最大的市場份額呢?
桌面及手提電腦操作系統市場份額
伺服器操作系統市場份額
原因解讀
究其原因,是因為Linux 相對於Windows,有幾個優勢:
Linux穩定性高
穩定性於伺服器中至關重要。因為普通使用者可以重啟電腦,但伺服器重啟代表網上服務中止,如果大家還記得的話,WhatsApp年中時只 是有半小時的伺服器問題,已令大家手足無措,於今日互聯網世代,用戶期望應用程式任 何時候都要保持服務,任何中途停機已不可能獲接受。
大家用過Windows,都相當清楚Windows每隔一陣都須要重啟,以安裝保安更新等,但此類情況於高負載伺服器而言,無異於痴人說夢了。 Linux不同Windows,除了安裝新核心以外無須重啟,自然更適合用作伺服器之上。
順帶一提,大家常用的Router、Switch、甚至乎令你能閱讀這個網站的ISP Router,大部份都是使用Linux作為操作系統。
Linux 有須要的軟件
大家可能覺得奇怪,通常對Linux的印象是Linux總是沒有慣用的軟件: Photoshop, Microsoft Office等在Linux上都不能運行。但其實 在系統管理方面,情況恰恰相反。使用Windows Server,由於沒有套件管理員(package manager),經常需要於網絡上逐一下載所需的軟件。 但對系統管理者來講,這絕對是一件苦差。由於軟件間不一定相容,結果安裝軟件變成要自己找出最相容的版本,相當浪費時間。
而Linux大多數都有良好的套件管理,例如Debian based Linux常用的 apt及Redhat based Linux常用的rpm,兩者都是一兩句command就能安裝所需的軟件。舉例,要安裝Node JS Run time,於Ubuntu的裝法就正如下圖所示
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
sudo apt-get install -y nodejs
然後所有相關的套件都會跟着安裝好,比起要逐個下載,明顯更為便捷。
Linux 代碼開源
Windows的代碼是閉源的,也就是只有Microsoft可以更改Windows的代碼;然而Linux的代碼是開源的,意味著所有人都可以更改及閱覽Linux的代碼。 因此如果出現一些難以解決的問題,在無計可施之下,可以自行閱讀代碼解決問題。 加上一些公司甚至乎會customize 自己的Linux,令其更適合自己公司使用。
Linux代碼開源亦締造了一個良性循環,很多開源軟件開發者都會選擇Linux作為發佈的操作系統,令管理Linux的系統使用者有更大彈性。
Linux方便用Command Line
此點於以前破除迷思系列:用Command Line 的都是Hacker?已約略 探討過,Linux 繼承自Unix,有相當强的command line 傳統,因此許多有用的工具都是專為command line 而設。 Windows於command line tools 上的匱乏於Bash On Ubuntu On Windows發佈之後有所改善,但始終並非完全與所有Windows feature相容。
Mac呢?
與大家普遍所理解的相反,其實Mac也有Server,只是市佔率之低,根本乏善足陳。由於Mac的核心本身是基於FreeBSD所開發,FreeBSD是一個比Linux歷 史更久的一個Unix發行版,效能上有時甚至比Linux更好。着實Mac Server於這情況下,只在一個可有可無的地位。因此在討論 Server operating system時,Mac就很容易被忽略了。
超級電腦呢?
如果以上的原因都未能令你信服的話,大家不妨一看超級電腦世界,在超級電腦的世界,Top 500都是使用Linux 系統作為 操作系統,箇中原因,自然是因為Linux比Windows及Mac更適合於此等超高效能的情況下運作。
後話
有人會問Linux這樣好,為何沒在桌面/手提電腦市場落地生根,這是一個相當有趣的問題,可以留待下次探討,而如果想簡單一句概括的話, 就是Linux普遍用戶界面都相當慘不忍睹,一般使用者自然不會費神去使用啦。