如果你是第一次看到或聽到這個詞,一定會很茫然,Linux到底是什么呢?它可以做什么?我們為什么要學習它呢?這些問題阿銘下面就為你逐一揭開謎底。
Linux呢,簡單講就是一個操作系統,跟我們平時使用的Windows一樣,我們可以在上面運行各種各樣的軟件。比如,可以打開PPT,可以看視頻,可以玩游戲。在我們身邊,其實到處都是Linux的身影,比如大家使用的Adroid手機,這個手機里的系統其實就是基于Linux內核改造的。除了這個Android外,Linux使用最廣的領域當屬服務器領域。
那服務器又是什么呢?我們暫且把服務器當成公司用的電腦吧,雖然說法不太恰當,但,的確是公司使用的,我們個人是不可能用到服務器的。公司用服務器做什么呢?在解釋這個問題之前,你可以先思考一個問題:你平時手機里哪個軟件使用最多?微信?抖音?支付寶?王者榮耀?阿銘覺得微信肯定首當其沖,畢竟微信是大家相互溝通、支付的必要工具。你想一下,你的微信在沒有網的情況下是不是啥都干不了?那你有沒有思考過,為啥沒有網,我們手機里的微信不能用?
這是因為,手機里的微信叫做客戶端軟件,其實還有一個服務器在騰訊的機房里放著,你的微信客戶端想要收到好友的信息,必須要和遠程的微信服務器通信。而Linux主要用于服務器領域,也就是說,服務器上安裝的操作系統大部分都是Linux,當然還有一部分是Windows或者Unix。這個Unix又是個什么鬼?Unix也是一種操作系統,不過是收費的,通常都是和服務器打包賣的,就比如蘋果的操作系統Mac OS就只能安裝在蘋果的電腦里。
這個Unix和Linux還是有一些淵源的。在Linux誕生之前,那會電腦并沒有像現在這么普及,而是只有大學或者一些有錢的企業才用到。畢竟那時候,計算機硬件和軟件都是非常昂貴的,所以那會計算機上跑的系統基本上都是Unix,其實剛才提到的Mac OS也是一種Unix。
而比爾蓋茨的Windows離問世還有十萬八千里呢。Unix操作系統最早是給大學里免費使用并且開源的,所以不管是老師還是學生都可以免費學習它。但后來可惡的資本家為了賺錢把Unix不再開源和免費給大學使用了。所以,這時候就有一個大學計算機教授模仿Unix開發了一個叫做Minix的微型操作系統,它是專門用來給學生教學用的。
隨著時間推移,在1991年的時候出來一個很牛逼的學生,他的名字大家一定要記住哈,叫做Linus Torvalds,他因為對Minix感興趣,然后就自己基于Minix開發了一個新的操作系統,Linus給它起了一個名字就叫做Linux。
不過Linux僅僅是個內核,我們還不能在上面運行軟件呢。說到這個內核,你也許存在疑問,它跟操作系統有啥關系呢?內核,其實就是操作系統最核心的組件,就像我們的大腦控制我們的身體一樣。內核主要負責管理系統的進程、內存、設備驅動程序,還有文件、網絡都得靠內核來管理和調度。
我們電腦里的網卡、聲卡、顯卡的驅動都是靠內核來實現的,內核工作機制非常復雜。阿銘覺得,大家剛剛接觸Linux,所以我們不需要在這些細節上花太多時間,畢竟工作中根本就不會涉及到這么底層的東西,大家做個簡單了解就夠了。
Linux內核是完全開源的,所有人都可以下載它的源代碼,可以說Linux就是免費的。既然Linux開源免費,那么是不是意味著有很多人使用才對。但事實上,Linux在個人電腦領域用的并不多,至少在咱們國內用的人不多,這是因為Linux在圖形化方面確實沒有Windows體驗好,而且有一個很關鍵的因素,就是在咱們國家Windows盜版太多了,盜版也不用花錢啊。個人用戶雖然少,但是服務器上絕大多數安裝的系統可都是Linux。
還是繼續之前的故事吧,其實在Linus開發出linux內核之前,就已經有一個叫做Richard Stallman的牛人看不慣Unix收費和不開源,在1983年的時候發起了一個運動,我們把它叫做GNU,Richard發起這個運動的目的為了打造出一套完全開源免費的操作系統。
為了讓該運動更具影響力,Richard在1985年創立了Free Software Foundation,翻譯成中文叫做自由軟件基金會。其中,比較出名的軟件,像GCC、Emacs、GNOME都是基于GNU的,只不過GNU一直都沒有開發出一個合適的內核,直到Linus把Linux公開,GNU+Linux才組成了一個完整的操作系統。
關于GNU,還有一個非常重要的概念,叫做GPL,它是GNU運動為保證其軟件在后續的發展中仍保持開源開放而為其軟件設立的“使用條款”。其最大的特點是要求任何人基于使用了GPL許可證發行的軟件修改而成的軟件都必須開源。其中Linux就是使用GPL發布的。
既然Linux是免費開源的,所以,在Linux剛剛發布的那幾年,基于Linux的發行版就如雨后春筍般紛紛冒了出來。業界有太多Linux發行版,有一些你可能聽過,比如RedHat、Ubuntu、麒麟、深度等。
麒麟和深度是咱們國內的發行版,其中深度在業界叫做Deepin,它是基于Debian來的。其實,Linux從正式發行以來,衍生的發行版都有好幾千了,只不過能夠存活下來的都是有組織有企業支撐的,個人開發的發行版一般都不會太長久。畢竟,開發一個操作系統是需要花費大量人力和才力的。下面阿銘就說幾個比較出名的發行版吧。
Debian是1993年誕生的,基于Debian在2004年又誕生了一個Ubuntu發行版,Ubuntu流行度非常高,在國內使用Ubuntu的個人愛好者很多。
Slackware也是1993年誕生的,基于它在1994年又誕生了SUSE發行版。阿銘當時在騰訊工作時,騰訊有不少服務器安裝的系統就是Slackware。
Redhat是1994年誕生的,基于Redhat在2003年誕生了CentOS,其實CentOS在咱們中國用的非常非常多,只不過2014年被Redhat收購,然而Redhat公司在2019年被IBM收購,后續2020年Redhat宣布CentOS將終止既定的維護計劃,這對國內使用CentOS的公司來說并不友好,所以后續CentOS這個發行版最終會被時代遺棄。
國內的紅旗RedFlag是1999年誕生的,不過發展并不怎么好。
Redhat的企業版RHEL是2002年誕生的,上面提到的CentOS就是基于這個RHEL來的。
阿銘在后續章節用的Linux系統叫做Rocky Linux, 為什么要學它呢?這得先說說CentOS的歷史。其實,在前些年服務器領域使用量最多的發行版是CentOS,因為CentOS是基于RHEL來的,可以說它和RHEL幾乎一模一樣。而CentOS是完全開源免費的,既免費又穩定的好東西,大家沒有理由不用啊。
在CentOS發展如火如荼之際,Redhat公司意識到CentOS的存在嚴重影響到了他的商業收益。所以,Redhat不惜重金收購了CentOS。既然都賣給了Redhat,那么CentOS就注定了走向滅亡。畢竟Redhat肯定不會繼續讓CentOS成為它賺錢的絆腳石。
之前的CentOS改名為CentOS Stream了,紅帽又將這個CentOS Stream作為了RHEL發行版的上游產品,也就是說新出來的各種軟件先到Stream上跑,跑一段時間沒有啥bug了,再往RHEL上放。而早期的CentOS就是RHEL的下游產品,它是等RHEL發行后,再基于它的源碼進行編譯來的。
阿銘接下來用的Rocky就是RHEL的下游發行版。所以說你學Rocky就是在學RHEL。在這里有幾個時間點,阿銘覺得你有必要了解一下。2019年的時候,Redhat推出CentOS Stream版本,然后就宣布了兩個事情:CentOS8于2021年12月31日停止維護,而CentOS7于2024年6月30日停止維護。
目前,企業中使用CentOS8的并不多,但是使用CentOS7的太多了。好在Redhat給大家留了足夠多的時間。那么,到時候企業會選擇什么發行版呢?阿銘覺得,無外乎兩大分支:RHEL系列、Ubuntu系列。
再來說說Rocky Linux吧,CentOS被收購后,發版規則發生了變化,所以早期的CentOS締造者肯定是不爽的啊,所以這幫人又重新搞了一個開源社區發行版Rocky Linux。阿銘讓大家學Rocky并不是說讓你以后在企業里用它(當然你用也沒有任何風險),而是因為Rocky就是基于RHEL來的,它就像早期的CentOS一樣,是RHEL的下游產品,非常穩定而且完全免費。
再一個重要原因,很多發行版都是基于RHEL或者兼容RHEL的,比如Oracle Linux、阿里云的服務器系統、aws的、騰訊云的、國產操作系統麒麟、華為openEuler等。所以,你學了Rocky,那么你也就掌握了其它類似的發行版。
在我們身邊,其實還有一些使用Linux系統的領域,比如銀行ATM機、門禁、自動售賣機等??梢哉f,在IT技術領域,大部分工作崗位都和Linux有關聯,比如你做嵌入式開發要懂Linux吧,因為嵌入式就是在Linux里做的。做網絡也要懂Linux吧,因為很多網絡設備系統就是Linux。做后端開發也要懂Linux,因為開發的程序跑的服務器是Linux。而做運維的呢,更得懂Linux,畢竟運維每天都要和服務器打交道。
審核編輯:劉清
評論
查看更多