1. 程式人生 > >Linux系統入門簡介<1>

Linux系統入門簡介<1>

linux系統入門簡介

我們為什麼要學習Linux?

在介紹Linux的歷史前,我想先針對大家如何對Linux的發音說一下。我發現我身邊的朋友對Linux的發音大致有這麼幾種: “裡那克斯”與 “裡泥克斯”“裡扭克斯”等。其實官方的標準發音為 [‘li:nэks],因為這個發音是創始人Linus的發音。如果你不認識這個音標,那麼就讀成“裡那克斯”。而咱們習慣發音成“裡泥克斯”,當然你發音成什麼,並沒有人會說你,完全是一個人的習慣而已。

Linux和unix是非常像的。沒錯,Linux就是根據unix演變過來的。當年linus就是因為接觸到了unix而後才自己想開發一個簡易的系統核心的,他開發的簡易系統核心其實就是Linux。當時linus把開發的這個系統核心丟到網上提供大家下載,由於它的精緻小巧,越來越多的愛好者去研究它。人們對這個核心添枝加葉,而後成為了一個系統。也許你聽說過吧,Linux是免費的。其實這裡的免費只是說Linux的核心免費。在Linux核心的基礎上而產生了眾多Linux的版本。

學習Linux能做什麼?

當今世界流行的作業系統有3大類,Linux、Mac OS和Windows作業系統,Linux作業系統因其開源、免費、跨平臺、良好的介面等特性,深受廣大程式設計師們的青睞!

Linux作業系統被廣泛的應用於企業伺服器領域,目前市場上的網路裝置都是使用Linux核心作業系統,一些網路伺服器也是使用Linux作業系統下面的服務搭建實現的,目前作業系統這塊也基本被Linux佔據,使用Linux的iptables功能可以做代理伺服器和防火牆;使用samba服務的功能可以做搭建和列印共享伺服器。使用Linux下的nginx+mysql+php搭建web、Linux下的vsftp服務作為FTP檔案傳輸伺服器,使用Linux下bind服務做域名解析伺服器,使用Linux下DHCP服務做網路中地址分配伺服器,使用Linux下openvpn服務實現VPN伺服器,使用Linux下sendmai和qmail服務搭建郵件伺服器,使用Linux下的NFS和iSCSI搭建網路儲存伺服器等,Linux在企業應用範圍極廣。

Linux支援多使用者,各個使用者對於自己的檔案裝置有自己特殊的權利,保證了各使用者之間互不影響。多工則是現在電腦最主要的一個特點,Linux可以使多個程式同時並獨立地執行。在的網路裝置一般都是Linux作業系統,比如:軟防火牆、軟路由、軟監控、雲端計算等,這些都是使用Linux核心開發的。Linux作業系統安全性和穩定性高,目前android系統、銀行系統、企業WEB伺服器、虛擬化、等都是使用Linux作業系統。Linux作業系統在市場上得到了廣泛的應用,市場上80%的伺服器使用者在使用Linux作業系統,因此,學好Linux可以有很多就業選擇,而且喜愛技術的人員來說,也是一種成就!

開源共享精神

開源軟體的特點就是把軟體程式與原始碼檔案一起打包提供給使用者,讓使用者在不受限制地使用某個軟體功能的基礎上還可以按需進行修改,或編製成衍生產品再發布出去。使用者具有使用自由、修改自由、重新發布自由以及建立衍生品的自由。這也正好符合了黑客和極客對自由的追求,因此國內外開源社群的根基都很龐大,人氣也相當高。

坦白來講,每位投身於Linux行業的技術人或者程式設計師只要聽到開源專案就會由衷地感到自豪,這是一種從骨子裡帶有的獨特情懷。開源的企業不單純是為了利益,而是互相扶持,努力服務好更多的使用者。開源軟體最重要的特性有下面這些。

低風險:使用閉源軟體無疑把命運交付給他人,一旦封閉的原始碼沒有人來維護,你將進退維谷;而且相較於商業軟體公司,開源社群很少存在倒閉的問題。

高品質:相較於閉源軟體產品,開源專案通常是由開源社群來研發及維護的,參與編寫、維護、測試的使用者量眾多,一般的bug還沒有等爆發就已經被修補。

低成本:開源工作者都是在幕後默默且無償地付出勞動成果,為美好的世界貢獻一份力量,因此使用開源社群推動的軟體專案可以節省大量的人力、物力和財力。

