Linux系統(tǒng)運(yùn)行級(jí)別 0 - 系統(tǒng)關(guān)機(jī)狀態(tài) 1 - 單用戶(hù)工作狀態(tài),用于維護(hù) 2 - 多用戶(hù)模式(NFS 未啟動(dòng)) 3 - 多用戶(hù)模式,字符界面 4 - 系統(tǒng)未使用,留給用戶(hù)自定義 5 - 多用戶(hù)模式,并且在系統(tǒng)啟動(dòng)后運(yùn)行 X Windows ,給出一個(gè)圖形化的登錄窗口 6 - 所有進(jìn)程被終止,重新啟動(dòng)系統(tǒng) 查看當(dāng)前系統(tǒng)運(yùn)行級(jí)別 #runlevel 切換運(yùn)行級(jí)別 #init [0123456] linux系統(tǒng)目錄結(jié)構(gòu) / linux文件系統(tǒng)的入口,也是處于最高一級(jí)的目錄 /bin 基本系統(tǒng)所需要的命令,這個(gè)目錄中的文件都是可執(zhí)行的,普通用戶(hù)都可以使用的命令 /boot 內(nèi)核和加載內(nèi)核所需要的文件。一般情況下,GRUB系統(tǒng)引導(dǎo)管理器也位于這個(gè)目錄 /dev 設(shè)備文件存儲(chǔ)目彔,比如終端、磁盤(pán)等 /etc 所有的系統(tǒng)配置文件 /home 普通用戶(hù)家目彔的默認(rèn)存放目彔 /lib 庫(kù)文件和內(nèi)核模塊所存放的目彔 /media 即插即用型存儲(chǔ)設(shè)備的掛載點(diǎn)自勱在這個(gè)目彔下創(chuàng)建,比如u盤(pán)、CDROM/DVD自勱掛載后,也會(huì)在這個(gè)目錄中創(chuàng)建一個(gè)目錄 /mnt 臨時(shí)文件系統(tǒng)的掛載點(diǎn)目彔 /opt 第三方軟件的存放目彔 /root Linux超級(jí)權(quán)限用戶(hù)root的家目彔 /sbin 基本的系統(tǒng)維護(hù)命令,只能由超級(jí)用戶(hù)使用 /srv 該目彔存放一些服務(wù)啟勱乊后需要提取的數(shù)據(jù) /tmp 臨時(shí)文件目彔 /usr 存放用戶(hù)使用系統(tǒng)命令和應(yīng)用程序等信息,比如命令、幫劣文件等。 /var 存放經(jīng)常變勱的數(shù)據(jù),比如日志、郵件等。 幾個(gè)特殊的文件系統(tǒng) 文件系統(tǒng) 掛載點(diǎn) 說(shuō)明 root / Linux系統(tǒng)運(yùn)行的基點(diǎn),根文件系統(tǒng)不能被卸載 proc /proc 以文件系統(tǒng)的方式為訪問(wèn)系統(tǒng)內(nèi)核數(shù)據(jù)的操作提供接口,適用于2.4和2.6內(nèi)核 sysfs /sys 以文件系統(tǒng)的方式為訪問(wèn)系統(tǒng)內(nèi)核數(shù)據(jù)的操作提供接口,2.6內(nèi)核使用 tmpfs /dev /var/run /var/lock 程序訪問(wèn)共享內(nèi)存資源時(shí)使用的文件系統(tǒng) usbfs /proc/bus/usb 訪問(wèn)usb設(shè)備時(shí)使用的文件系統(tǒng) devpts /dev/pts 內(nèi)核用來(lái)不偽終端(以進(jìn)程方式登陸)迚行交互的文件系統(tǒng) swap 內(nèi)核使用的特殊文件系統(tǒng),無(wú)掛載點(diǎn) 用來(lái)創(chuàng)建虛擬內(nèi)存 linux 啟動(dòng)過(guò)程 學(xué)習(xí)linux,必須要透徹的理解其啟動(dòng)順序。只有透徹的理解才能在系統(tǒng)啟動(dòng)出現(xiàn)啟動(dòng)故障時(shí)快速準(zhǔn)確定位問(wèn)題。 第一步:加載BIOS 當(dāng)我們打開(kāi)計(jì)算機(jī)電源,計(jì)算機(jī)首先會(huì)加載BIOS信息,BIOS中包含了CPU的相關(guān)信息、設(shè)備啟動(dòng)順序信息、硬盤(pán)信息、內(nèi)存信息、時(shí)鐘信息、PnP特性等等。只有首先加載BIOS后,計(jì)算機(jī)才知道下一步該找誰(shuí)。 第二步:讀取MBR 硬盤(pán)上第0磁道第一個(gè)扇區(qū)被稱(chēng)為MBR,也就是Master Boot Record,即主引導(dǎo)記錄,它的大小是512字節(jié),里面存放著預(yù)啟動(dòng)信息、分區(qū)表信息。 系統(tǒng)找到BIOS所指定的硬盤(pán)的MBR后,會(huì)將MBR復(fù)制到物理內(nèi)存中。 第三步:Boot Loader BootLoader是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過(guò)這段小程序,計(jì)算機(jī)可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核做好一切準(zhǔn)備。 Boot Loader有若干種,其中Grub、Lilo和spfdisk是常見(jiàn)的Loader。 我們以Grub為例來(lái)講解 系統(tǒng)讀取內(nèi)存中的grub配置信息(一般為menu.lst或grub.lst),并依照此配置信息來(lái)啟動(dòng)不同的操作系統(tǒng)。 第四步:加載內(nèi)核(kernel) 根據(jù)grub設(shè)定的內(nèi)核映像所在路徑,系統(tǒng)讀取內(nèi)存映像,并進(jìn)行解壓縮操作。此時(shí),屏幕一般會(huì)輸出“Uncompressing Linux”的提示。當(dāng)解壓縮內(nèi)核完成后,屏幕輸出“OK, booting the kernel”。 系統(tǒng)將解壓后的內(nèi)核放置在內(nèi)存之中,并調(diào)用start_kernel()函數(shù)來(lái)啟動(dòng)一系列的初始化函數(shù)并初始化各種設(shè)備,完成Linux核心環(huán)境的建立。至此,Linux內(nèi)核已經(jīng)建立起來(lái)了,基于Linux的程序應(yīng)該可以正常運(yùn)行了。 第五步:加載inittab文件 內(nèi)核被加載后,第一個(gè)運(yùn)行的程序便是/sbin/init,該文件會(huì)讀取/etc/inittab文件,并依據(jù)此文件來(lái)進(jìn)行初始化工作。 其實(shí)/etc/inittab文件最主要的作用就是設(shè)定Linux的運(yùn)行等級(jí),該文件的最后一行為“id:5:initdefault:”,這就表明Linux需要運(yùn)行在等級(jí)5上。Linux的運(yùn)行等級(jí)設(shè)定如下: 0 - 系統(tǒng)關(guān)機(jī)狀態(tài) 1 - 單用戶(hù)工作狀態(tài),用于維護(hù) 2 - 多用戶(hù)模式(NFS 未啟動(dòng)) 3 - 多用戶(hù)模式,字符界面 4 - 系統(tǒng)未使用,留給用戶(hù)自定義 5 - 多用戶(hù)模式,并且在系統(tǒng)啟動(dòng)后運(yùn)行 X Windows ,給出一個(gè)圖形化的登錄窗口 6 - 所有進(jìn)程被終止,重新啟動(dòng)系統(tǒng) 這里所說(shuō)的運(yùn)行等級(jí)就是第一篇文章中開(kāi)頭說(shuō)的運(yùn)行級(jí)別,系統(tǒng)的運(yùn)行級(jí)別就是這個(gè)時(shí)候加載的。 第六步:執(zhí)行rc.sysinit 在設(shè)定了運(yùn)行等級(jí)后,Linux系統(tǒng)執(zhí)行的第一個(gè)用戶(hù)層文件就是/etc/rc.d/rc.sysinit腳本程序,它做的工作非常多,包括設(shè)定PATH、設(shè)定網(wǎng)絡(luò)配置(/etc/sysconfig/network)、啟動(dòng)swap分區(qū)、設(shè)定/proc等等。具體的文件內(nèi)容可以查看rc.sysinit,內(nèi)容很多,初學(xué)者可以暫時(shí)了解一下。 第七步:?jiǎn)?dòng)內(nèi)核模塊 具體是依據(jù)/etc/modules.conf文件或/etc/modules.d目錄下的文件來(lái)裝載內(nèi)核模塊。 第八步:執(zhí)行不同運(yùn)行級(jí)別的腳本程序 根據(jù)運(yùn)行級(jí)別的不同,系統(tǒng)會(huì)運(yùn)行rc0.d到rc6.d中的相應(yīng)的腳本程序,來(lái)完成相應(yīng)的初始化工作和啟動(dòng)相應(yīng)的服務(wù)。 第九步:執(zhí)行/etc/rc.d/rc.local rc.local就是在一切初始化工作后,Linux留給用戶(hù)進(jìn)行個(gè)性化的地方。你可以把你想設(shè)置和啟動(dòng)的東西放到這里。 第十步:執(zhí)行/bin/login程序,進(jìn)入登錄狀態(tài) 這個(gè)時(shí)候,我們看到的就是登錄界面,輸入你自己的賬號(hào)密碼就可以登錄系統(tǒng)了。 本篇文章涉及的相關(guān)英文(自行百度查看詳細(xì)內(nèi)容): BIOS:Basic Input Output System 它是一組固化到計(jì)算機(jī)內(nèi)主板上一個(gè)ROM芯片上的程序,它保存著計(jì)算機(jī)最重要的基本輸入輸出的程序、系統(tǒng)設(shè)置信息、開(kāi)機(jī)后自檢程序和系統(tǒng)自啟動(dòng)程序。 MBR:Master Boot Record 主引導(dǎo)記錄 Boot Loader:操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過(guò)這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。 Grub:GRand Unified Bootloader 是一個(gè)多重操作系統(tǒng)啟動(dòng)管理器,用來(lái)引導(dǎo)不同系統(tǒng)。 Lilo:LInux Loader 功能類(lèi)似Grub spfdisk:是一支綜合了硬盤(pán)分割工具(FDISK)及啟動(dòng)管理程序(Boot Manager) 的軟件 kernel:操作系統(tǒng)內(nèi)核 操作系統(tǒng)內(nèi)核是指大多數(shù)操作系統(tǒng)的核心部分。它由操作系統(tǒng)中用于管理存儲(chǔ)器、文件、外設(shè)和系統(tǒng)資源的那些部分組成。操作系統(tǒng)內(nèi)核通常運(yùn)行進(jìn)程,并提供進(jìn)程間的通信。 inittab:linux初始化文件系統(tǒng)時(shí)init初始化程序用到的配置文件。這個(gè)文件負(fù)責(zé)設(shè)置init初始化程序初始化腳本在哪里;每個(gè)運(yùn)行級(jí)初始化時(shí)運(yùn)行的命令; 開(kāi)機(jī)、關(guān)機(jī)、重啟對(duì)應(yīng)的命令;各運(yùn)行級(jí)登陸時(shí)所運(yùn)行的命令。 我們?cè)趯W(xué)習(xí)linux的時(shí)候,當(dāng)然需要一臺(tái)裝有l(wèi)inux電腦用于練習(xí),那今天就說(shuō)一下如何安裝linux系統(tǒng)。 Linux系統(tǒng)有很多分支,像RedHat(紅帽)、CentOS、Ubuntu等等,這三個(gè)是目前使用最多的版本。不過(guò)有好多朋友說(shuō)CentOS在企業(yè)中使用的比較多,那今天就安裝CentOS這個(gè)版本。(至于每個(gè)分支有興趣的同學(xué)可以自行百度去了解) 版本: CentOS-7-x86_64-DVD-1503-01.iso (x86_64標(biāo)識(shí)的就是64位,不過(guò)貌似CentOS-7 以后就只有64位的系統(tǒng)了) 目前CentOS 最新的版本是7.2,也就是CentOS-7-x86_64-DVD-1511.iso 一,安裝平臺(tái) VMware (這是一個(gè)專(zhuān)門(mén)做虛擬化的公司,很厲害呢。虛擬化也是門(mén)技術(shù),非常不錯(cuò)。) 一般在學(xué)習(xí)階段,我們不可能使用自己的電腦安裝CentOS,畢竟很不方便,而且也不太會(huì)使用。那么這里就需要使用虛擬機(jī)來(lái)安裝CentOS。 這里虛擬機(jī)使用VMware,其實(shí)windows 10 系統(tǒng)中自帶了Hyper-V 也很好用,很方便。VMware下載,安裝,激活就自己動(dòng)手吧。不過(guò)也可以留言留下你的郵箱,我給你發(fā)一套:CentOS、VMware。 二,安裝CentOS 系統(tǒng) 這里就直接用圖片記錄了,一看就懂。 WMware Workstation 的界面 OK,到這里所有的安裝過(guò)程已經(jīng)完畢 |
|