news banner

microsoft linux

Linux發行版?傻傻分不清

什麼是Linux發行版(distribution)呢?字面上的意思就是「Linux」的「發行版本」。讓我們先來認識什麼是Linux。

很多從未真正接觸過Linux的人,或是只用過Microsoft Windows作業系統的人,一聽到「Linux」,常會以為Linux是一家公司的產品名稱,其實並不是這樣。嚴格來說,Linux單指的是作業系統的核心(Kernel),但如今口語化的考量,Linux已經用來泛指 ”Linux完整作業系統”,核心則改稱Linux核心。

那什麼是發行版?一套完整的作業系統,單純只有核心是不夠的,還需要結合其他軟體工具。所以有很多的商業公司或非營利團體,將Linux kernel與開源軟體(open-source software),以及一些該公司特有的軟體工具(some proprietary software)等組合起來,那便是Linux發行版,也就是一套完整的Linux作業系統,如下圖:

Linux distribution

開源軟體(open-source software):

每個Linux發行版通常都會收錄使用者常用到的開源軟體,例如gcc,也就是C語言的編譯器。不太可能有哪家的Linux發行版,敢不收錄C語言的編譯器吧!

公司特有的軟體工具(proprietary software):

就是公司為自己的發行版預裝的工具。舉個例子來說,各發行版都有自己的套件管理工具。假如今天你想在自己的系統上安裝網頁伺服器Apache,發行版甲使用的是YUM這個套件管理工具,發行版乙則使用APT這個套件管理工具,其中YUM與APT就是發行版各自的proprietary software,讓使用者用不同的工具(YUM, APT)去達到相同的目的(安裝Apache)。

Linux發行版商,有很多家,最常見的如下:

  • CentOS,從Red Hat發展而來的發行版,由志願者維護,旨在提供開源的,並與Red Hat 100%相容的系統。
  • Debian,一個強烈信奉自由軟體,並由志願者維護的系統。
  • Elementary OS:基於Ubuntu,介面酷似Mac OS X。
  • Fedora,是Red Hat的社群版,會經常引入新特性進行測試。
  • Gentoo,一個面向高階用戶的發行版,所有軟體的原始碼需要自行編譯。
  • Knoppix,第一個Live CD發行版,可以從抽取式介質執行,Debian的衍生版。
  • Kubuntu, 使用KDE桌面的Ubuntu。
  • Linux Mint,從Ubuntu衍生並與Ubuntu相容的系統。
  • Mandriva,最初為Red Hat的衍生版,現在由法國一個同名的公司維護。
  • OpenGEU,Ubuntu的衍生版。
  • openSUSE,最初由Slackware分離出來,現在由Novell維護。
  • PCLinuxOS,Mandriva的衍生版本,由社群維護的非常流行的發行版。
  • Red Hat Enterprise Linux,Fedora的商業版,由Red Hat維護和提供技術支援。
  • Slackware,最早的發行版之一,1993年建立,由Patrick J. Volkerding維護。
  • Ubuntu,一個非常流行的桌面發行版,由Canonical維護。

只要討論到伺服器,常會聽到某某某用的Linux是CentOS,或是Ubuntu,這些名詞,其實就是在講Linux發行版!

不管是哪家的Linux發行版,他們的共同點,就是一定會遵循Linux kernel!

註:Apache HTTP 伺服器誕生於 1996 年,目前它是全球最多人使用的Web 伺服器,屬於 Apache 軟件基金會項目,伺服器市佔率最高時曾經佔全球 70%。Apache 這個名稱是為了紀念北美印第安人的一個部落。

 

開放原始碼vs封閉原始碼

說到Linux,就不能不說說什麼是開放原始碼。開放原始碼和封閉原始碼是兩個相對的概念。

開放原始碼(Open Source):在軟體推出時,會一併公開程式的原始碼。

這種方式的特色是:如果我向對方購買了一個軟體也取得程式的原始碼,我只要有意願,便可以加以修改,推出符合自己需求且功能更適合的程式。開放原始碼軟體的好處是可以集合眾人之力來發展軟體,如果參與的人數夠多,便可促使軟體快速發展。

Linux就是在Open Source下的產物,從自己kernel到作業系統上的軟體工具,每樣都是Open Source,意味著你有能力的話可以隨意修改任何東西來達到自己的需求。

封閉原始碼(Closed Source):在軟體推出時,並不會公開程式的原始碼。

因此如果想要軟體有什麼新功能, 其他人並無法自行修改原始碼,只能希望軟體開發者於下一版推出時更新。

Miscrosoft Windows就是此類軟體的代表作品,一旦將原始碼封閉起來便會有相當大的問題產生,軟體廠商要搶佔市場軟體生產的速度便要快,然而軟體的品質就很難維持,程式的穩定度與品質便沒有保障。例如:1. 封閉原始碼的 IE 瀏覽器,受「潰客」入侵的比率高於其他瀏覽器,2. 前陣子在Windows大肆虐的勒索病毒,但相較於Linux卻相安無事。

和一般人直覺不同的是,資訊安全專家認為:好的演算法,應該攤在陽光下!把程式碼隱藏起來,並不會比較安全,只是讓漏洞難以修補。攤在陽光下,就可以讓所有資訊專家檢驗。如果沒有專家看得出漏洞,那麼這個演算法才比較可能是安全的。

 

Open Source時代來臨

Open Source(開源碼)是時代趨勢,Open Source軟體不時出現在你所使用的日常電腦的桌面上,例如Firefox瀏覽器、Apache網頁伺服器、git版本控制器等。我們選擇Open Source軟體的理由,主要是低成本、安全而且無病毒侵害、更加透明性和開放等,且允許自由發行。

Linux誕生至今已經有20多年,目前,Linux 伺服器已佔全球 95% 的伺服器系統市場,技術已經非常成熟穩定,雖然 Linux 並不是第一個Open Source的產物,但它仍然是最成功和最具影響力的作業系統之一。

舉個例子,我們生活所用的手機,除了常聽到的蘋果手機,還有個市佔率最高的作業系統安卓(Android),更是基於Linux核心所開發的!

 

Microsoft Love Linux

Satya Nadella(現任CEO)在2014年接任Miscrosoft CEO之後,不久就喊出”Miscrosoft Love Linux”這樣的口號,為什麼微軟也會有這樣的轉變呢?

微軟開始打破長年封閉式的作風,陸續釋出一些程式碼,並推出與開放原始碼整合的服務,近幾年,不僅給Linux貢獻原始碼,還在微軟公有雲服務Azure上支援Linux。

在Google上市之前,微軟一直把Linux做為主要的競爭對手。那時候微軟在PC稱王,且那時候網際網路也還不是像現在隨處可見可隨意上網獲取你想要的資料。

如今20多年過去了,當初爭奪之地 — 桌面型作業系統,現在僅是雙方業務的一小部分,雙方面對的是:網際網路、雲服務、物聯網等更大的視野,雖然微軟運行在數以萬計使用者PC設備上,贏得了傳統桌面型作業系統的勝利,但除了桌面外的所有計算領域,幾乎全是Linux的天下!

對現任微軟CEO Satya Nadell來說,Linux不再只是對手,也是需要拉攏的合作夥伴。2013年誕生的容器化技術docker,在很短時間內改變了全球IT界,由於docker誕生時理念是源自於Linux,只能在Linux上執行,如果微軟不有所改變,就會在容器化技術的浪潮中落後。

在微軟也不得不說出“Miscrosoft Love Linux”的今天,任何人都可以看出,Linux的時代真的來了。

 

作者:德鴻科技 研發部 Andrew