更透明:沒有哪個笨蛋會把木馬、後門等放到開放的原始碼中,這樣無疑是把自己的罪行暴露在陽光之下。

但是,如果開源軟體為了單純追求“自由”而犧牲程式設計師的利益,這將會影響程式設計師的創造激情,因此世界上現在有60多種被開源促進組織(Open Source Initiative)認可的開源許可協議來保證開源工作者的權益。對於那些只知道一味抄襲、篡改、破解或者盜版他人作品的不法之徒,終歸會在某一天收到法院的傳票。對於準備編寫一款開源軟體的開發人員,也非常建議先了解一下當前最熱門的開源許可協議,選擇一個合適的開源許可協議來最大限度保護自己的軟體權益。

GNU GPL(GNU General Public License,GNU通用公共許可證):只要軟體中包含了遵循GPL協議的產品或程式碼,該軟體就必須也遵循GPL許可協議且開源、免費,因此這個協議並不適合商用軟體。遵循該協議的開源軟體數量極其龐大,包括Linux系統在內的大多數的開源軟體都是基於這個協議的。GPL開源許可協議最大的4個特點如下所示。

複製自由:允許把軟體複製到任何人的電腦中,並且不限制複製的數量。

傳播自由:允許軟體以各種形式進行傳播。

收費傳播:允許在各種媒介上出售該軟體,但必須提前讓買家知道這個軟體是可以免費獲得的;因此,一般來講,開源軟體都是通過為使用者提供有償服務的形式來盈利的。

修改自由:允許開發人員增加或刪除軟體的功能,但軟體修改後必須依然基於GPL許可協議授權。

BSD(Berkeley Software Distribution,伯克利軟體釋出版)許可協議:使用者可以使用、修改和重新發布遵循該許可的軟體,並且可以將軟體作為商業軟體釋出和銷售,前提是需要滿足下面3個條件。

1:如果再發布的軟體中包含原始碼,則原始碼必須繼續遵循BSD許可協議。

2:如果再發布的軟體中只有二進位制程式,則需要在相關文件或版權檔案中宣告原始程式碼遵循了BSD協議。

3:不允許用原始軟體的名字、作者名字或機構名稱進行市場推廣。

Apache許可證版本(Apache License Version)許可協議:在為開發人員提供版權及專利許可的同時,允許使用者擁有修改程式碼及再發布的自由。該許可協議適用於商業軟體,現在熱門的Hadoop、Apache HTTP Server、MongoDB等專案都是基於該許可協議研發的,程式開發人員在開發遵循該協議的軟體時,要嚴格遵守下面的4個條件。

1:該軟體及其衍生品必須繼續使用Apache許可協議。

2:如果修改了程式原始碼,需要在文件中進行宣告。

3:若軟體是基於他人的原始碼編寫而成的,則需要保留原始程式碼的協議、商標、專利宣告及其他原作者宣告的內容資訊。

4:如果再發布的軟體中有宣告檔案,則需在此檔案中標註Apache許可協議及其他許可協議。

MPL(Mozilla Public License,Mozilla公共許可)許可協議:相較於GPL許可協議,MPL更加註重對開發者的原始碼需求和收益之間的平衡。

MIT(Massachusetts Institute of Technology)許可協議:目前限制最少的開源許可協議之一,只要程式的開發者在修改後的原始碼中保留原作者的許可資訊即可,因此普遍被商業軟體所使用。

Linux系統作業系統發展簡史

早在20世紀70年代,UNIX系統是開源而且免費的。但是在1979年時,AT&T公司宣佈了對UNIX系統的商業化計劃,隨之開源軟體業轉變成了版權式軟體產業,原始碼被當作商業機密,成為專利產品,人們再也不能自由地享受科技成果。

於是在1984年,Richard Stallman面對於如此封閉的軟體創作環境,發起了GNU原始碼開放計劃並制定了著名的GPL許可協議。1987年時,GNU計劃獲得了一項重大突破—gcc編譯器釋出,這使得程式設計師可以基於該編譯器編寫出屬於自己的開源軟體。隨之,在1991年10月,芬蘭赫爾辛基大學的在校生Linus Torvalds編寫了一款名為Linux的作業系統。該系統因其較高的程式碼質量且基於GNU GPL許可協議的開放原始碼特性,迅速得到了GNU計劃和一大批黑客程式設計師的支援。隨後Linux系統便進入瞭如火如荼的發展階段。

