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