Linux 由來: https://zh.wikipedia.org/wiki/Linux

Linux官方的吉祥物,一隻叫Tux的企鵝

 

  • 初學者最常問的問題就是:『我已經安裝好了 Linux 了,接下來要幹嘛?!』呵呵!老師們最常講的一句話就是: 『那就開始學習如何"開機"跟"關機"呀!
  • 不論是什麼軟體, 都得要進行編譯成為二進位檔案(binary program)後才能夠執行



  •  
  •  

 

UNIX 的產生

美國AT&T公司貝爾實驗室於1969年完成的作業系統
最早由肯·湯普遜Ken Thompson),丹尼斯·里奇Dennis Ritchie),道格拉斯·麥克羅伊Douglas McIlroy),和喬伊·歐桑納Joseph F. Ossanna )於1969年在AT&T貝爾實驗室開發。

Thompson 的這個檔案系統有兩個重要的概念,分別是:

  • 所有的程式或系統裝置都是檔案
  • 不管建構編輯器還是附屬檔案,所寫的程式只有一個目的,且要有效的完成目標。

這些概念在後來對於Linux的發展有相當重要的影響喔!

Unix的前身是由貝爾實驗室(Bell lab.)的Ken Thompson利用組合語言寫成的, 於1971年首次發布,後來在1971-1973年間由Dennis Ritchie以C程式語言進行改寫,才稱為Unix。

UNIX 初期發展趨勢

在1973年用一個重要的開拓性的方法,Unix被丹尼斯·里奇程式語言C(核心和I/O例外)重新編寫。高階語言編寫的作業系統具有更佳的相容性,能更容易地移植到不同的電腦平台。

1973 年 UNIX 正式對外發表。
初期 AT&T 採較為開放的政策,允許玩家針對原始碼進行修正。
UNIX 兩大分支: BSD
(Berkeley Software Distribution) 及 System V。

UNIX 後來發展趨勢

AT&T 基於商業利益的考量,而開始宣稱其為 UNIX 的版權所有者。
具研發能力者開始發展出一套與 UNIX 功能差不多,但並未抄襲 UNIX 原始碼的作業系統,並可運作在 x86 電腦上,此即為    UNIX-Like OS

重要的 1984 年

最出名的 UNIX-Like 是在 1984 年誕生的 Minix。

MINIX是一個輕量小型並採用微核心(Micro-Kernel)架構的類Unix作業系統,是安德魯·斯圖爾特·塔能鮑姆為在電腦科學用作教學而設計的。
1983年,理察·馬修·斯托曼 Richard Stallman 創立GNU計劃。此計畫最終目標是在發展一個 Unix-Like 且為自由軟體的完整作業系統。

自1984年發起這個計劃以來,在1985年,理察·馬修·斯托曼發起自由軟體基金會並且在1989年撰寫GPL

GPL (General Public License) 為軟體授權模式,只要軟體以 GPL 對外發行,表任何人可自由免費取得該軟體與原始碼,您可複製這個軟體,也可修改其中的原始碼。

 

  • 使用者可以自由的執行、複製、再發行、學習、修改與強化自由軟體

"Free software" is a matter of liberty, not price. To understand the concept, you should think of "free speech", not "free beer". "Free software" refers to the users' freedom to run, copy, distribute, study, change, and improve the software.

1990年代早期,GNU開始大量地產生或收集各種系統所必備的元件,像是——函式庫、編譯器、偵錯工具、文字編輯器,以及一個Unix的使用者介面(Unix shell)——但是像一些底層環境,如硬體驅動守護進程、系統核心(kernel)仍然不完整和陷於停頓,GNU計劃中是在Mach微核心的架構之上開發系統核心,也就是所謂的GNU Hurd,但是這個基於Mach的設計異常複雜,發展進度則相對緩慢。

 

  • 一個軟體掛上了GPL版權宣告之後,他自然就成了自由軟體!這個軟體就具有底下的特色:
  1. 取得軟體與原始碼:你可以根據自己的需求來執行這個自由軟體;
  2. 複製:你可以自由的複製該軟體;
  3. 修改:你可以將取得的原始碼進行程式修改工作,使之適合你的工作;
  4. 再發行:你可以將你修改過的程式,再度的自由發行,而不會與原先的撰寫者衝突;
  5. 回饋:你應該將你修改過的程式碼回饋於社群!
  • 但請特別留意,你所修改的任何一個自由軟體都不應該也不能這樣:
  1. 修改授權:你不能將一個GPL授權的自由軟體,在你修改後而將他取消GPL授權~
  2. 單純販賣:你不能單純的販賣自由軟體。

 

核心  (Linux Kernel)  的產生