1994年1月,Bob Young在Linux系統核心的基礎之上,集成了眾多的原始碼和程式軟體,釋出了紅帽系統並開始出售技術服務,這進一步推動了Linux系統的普及。1998年以後,隨著GNU原始碼開放計劃和Linux系統的繼續火熱,以IBM和Intel為首的多家IT企業巨頭開始大力推動開放原始碼軟體的發展。到了2017年年底,Linux核心已經發展到了4.13版本,並且Linux系統版本也有數百個之多,但它們依然都使用Linus Torvalds開發、維護的Linux系統核心。RedHat公司也成為了開源行業及Linux系統的帶頭公司。

在講課時,我經常會問同學們一個問題:“為什麼學習Linux系統?”很多學生為了讓我高興,直接就說“因為Linux系統是開源的,所以要去學習”。其實這個想法是完全錯誤的!開源的作業系統少說有100個,開源的軟體至少也有十萬個,為什麼不去逐個學習?所以上面談到的開源特性只是一部分優勢,並不足以成為您付出精力去努力學習的理由。

對於使用者來講,開源精神僅具備錦上添花的效果,因此正確的學習動力應該源自於:Linux系統是一款優秀的軟體產品,具有類似UNIX的程式介面,而且繼承了UNIX的穩定性,能夠較好地滿足工作需求。

大多數讀者應該都是從微軟的Windows系統開始瞭解計算機和網路的,因此肯定會有這樣的想法“Windows系統很好用啊,而且也可足以滿足日常工作需求呀”。客觀來講,Windows系統確實很優秀,但是在安全性、高可用性與高效能方面卻難以讓人滿意。您應該見過下面這張圖片。

想必讀者現在已經能猜到,為什麼要在需要長期穩定執行的網站伺服器上、在處理大資料的集群系統中以及需要協同工作的環境中採用Linux系統了。通過下圖也可以看出Linux系統相較於Windows系統的具體優勢。

常見的Linux系統版本

在介紹常見的Linux系統版本之前,首先需要區分Linux系統核心與Linux發行套件系統的不同。Linux系統核心指的是一個由Linus Torvalds負責維護,提供硬體抽象層、硬碟及檔案系統控制及多工功能的系統核心程式。而Linux發行套件系統是我們常說的Linux作業系統,也即是由Linux核心與各種常用軟體的集合產品。全球大約有數百款的Linux系統版本,每個系統版本都有自己的特性和目標人群,下面將可以從使用者的角度選出最熱門的幾款進行介紹。

Linux的發行版說簡單點就是將Linux核心與應用軟體做一個打包。較知名的發行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE、TurboLinux、BluePoint、RedFlag、Xterm、SlackWare等

紅帽企業系統(RedHatEnterpriseLinux,rhel.)

紅帽公司是全球最大的開源技術廠商,rhel是全世界內使用最廣泛的Linux系統。

rhel系統具有極強的效能與穩定性,並且在全球範圍內擁有完善的技術支援。rhel系統也是本書、紅帽認證以及眾多生產環境中使用的系統。

社群企業作業系統(Community Enterprise Operating System,CentOS)

通過把CENTOS系統重新編譯併發布給使用者免費使用的Linux系統,具有廣泛的使用人群。CentOS當前已被紅帽公司“收編”。

而咱們常用的就是Redhat 和 CentOS,這裡有必要說一下,其實CentOS是基於Redhat的,網上有人說,Centos是Redhat企業版的克隆。咱們所在公司的伺服器全部都是安裝CentOS系統,並且相當穩定。CentOS較之於Redhat 可以免費使用yum 下載安裝所需要的軟體包,這個是相當方便的。而Redhat要想使用yum必須要購買服務了。

Fedora

由紅帽公司釋出的桌面版系統套件(目前已經不限於桌面版)。

使用者可免費體驗到最新的技術或工具,這些技術或工具在成熟後會被加入到CENTOS系統中,因此Fedora也稱為CENTOS系統的“試驗田”。

運維人員如果想時刻保持自己的技術領先,就應該多關注此類Linux系統的發展變化及新特性,不斷改變自己的學習方向。

openSUSE

源自德國的一款著名的Linux系統,在全球範圍內有著不錯的聲譽及市場佔有率。

Gentoo

