自己DIY制作精簡(jiǎn)版Centos系統(tǒng)的詳細(xì)過(guò)程

我們都知道linux系統(tǒng)具有無(wú)比強(qiáng)大的功能,但是有時(shí)候功能強(qiáng)大并不一定是我們想要的,有些情況下我們想要的恰恰就是一個(gè)簡(jiǎn)潔、消耗資源少、能運(yùn)行一些基本的功能和基本指令的系統(tǒng),這時(shí)候就需要我們手動(dòng)來(lái)制作一個(gè)精簡(jiǎn)的linux系統(tǒng)。
如下圖所示:我們有一臺(tái)待安裝的主機(jī)(主機(jī)B)和一臺(tái)功能完備的主機(jī)(主機(jī)A),首先把待安裝主機(jī)的硬盤(pán)拆下來(lái)放到主機(jī)A上,然后在主機(jī)A把內(nèi)核、驅(qū)動(dòng)、進(jìn)程、庫(kù)文件等一些系統(tǒng)必備的東西放到空的硬盤(pán)上做成系統(tǒng)硬盤(pán),最后把做好的硬盤(pán)放到主機(jī)B上直接啟動(dòng)就行了。
下面我們?cè)谔摂M機(jī)上來(lái)模擬這個(gè)實(shí)驗(yàn):
1、在宿主機(jī)上創(chuàng)建一個(gè)空的硬盤(pán)
2、打開(kāi)主機(jī)A進(jìn)行硬盤(pán)分區(qū)
(1)利用fdisk /dev/adb對(duì)空的硬盤(pán)進(jìn)行分區(qū),分區(qū)大小分別為主分區(qū)一(作為引導(dǎo)分區(qū))100M、主分區(qū)二(作為根分區(qū))1G(根分區(qū)不能太小)和主分區(qū)三(作為虛擬分區(qū))500M
(2)對(duì)分區(qū)做標(biāo)識(shí)
(3)分別對(duì)第一第二分區(qū)做格式化
(4)新建兩個(gè)掛載點(diǎn),把新硬盤(pán)的前兩個(gè)分區(qū)分別掛載到兩個(gè)掛載點(diǎn)上
3、為新硬盤(pán)創(chuàng)建grub引導(dǎo)程序引導(dǎo)的第一、第二階段建
(1)創(chuàng)建grub引導(dǎo)程序引導(dǎo)的第二階段,如下所示,參數(shù)DIR既是指/mnt /dev/adb
如下圖所示在boot目錄下生成了grub菜單,進(jìn)入grub目錄查看,除了grub.conf的配置文件沒(méi)有外其他說(shuō)明文件和描述文件都有,這里需要說(shuō)明的是配置文件需要我們手動(dòng)創(chuàng)建。
(2)創(chuàng)建grub引導(dǎo)第一階段
首先輸入grub,然后開(kāi)始創(chuàng)建
4、拷貝內(nèi)核
5、拷貝驅(qū)動(dòng)
(1)在家目錄下創(chuàng)建一個(gè)臨時(shí)工作空間,在該目錄下把主機(jī)A的驅(qū)動(dòng)解壓縮到該目錄
在temp目錄下有些比較重要的目錄或文件,比如bin(放置庫(kù)文件)、init(init程序調(diào)用的相關(guān)信息)。下面我們來(lái)查看一下init文件,如圖所示,我們要根據(jù)實(shí)際情況做相應(yīng)的調(diào)整。
(2)把temp目錄下的文件重新打包成一個(gè)文件,并輸送到新硬盤(pán)的引導(dǎo)分區(qū)下
6、切換到/mnt/boot/grub目錄,創(chuàng)建grub.conf文件,文件內(nèi)容如下
7、在新硬盤(pán)的根分區(qū)下建設(shè)文件系統(tǒng)(下面建設(shè)的是必要的目錄,可根據(jù)實(shí)際情況設(shè)置哦)
8、拷貝可執(zhí)行程序和其所依賴的庫(kù)文件
(1)這里我們先拷貝init的可執(zhí)行程序和所依賴的庫(kù)
首先查看可執(zhí)行文件的具體位置,再進(jìn)行拷貝
然后進(jìn)行查看庫(kù)文件并拷貝
如上圖所示,凡是帶有/lib目錄的都要拷貝
(2)根據(jù)上邊的方法再分別把bash、ls、cat進(jìn)行拷貝
9、配置inittab文件
(1)切換到/mnt/sysroot/etc目錄下,建個(gè)inittab文件。
(2)打開(kāi)/etc/inittab文件
(3)因?yàn)椴恍枰嗟墓δ?,在inittab文件里我們只留下0、6級(jí)別和初始化的文件,也就是上圖中21、23和29行。
10、在/mnt/sysroot/rc.d目錄下配置初始化文件rc.sysinit
11、然后運(yùn)行多次sync命令,把設(shè)置的所有參數(shù)同步到要寫(xiě)入的新的磁盤(pán)上
12、在虛擬機(jī)上添加一個(gè)虛擬主機(jī)(也就是主機(jī)B),并把其中的硬盤(pán)卸下,把剛才我們建的那塊硬盤(pán)添加到這臺(tái)主機(jī)上
13、完成后暫停主機(jī)A,啟動(dòng)主機(jī)B,進(jìn)入系統(tǒng),我們?cè)囍ネ瓿商砑拥膸讉€(gè)可執(zhí)行程序,ls可以完成,關(guān)機(jī)指令和重啟指令卻不能完成
(1)查看/mnt/sysroot/etc目錄下inittab文件我們就不難發(fā)現(xiàn),要進(jìn)入0級(jí)別的話,依賴于名為rc的腳本,而rc的腳本又需要相應(yīng)的指令,相應(yīng)的指令又需要相應(yīng)的庫(kù)文件的支持。我們都把這些拷過(guò)來(lái)的話實(shí)在是太麻煩了,那應(yīng)該怎樣做呢,下面我們來(lái)做一下講解。
(2)如下圖所示,我們來(lái)為關(guān)機(jī)和重啟分別做sysshutdown和sysreboot兩個(gè)腳本
分別制作關(guān)機(jī)腳本和重啟腳本,并把相應(yīng)的可執(zhí)行程序和庫(kù)文件拷到對(duì)應(yīng)的目錄下
把腳本權(quán)限改為可執(zhí)行
(3)進(jìn)行同步后,暫停主機(jī)A,主機(jī)B,再進(jìn)行相應(yīng)的關(guān)機(jī)、重啟命令就ok了
14、當(dāng)然了,我們還想要有機(jī)器的主機(jī)名另外還要具備基本的網(wǎng)絡(luò)功能,下面就來(lái)一一實(shí)現(xiàn)
(1)關(guān)閉主機(jī)B,啟動(dòng)主機(jī)A。分別把名為ping、hostonly以及ifconfig的可執(zhí)行程序和所依賴的庫(kù)文件拷到相應(yīng)的目錄下
(2)編輯初始化配置文件/mnt/sysroot/etc/rc.d/rc.sysinit
如上圖所示,想要讓腳本發(fā)揮作用,還需要一個(gè)名為network的文件,我們把主機(jī)A上的文件拷到主機(jī)B的硬盤(pán)上,然后做改動(dòng)
(3)同步之后暫停主機(jī)A,開(kāi)啟主機(jī)B,測(cè)試一下
15、要實(shí)現(xiàn)網(wǎng)絡(luò)功能的話首先需要內(nèi)核的支持,但是內(nèi)核中只有那些最常見(jiàn)的驅(qū)動(dòng),而其它的都被做成內(nèi)核的模塊,當(dāng)然網(wǎng)卡也不例外。
(1)查看網(wǎng)卡參數(shù)
(2)查看PCnet的模塊
(3)分別查看PCnet模塊和mii模塊的詳細(xì)信息,從中可以看到模塊的路徑
(4)在主機(jī)B的硬盤(pán)上建一個(gè)存放驅(qū)動(dòng)的目錄,再把驅(qū)動(dòng)拷進(jìn)去
(5)加載驅(qū)動(dòng)需要相應(yīng)工具的支持,這里我們用insmod,在宿主機(jī)把相應(yīng)的可執(zhí)行程序和庫(kù)文件拷到新硬盤(pán)相應(yīng)的目錄下
(6)為了在初始化的時(shí)候引用相應(yīng)的模塊,編輯初始化的文件/mnt/sysroot/etc/rc.d/rc.sysinit
(7)同步之后,暫停主機(jī)A并開(kāi)啟主機(jī)B,進(jìn)行驗(yàn)證
至此,一個(gè)簡(jiǎn)易linux系統(tǒng)就制作成功了,當(dāng)然我們可以根據(jù)需要隨意添加應(yīng)用和修改腳本
相關(guān)文章
Centos系統(tǒng)用戶密碼字符串生成命令-shadow
今天小編為大家?guī)?lái)的是Centos系統(tǒng)用戶密碼字符串生成命令-shadow;有需要的朋友可以過(guò)來(lái)看看,希望對(duì)大家的學(xué)習(xí)會(huì)有幫助2016-12-09- 今天小編就為大家?guī)?lái)Pxe無(wú)人值守安裝centos系統(tǒng);有需要的朋友可以過(guò)來(lái)看看;希望對(duì)大家會(huì)有幫助2016-12-08
CentOS系統(tǒng)中怎么修改默認(rèn)SSH端口?
CentOS系統(tǒng)中怎么修改默認(rèn)SSH端口?CentOS系統(tǒng)系統(tǒng)中默認(rèn)端口是22,可以找到錯(cuò)誤日志,想要修改ssh端口,該怎么修改呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下2016-12-07Centos系統(tǒng)里screen命令如何使用?Centos系統(tǒng)里screen命令的使用方法
Screen被稱(chēng)之為一個(gè)全屏窗口管理器,用他可以輕松在一個(gè)物理終端上獲得多個(gè)虛擬終端的效果;可是一些朋友反饋說(shuō)不知道Centos系統(tǒng)里screen命令如何使用?下面小編就為大家?guī)?/div> 2016-12-07CentOS系統(tǒng)如何啟動(dòng)流程?CentOS系統(tǒng)啟動(dòng)流程的圖文教程
很多朋友還不知道CentOS系統(tǒng)如何啟動(dòng)流程?下面小編就為大家?guī)?lái)CentOS系統(tǒng)啟動(dòng)流程的圖文教程;感興趣的朋友一起去看看吧2016-12-05centos系統(tǒng)swap設(shè)置 查看swap分區(qū)的方法
本文為大家詳細(xì)的介紹查看swap分區(qū)和centos修改swap分區(qū)的方法,Linux中的Swap,也就是Windows的虛擬內(nèi)存,當(dāng)內(nèi)存不足的時(shí)候,把一部分硬盤(pán)空間虛擬成內(nèi)存使用,從而解決內(nèi)2016-11-29CentOS系統(tǒng)下安裝轉(zhuǎn)PDF和SWF環(huán)境
本文將為大家具體的介紹如何在CentOS系統(tǒng)下安裝轉(zhuǎn)PDF和SWF環(huán)境的方法,希望可以幫助的大家2016-11-28linux centos 系統(tǒng)中文模式設(shè)置方法
怎么設(shè)置Linux系統(tǒng)中文語(yǔ)言?在我們使用CentOS的使用都喜歡使用中文語(yǔ)言,本文小編將為大家具體的介紹centos 系統(tǒng)中文默認(rèn)語(yǔ)言修改的方法2016-11-23Centos系統(tǒng)下查看和修改網(wǎng)卡Mac地址(附ifconfig命令格式)
本文主要為大家簡(jiǎn)單的介紹了linux/Centos下如何查看網(wǎng)卡Mac地址?Linux/Centos下如何永久修改網(wǎng)卡MAC地址?以及臨時(shí)修改MAC地址,一起來(lái)看看吧2016-11-22CentOS系統(tǒng)基礎(chǔ)優(yōu)化知識(shí)匯總
很多朋友對(duì)CentOS系統(tǒng)基礎(chǔ)優(yōu)化不太了解,下面小編為大家?guī)?lái)了關(guān)于CentOS系統(tǒng)基礎(chǔ)優(yōu)化知識(shí)匯總;希望對(duì)大家會(huì)有幫助2016-11-01最新評(píng)論