核心研發者:Linus-Torvalds, 是位在芬蘭赫爾辛基大學資訊系就讀的高材生。
Linus 當時使用 Minix OS, 但因    Minix 無法滿足其使用上須求,於是開始撰寫核心程式。

Linus 於 1991 年於網路上釋出第一個核心版本 0.0.2 版,並將其命名為Linux (Linus' minix)。

  • Linus Benedict Torvalds 曾說過如果GNU核心在1991年時可以用,他不會自己去寫一個。

林納斯·托瓦茲開始在MINIX上開發Linux核心,為MINIX寫的軟體也可以在Linux核心上使用。後來使用GNU軟體代替MINIX的軟體,因為使用從GNU系統來的原始碼可以自由使用,這對Linux的發展有益。使用GNU GPL協定的原始碼可以被其他項目所使用,只要這些項目使用同樣的協定發布。為了讓Linux可以在商業上使用,林納斯·托瓦茲決定更改他原來的協定(這個協定會限制商業使用),以GNU GPL協定來代替。之後許多開發者致力融合GNU元素到Linux中,做出一個有完整功能的、自由的作業系統。

命名

Linux的第一個版本在1991年9月被大學FTP server管理員Ari Lemmke發布在Internet上,最初Torvalds稱這個核心的名稱為"Freax",意思是自由("free")和奇異("freak")的結合字,並且附上"X"這個常用的字母,以配合所謂的類Unix的系統。但是FTP伺服器管理員嫌原來的命名「Freax」的名稱不好聽,把核心的稱呼改成「Linux」,當時僅有10000行程式碼,仍必須執行於Minix作業系統之上,並且必須使用硬碟啟動;隨後在10月份第二個版本(0.02版)發布,同時這位芬蘭赫爾辛基的大學生在comp.os.minix上發布一則訊息

Hello everybody out there using minix- I'm doing a (free) operation system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.

Linux的標誌吉祥物是一隻名字叫做Tux企鵝,標誌的由來有一說是因為Linus在澳洲時曾被一隻動物園裡的企鵝咬了一口,便選擇企鵝作為Linux的標誌,但更容易被接受的說法是:企鵝代表南極,而南極又是全世界所共有的一塊陸地。這也就代表Linux是所有人的Linux。

系統架構

 

基於Linux的系統是一個模組化的類Unix作業系統。Linux作業系統的大部分設計思想來源於20世紀70年代到80年代的Unix作業系統所建立的基本設計思想。Linux系統使用單核心,由Linux核心負責處理行程控制、網路,以及外圍裝置檔案系統的存取。在系統執行的時候,裝置驅動程式要麼與核心直接整合,要麼以載入模組形式添加。

Linux distributions的組成含有:『Linux Kernel + Free Software + Documentations(Tools) + 可完整安裝的程序』所製成的一套完整的系統。

Linux可完整安裝發佈套件

Linux具有裝置獨立性,它核心具有高度適應能力,從而給系統提供了更進階的功能。GNU使用者介面組件是大多數Linux作業系統的重要組成部分,提供常用的C函式庫Shell,還有許多常見的Unix實用工具,可以完成許多基本的作業系統任務。大多數Linux系統使用的圖形化使用者介面建立在X視窗系統之上,由X窗口(XWindow)系統通過軟體工具及架構協定來建立作業系統所用的圖形化使用者介面。

已安裝Linux作業系統包含的一些組件:

  • 啟動程式:例如GRUBLILO。該程式在電腦開機啟動的時候執行,並將Linux核心載入到記憶體中。
  • init程式:init是由Linux核心建立的第一個行程,稱為根行程,所有的系統行程都是它的子行程,即所有的行程都是通過init啟動。init啟動的行程如系統服務和登入提示(圖形或終端模式的選擇)。
  • 軟體庫包含代碼:可以通過執行的行程在Linux系統上使用ELF格式來執行檔案,負責管理庫使用的動態連結器是「ld-linux.so」。Linux系統上最常用的軟體庫是GNU C庫
  • 使用者介面程式:如命令行Shell或窗口環境。

作業系統產生

完整作業系統需為核心、系統工具、應用程式的組合。

作業系統的角色
1992 年,Linux 與 GNU 之系統工具結合,而正式成一套 GNU/Linux 作業系統。
Linux Distribution: 把 linus Torvalds 寫的核心與 GNU 相關程式工具加以整合,並搭配自己所寫的程式項目,整合起來提供讓使用者方便安裝使用,這樣一套系統稱呼為 Linux Distriubution。
目前存在的 Linux Distributions 有數十種版本之多,其中最常見者有 RedHat、Mandriva (原 Mandrake)、Debian (GNU)、Slackware、S uSE、Turbo Linux 、Fedora、CentOS、Ubuntu、… 等等。

Linux發行版指的就是通常所說的「Linux作業系統」,它一般是由一些組織、團體、公司或者個人製作並發行的。Linux核心主要作為Linux發行版的一部分而使用。通常來講,一個Linux發行版包括Linux核心,以及將整個軟體安裝到電腦上的一套安裝工具,還有各種GNU軟體,和其他的一些自由軟體,在一些Linux發行版中可能會包含一些專有軟體。發行版為許多不同的目的而製作,包括對不同電腦硬體結構的支援,對普通用戶或開發者使用方式的調整,針對實時應用或嵌入式系統的開發等等。目前,超過三百個發行版被積極的開發,最普遍被使用的發行版有大約十二個。較為知名的有DebianUbuntuFedoraopenSUSE等。

一個典型的發行版包括:Linux核心,GNU函式庫和各種系統工具,命令行Shell,圖形介面底層的X視窗系統和上層的桌面環境等。桌面環境有如KDEGNOME等,並包含數千種從辦公套件編譯器文字編輯器,小遊戲,兒童教育軟體,到科學工具的應用軟體。

很多發行版含有LiveCD的方式,就是不需要安裝,放入系統光碟或其它媒介進行啟動,就能夠在不改變現有系統的情況下使用。比較著名的有Damn Small LinuxKnoppix等。LiveCD的相關技術進步至此,很多的發行版本身的安裝光碟也有LiveCD的功能。

Linux的應用

傳統的Linux使用者一般都是專業人士。

使用Linux主要的成本為移植、培訓和學習的費用,早期由於會使用Linux的人較少,並且在軟體設計時並未考慮非專業者的使用,導致這方面費用極高。但這方面的費用已經隨著Linux的日益普及和Linux上的軟體越來越多、越來越方便而降低,但專業仍是使用Linux的主要成本。

然而隨著Linux慢慢開始流行,有些原始裝置製造商(OEM)開始在其銷售的電腦上預裝上Linux,Linux的用戶中也有了普通電腦用戶,Linux系統也開始慢慢出現在個人電腦作業系統市場。Linux在歐洲、美國和日本的流行程度較高,歐美地區還發行Linux平台的遊戲和其他家用軟體。Linux開源社群方面也是以歐洲、美國、日本等已開發國家的人士居多。

每個孩子一台筆記型電腦這一項目正在催生新的更為龐大的Linux用戶群,計劃將包括開發中國家的幾億學童、他們的家庭和社區。在2007年,已經有六個國家訂購了至少每個國家一百萬台以上免費發放給學生。GoogleRed HateBay是該項目的主要支持者。

基於其低廉成本與高度可設定性,Linux常常被應用於嵌入式系統,例如機上盒行動電話行動裝置等。在行動電話上,基於Linux的Android已經成為IOS的主要競爭者;而在行動裝置上,則成為Windows CEPalm OS之外另一個選擇。目前流行的TiVo數位攝影機使用了經過客製化後的Linux。此外,有不少硬體式的網路防火牆路由器,例如部份LinkSys的產品,其內部都是使用Linux來驅動、並採用了作業系統提供的防火牆及路由功能。

伺服器、主機和超級電腦

Linux套件一直被用來作為伺服器的作業系統,並且已經在該領域中占據重要地位。根據2006年9月Netcraft的報告顯示,十個最大型的網路代管公司有八個公司在其Web伺服器執行Linux套件。

Linux套件是構成LAMP(Linux作業系統,Apache,MySQL,Perl / PHP / Python)的重要部分,LAMP是一個常見的網站代管平台,在開發者中已經得到普及。

Linux套件也經常使用作為超級電腦的作業系統,2010年11月公布的超級電腦前500強,有459個(91.8%)執行Linux套件。曾經是世界上最強大的超級電腦——IBM的紅杉(IBM Sequoia),已於2011年交付勞倫斯利福摩爾國家實驗室,並於2012年6月開始運作,也是選擇Linux作為作業系統。

 

評價 (到2020/07/04止)

正面

  • 開放原始碼的Linux可以讓知識延續下去,新興的軟體公司可以從開放原始碼上快速、低價的建立專業能力,豐富市場的競爭,防止獨霸軟體巨獸的存在。
  • 個人使用很少有著作權問題,絕大多數都是免費使用,幾乎無所謂盜版問題。
  • 新的Linux發行版大多數軟體都有伺服器的服務,只要點選就可以自動下載、安裝經過認證的軟體,不需要到市面購買、安裝。
  • Linux學習的投資有效時間較長。舊版軟體、系統都還是存在,有原始碼可以衍生、分支,維護週期普遍比Windows長很多。就算被放棄,還是可以憑藉原始碼衍生。新的軟體更新發展多樣化,容易養成使用者習慣掌握原理,而不是養成操作習慣。
  • 強大的Shell指令碼支援,容易組合出符合需求的環境或創造自動程式。
  • 預設安全設定相對於目前主流的Windows作業系統安全很多。Windows作業系統為了非專業使用者降低了預設安全性的設定,導致系統容易受到木馬、病毒的侵害。盜版的Windows更糟糕,可能隨盜版作業系統捆綁木馬惡意程式,部分預設超級使用者(Administrator)登入、關閉安全更新等問題導致安全性更差。
  • Linux 最強項的地方在於網路,而 Windows 是贏在使用者介面較為親善。
  • 符合 Open source 理念的授權相當多,比較知名的如 Apache / BSD / GPL / MIT 等。

負面

  • BSD的開發人員曾經批評過Linux核心開發人員過於重視新功能的添加而不是踏踏實實的把程式碼寫好、整理好。
  • Minix愛好者認為微核心是將來技術發展的方向,Linux在技術上是落伍陳舊的。
  • 軟硬體支援性較差。大部份的軟、硬體廠商沒有或者不會優先開發Linux平台的版本,或者Linux平台的版本功能較少,致使可用的應用程式、硬體周邊支援性相較於WindowsMac平台差。 Linux 與硬體的關係是『極為重要的』 
  • 相當多的發行版(超過200個以上),使程式開發者無法針對所有發行版做測試,使用Linux平台的應用軟體安裝在非主流發行版可能遭遇預料之外的問題或甚至於無法使用。
  • Linux系統及相關應用軟體主要是由駭客程式設計師及其它Linux愛好者共同合作開發出來的,所以缺少了商業軟體基於商業利益而調整操作介面使之更適合不同使用者的行為。對Linux使用方式的不習慣,以及不同軟體操作方式缺乏一致性使得使用者產生Linux系統難以使用的感受。

 

想要學習Linux

  • 先從 Linux 的安裝與指令學起
  • 瞭解 Linux 的檔案架構與權限概念
  • 多接觸文字介面
  • 認識與 BASH 相關的咚咚
  • 學習一下如何使用 Shell 與 Shell scripts 的寫法
  • 至少一定要瞭解套件管理員
  • 實作的重要性

 

  1. 計算機概論與硬體相關知識:
    因為既然想要走Linux這門路,資訊相關的基礎技能也不能沒有啊! 所以先理解一下基礎的硬體知識,不用一定要全懂啦!又不是真的要你去組電腦~^_^, 但是至少要『聽過、有概念』即可;

     
  2. 先從Linux的安裝與指令學起:
    沒有Linux怎麼學習Linux呢?所以好好的安裝起一套你需要的Linux吧!雖然說Linux distributions很多, 不過基本上架構都是大同小異的,差別在於介面的親和力與軟體的選擇不同罷了! 選擇一套你喜歡的就好了,倒是沒有哪一套特別好說~

     
  3. Linux作業系統的基礎技能:
    這些包含了『使用者、群組的概念』、『權限的觀念』,『程序的定義』等等,尤其是權限的概念, 由於不同的權限設定會妨礙你的使用者的便利性,但是太過於便利又會導致入侵的可能! 所以這裡需要瞭解一下你的系統呦!

     
  4. 務必學會vi文書編輯器:
    Linux的文書編輯器多到會讓你數到生氣!不過,vi卻是強烈建議要先學習的! 這是因為vi會被很多軟體所呼叫,加上所有的Unix like系統上面都有vi,所以你一定要學會才好!

     
  5. Shell與Shell Script的學習:
    其實鳥哥上面一直談到的『文字介面』說穿了就是一個名為shell的軟體啦!既然要玩文字介面,當然就是要會使用shell的意思。 但是shell上面的資料太多了,包括『正規表示法』、『管線命令』與『資料流重導向』等等,真的需要瞭解比較好呦! 此外,為了幫助你未來的管理伺服器的便利性,shell scripts也是挺重要的!要學要學!

     
  6. 一定要會軟體管理員:
    因為玩Linux常常會面臨得要自己安裝驅動程式或者是安裝額外軟體的時候,尤其是嵌入式設備或者是學術研究單位等。 這個時候Tarball/RPM/DPKG/YUM/APT等軟體管理員的安裝方式的瞭解,對你來說就重要到不行了!

     
  7. 網路基礎的建立:
    如果上面你都通過了,那麼網路的基礎就是下一階段要接觸的咚咚,這部份包含了『IP概念』『路由概念』等等;

     
  8. 如果連網路基礎都通過了,那麼網站的架設對你來說,簡直就是『太簡單啦!』
arrow
arrow
    創作者介紹
    創作者 STORY 的頭像
    STORY

    STORY

    STORY 發表在 痞客邦 留言(0) 人氣()