具有極高的自定製性,操作複雜,因此適合有經驗的人員使用。讀者可以在學習完本書後嘗試一下該系統。

Debian

穩定性、安全性強,提供了免費的基礎支援,可以良好地支援各種硬體架構,以及提供近十萬種不同的開源軟體,在國外擁有很高的認可度和使用率。

Ubuntu

是一款派生自Debian的作業系統,對新款硬體具有極強的相容能力。

Ubuntu與Fedora都是極其出色的Linux桌面系統,而且Ubuntu也可用於伺服器領域。

部署安裝Linux系統Centos7

所謂“工欲善其事,必先利其器”,在本章學習過程中,讀者需要搭建出為今後練習而使用的紅帽 CENTOS7系統環境。您不需要為了練習實驗而特意再購買一臺新電腦,下文會講解如何通過虛擬機器軟體來模擬出模擬系統。虛擬機器是能夠讓使用者在一臺真機上模擬出多個作業系統的軟體。一般來講當前主流的硬體配置足以勝任安裝虛擬機器的任務,並且依據老師近10年的運維技術學習及多年的線上培訓經驗來看,建議您無論經濟條件是否允許,都不應該在學習期間把Linux系統安裝到真機上面,因為在學習過程中都免不了要“折騰”您的Linux作業系統。通過虛擬機器軟體安裝的系統不僅可以模擬出硬體資源,把實驗環境與真機檔案分離保證資料安全,更酷的是當操作失誤或配置有誤導致系統異常的時候,可以快速把作業系統還原至出錯前的環境狀態,進而減少重灌系統的等待時間(在真機上安裝Linux作業系統每次至少需要30分鐘)。

最近幾年在講課時,總會發現同學們使用的實驗環境五花八門,有CentOS,有CENTOS7,還有Debian系統等,結果每次給他們排錯時都費心勞力,苦不堪言,而且特別無語。就像您報名去學習日料,老師用柳刃,您非要用長刀,結果壽司肯定會被切的稀巴爛。聰明的學生在學習時一定會採用跟老師一樣的工具和環境,這樣出現問題後可以首先排除環境問題並迅速定位錯誤,等技術學的足夠紮實了,到了生產環境中自然也就具備了隨心選擇工具和環境的能力。所以尤其建議沒有報名參加老師開設的付費培訓班的同學,一定要充分發揮自己的自學能力,否則長期的實驗出錯一定會影響您的學習興趣。

  • 功能強大的桌面虛擬計算機軟體,能夠讓使用者在單一主機同時執行多個不同的作業系統。
  • 同時支援實時快照,虛擬網路,拖拽檔案以及PXE等強悍功能。
  • 由開源軟體及全球服務性系統開發商紅帽公司出品,最穩定出色的Linux作業系統。

另外,說來也很鬱悶,其實我在初中時就有學習Linux系統的打算,但那時候上網還不便捷,想要安裝Linux系統就必須去買光碟才行,而那個時候安裝Linux系統至少需要6張光碟(CD-ROM容量大約為700MB),狠下心買回家後嘗試安裝了幾次卻一直報錯,因為搞不懂報錯原因而只能放棄了。2015年春節前打掃屋子時又翻出了這些光碟,這次終於找到了當年出錯誤的原因,原來是第五張光碟被“刮花”了,系統相關的依賴關係包被損壞,最終導致Linux系統安裝失敗。原本可以早幾年就可以接觸到Linux系統,結果因為這個原因而耽擱,真的是既鬱悶又尷尬,所以這裡必須狠狠地提醒各位同學:“工具準備齊全後一定要校驗完整性,不要重蹈我的覆轍”。

虛擬機器軟體:

vmware workstation (收費)

virtualbox (oracle 免費的)

hyper-v (收費)

Centos7.4安裝虛擬機器:

建立虛擬機器

1、開啟虛擬機器軟體

*開啟軟體後,點選建立新的虛擬機器

2、安裝第一步

3、選擇虛擬機器的硬體相容即虛擬機器版本

4、選擇安裝的作業系統的方式

5、選擇需要安裝的作業系統及作業系統版本

6、定義虛擬機器名稱和安裝位置

7、虛擬機器處理器數量和核心數量選擇

8、定義虛擬機器記憶體

9、定義虛擬機器的網絡卡模式

這裡有三種網絡卡型別,分別說一下我自己的理解:

橋接:虛擬機器的IP地址需要和筆記本在相同的網段,更換網路環境後需要不斷的更正,對虛擬機器的數量有限制;

NAT:更換環境,不會影響你使用虛擬機器,虛擬機器ip地址可以不做變化,同區域網可以使用相同的IP地址;

僅主機:虛擬機器無法上網,測試一些危險的東西而不像影響其他使用者可以使用僅主機模式。

參考部落格:https://www.cnblogs.com/passzhang/articles/8965220.html

10、定義虛擬機器介面型別

11、選擇磁碟型別

12、建立新的虛擬磁碟

13、定義磁碟容量大小

14、定義虛擬機器磁碟存放檔名稱

15、準備建立虛擬機器

安裝Centos7作業系統

16、進入安裝作業系統準備介面

17、指定映象位置

18、開始安裝作業系統

19、安裝Centos7系統

20、選擇安裝過程使用的語言

21、進行系統分割槽

22、選擇自己配置分割槽

23、分割槽及分割槽標準

分割槽的標準:

Linux分割槽標準可以分為三種:

【用於資料不重要的時候可以採用這種分割槽,相當於Windows中只有C盤分割槽】

/boot[引導系統啟動] 200M

swap分割槽 為了防止系統記憶體用光了 臨時作為記憶體 768M(512M)

記憶體小於8G swap是記憶體的1.5倍

記憶體大於等於8G swap是8G

/ (存放安裝軟體)剩餘多少給多少

【資料重要的情況下】

/boot[引導系統啟動] 200M

swap分割槽 為了防止系統記憶體用光了 臨時作為記憶體 768M(512M)

記憶體小於8G swap是記憶體的1.5倍

記憶體大於等於8G swap是8G

/ (存放安裝軟體)40G-200G

/data 剩餘多少給多少 用於存放重要資料

【不知道資料重要不重要的的情況下】

/boot[引導系統啟動] 200M

swap分割槽 為了防止系統記憶體用光了 臨時作為記憶體 768M(512M)

記憶體小於8G swap是記憶體的1.5倍

記憶體大於等於8G swap是8G

/ (存放安裝軟體)40G-200G

剩餘空間不分割槽,誰使用時誰分割槽

Swap分割槽說明:

swap 記憶體交換空間的功能是:當所有資料被存放在實體記憶體裡面,但是這些資料又不是常被CPU所取用時,那麼這些不常被使用的程式將會被丟到硬碟的swap交換空間中,而將速度較快的實體記憶體空間釋放出來給真正需要的程式使用,所以,如果你的系統不是很忙,而且記憶體又很大,自然不需要swap。

swap分割槽一般為真實記憶體的2倍,他可以避免因為記憶體不足,而造成系統效能低的問題。但是你的實體記憶體如果達到4GB 以上時,swap分割槽也可以不必做額外的設定。

swap分割槽並不會使用到目錄樹的掛載,所以swap分割槽不需要指定掛載點。

24、手動分割槽完成及檔案系統說明

檔案系統說明:

ext專門為Linux設計的,為linux核心所做的第一個檔案系統。單個檔案最大限制:未知;該檔案系統最大支援2GB的容量。

ext2用以代替ext,是LINUX核心所用的檔案系統。單個檔案最大限制2TB;該檔案系統最大支援32TB的容量。

ext3一個日誌檔案系統。單個檔案最大限制16TB,該檔案系統最大支援32TB的容量。

ext4單個檔案最大限制16TB,該檔案系統最大支援1EB的容量。

Xfs 是一個全64-bit的檔案系統,它可以支援上百萬T位元組的儲存空間。對特大檔案及小尺寸檔案的支援都表現出眾,支援特大數量的目錄。最大可支援的檔案大小為8EB,最大檔案系統尺寸為18 EB。

XFS使用高的表結構(表+樹),保證了檔案系統可以快速搜尋與快速空間分配。XFS能夠持續提供高速操作,檔案系統的效能不受目錄中目錄及檔案數量的限制。

25、分割槽格式化

26、繼續並開始正式安裝Centos7系統

27、設定ROOT使用者登入密碼

28、完成系統安裝並重啟系統

29、登入Centos7作業系統

30、登入介面說明

31、檢視網絡卡資訊

32、配置網絡卡

33、網絡卡配置檔案編輯及釋義

34、重啟網絡卡確定網路連通性

35、關閉SeLinux和防火牆

36、使用XShell遠端連線裝置(一)

37、XShell遠端連線(二)

38、XShell遠端連線登入使用者名稱(三)

39、XShell遠端連線登入使用者密碼(四)

40、XShell遠端登陸成功(五)

部署安裝linux系統Centos6

1.選擇【Install or upgrade an existing system】選單,按下Enter鍵,等待安裝程式的引導。

2.引導完畢會彈出視窗詢問是否進行介質的檢測,如果不需要,可選擇【Skip】跳過。

3.單擊【Next】繼續安裝。

4.安裝語言,選擇【Chinese(Simplified)(中文(簡體))】選單,單擊【Next】繼續。

5.系統鍵盤,選擇【美國英語式】選單,單擊【下一步】繼續。

6.這裡指定安裝的儲存介質,一般選擇“基本儲存裝置”(如本機的硬碟),單擊【下一步】繼續。

這時,會彈出視窗詢問是否格式化已有的儲存裝置,格式化會清空所有資料,請謹慎選擇。

7.輸入主機名,主機名可以自定義,由數字、字母和下弧線組成,單擊【下一步】繼續。

8.時區,在下拉選單中選擇【亞洲/上海】,單擊【下一步】繼續。

設定根賬號(root)的密碼,輸入完成後,單擊【下一步】繼續,請牢記輸入的密碼。

注意:如果密碼過於簡單,則會有另一個提示,選擇:無論如何都使用。

安裝型別包括:

  • 使用所有空間:使用這個磁碟的空來來安裝系統。
  • 替換現有Linux系統:使用現有的分割槽進行安裝。
  • 縮小現有系統:修改現有分割槽來騰出空間建立分割槽。
  • 使用剩餘空間:使用空閒的空間。
  • 建立自定義佈局:使用自定義分割槽。

一般是選擇【建立自定義佈局】,單擊【下一步】。

8.選中空閒分割槽,單擊【建立】按鈕。

選擇【標準分割槽】,單擊【建立】按鈕。

9.建立boot分割槽,選擇掛載點:/boot ,檔案系統型別:ext4,大小:200MB(boot分割槽一般都是存放一些啟動預載入的核心、init檔案,所以200M就夠了)。

建立home分割槽,一般設定5G左右即可。

建立swap分割槽,要先選擇檔案型別為swap(這時第一項掛載點將不可用),如果記憶體小於4G記憶體,設定為記憶體的2倍,如果是4G以上,和記憶體設定一樣大即可。

建立根分割槽,選擇掛載點:/,檔案系統型別:ext4,選擇【使用全部可用空間】

檢視分割槽是否正確,這個時候,分割槽資訊還沒有寫入磁碟,還可以進行修改,確認正確,單擊【下一步】。

提示格式化警告,單擊【格式化】。

10.分割槽資訊儲存時會有提示寫磁碟操作,單擊【將修改寫入硬碟】,進行磁碟的分割槽。

提示引導裝載的位置,保持預設即可,單擊【下一步】。

11.Linux系統安裝過程中進行軟體複製,耐心等待安裝完成。

恭喜,CentOS安裝已經完成。單擊【重新引導】,進入系統。

重置root使用者密碼

平日裡讓運維人員頭疼的事情已經很多了,因此偶爾把Linux系統的密碼忘記了並不用慌,只需簡單幾步就可以完成密碼的重置工作。但是,如果您是第一次閱讀本書,或者之前沒有Linux系統的使用經驗,請一定先跳過本節,等學習完Linux系統的命令後再來學習本節內容。如果您剛剛接手了一臺Linux系統,要先確定是否為 CENTOS7系統。如果是,然後再進行下面的操作。

[root@localhost ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)

第1步:重啟Linux系統主機並出現引導介面時,按下鍵盤上的e鍵進入核心編輯介面,如圖1-46所示。

圖1-46 Linux系統的引導介面

第2步:在linux16引數這行的最後面追加“rd.break”引數,然後按下Ctrl + X組合鍵來執行修改過的核心程式,如圖1-47所示。

可以跳過啟動的核心的掛載

可以直接修改啟動的檔案

圖1-47 核心資訊的編輯介面

init=/sysroot/bin/sh 系統安裝所在分割槽裡面 路徑為/bin/sh的檔案,核心啟動過程中會查詢系統安裝所在分割槽,然後把該分割槽掛在到 /sysroot 目錄下

第3步:大約30秒過後,進入到系統的緊急求援模式,如圖1-48所示。

引導經入一個臨時系統,我們可以ls檢視一下當前目錄檔案。剛剛我們修改的掛載點在/sysroot上,注意看看當前目錄下也有/sysroot。接下來我們要切換到原系統上:chroot /sysroot:

圖1-48 Linux系統的緊急救援模式

第4步:依次輸入以下命令,等待系統重啟操作完畢,然後就可以使用新密碼localhost來登入Linux系統了。命令列執行效果如圖1-49所示。

mount -o remount,rw /sysroot
chroot /sysroot
#chroot /sysroot/ 改變根

chroot命令用來在指定的根目錄下執行指令。chroot,即 change root directory (更改 root 目錄)。在 linux 系統中,系統預設的目錄結構都是以/,即是以根 (root) 開始的。而在使用 chroot 之後,系統的目錄結構將以指定的位置作為/位置。

rootfs是根檔案系統,linux系統的根目錄的掛載點是/,roofs是根目錄下的所有的檔案集合,是一個可以執行的系統的組織。

chroot是把目標地址作為根目錄來使用,這個目錄下邊是一個可以執行的系統組織,當然PATH中必須要有Shell才行。

sysroot是交叉編譯時指定臨時根目錄的方式,具體形式為--with-sysroot=/path這樣編譯過程就會把path當成根目錄,確定相對的依賴,編譯後在正常的系統中也就很容易的尋找到依賴了

passwd
touch /.autorelabel

#這句是為了使得selinux生效,否則將無法正常啟動系統

exit
reboot

圖1-49 重置Linux系統的root管理員密碼

開啟啟動出錯,進入救援模式

救援模式:

​ 跟單使用者模式有點類似,它需要用系統盤來啟動,是一個記憶體作業系統。

如何進入救援模式:

    1)關機
    2)點右鍵 電源  啟動時   進入bios
    3)到bios裡面,選擇boot,把光碟機放到第一位 按F10 點yes
    4)選擇troubleshuooting  回車  選擇 rescue a centos system
    5)選擇continue
    6)回車後,敲命令  chroot /mnt/sysimage
    7) 執行passwd命令
    8) 執行exit  然後執行 reboot   同時把光碟機斷開

關閉selinux

vi /etc/selinux/config  
  把 SELINUX=enforcing 改為  SELINUX=disabled
  重啟系統才會生效
臨時改selinux的策略: setenforce 0  臨時關閉,重啟後,還會引用配置檔案裡面的配置
getenforce 檢視你的linux狀態

高效學習Linux的方式和方法

  1. 課程不要跳節看
  2. 遇到不清楚的地方,多聽幾遍,或者再看下上一節
  3. 初學者一定要完全按照老師的做,先跑通,再變通
  4. 技術問題提問必須要描述清楚,比如提示資訊、相關操作及環境
  5. 課程沒有講到的地方,多網上查查資料
  6. 多思考,多嘗試,多總結

總結實驗技巧

  1. 做實驗的時候,一定要做一步驗證一步,千萬不要等到全部做完再去驗證,這樣會死的很慘;
  2. 當驗證的結果和自己預想的不一樣的時候,不要急著問,先試著去解決;
  3. 解決問題的時候不要有問題就直接百度,最好的方式能自己學著去看懂日誌,如果能靠日誌把問題解決了,那麼就會理解程式的工作原理了,如果僅是通過百度改個設定就把問題解決了,那還是什麼都沒有學到;
  4. 如果檢視日誌問題沒有解決,建議去查官方站點或者論壇,再不濟也去google搜尋;
  5. 如果看英文真的有困難,那就百度吧,不過還是建議大家能熟悉英文文件,畢竟整個IT行業都是英文環境;
  6. 如果確實解決不了,可以在群裡向大家求助,在這個行業即使工作多年依然有很多沒聽過的技術,不要怕自己的問題比較弱,而不敢提問;
  7. 在看視訊的過程中,如果發現自己聽著聽著完全聽不懂了,可以出去玩一會,回來接著聽,不要懷疑自己,每個人有過這種經歷。可能是你走神了,錯過了某些知識點,過段時間再聽一遍,或者會豁然開朗。同樣,花了幾個小時做實驗沒有做出來,也不要灰心,即使實驗沒成功也會學到很多;