自己DIY制作精簡版Centos系統(tǒng)的詳細(xì)過程
我們都知道linux系統(tǒng)具有無比強(qiáng)大的功能,但是有時候功能強(qiáng)大并不一定是我們想要的,有些情況下我們想要的恰恰就是一個簡潔、消耗資源少、能運(yùn)行一些基本的功能和基本指令的系統(tǒng),這時候就需要我們手動來制作一個精簡的linux系統(tǒng)。
如下圖所示:我們有一臺待安裝的主機(jī)(主機(jī)B)和一臺功能完備的主機(jī)(主機(jī)A),首先把待安裝主機(jī)的硬盤拆下來放到主機(jī)A上,然后在主機(jī)A把內(nèi)核、驅(qū)動、進(jìn)程、庫文件等一些系統(tǒng)必備的東西放到空的硬盤上做成系統(tǒng)硬盤,最后把做好的硬盤放到主機(jī)B上直接啟動就行了。

下面我們在虛擬機(jī)上來模擬這個實驗:
1、在宿主機(jī)上創(chuàng)建一個空的硬盤

2、打開主機(jī)A進(jìn)行硬盤分區(qū)
(1)利用fdisk /dev/adb對空的硬盤進(jìn)行分區(qū),分區(qū)大小分別為主分區(qū)一(作為引導(dǎo)分區(qū))100M、主分區(qū)二(作為根分區(qū))1G(根分區(qū)不能太?。┖椭鞣謪^(qū)三(作為虛擬分區(qū))500M

(2)對分區(qū)做標(biāo)識

(3)分別對第一第二分區(qū)做格式化

(4)新建兩個掛載點,把新硬盤的前兩個分區(qū)分別掛載到兩個掛載點上

3、為新硬盤創(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的配置文件沒有外其他說明文件和描述文件都有,這里需要說明的是配置文件需要我們手動創(chuàng)建。

(2)創(chuàng)建grub引導(dǎo)第一階段
首先輸入grub,然后開始創(chuàng)建

4、拷貝內(nèi)核

5、拷貝驅(qū)動
(1)在家目錄下創(chuàng)建一個臨時工作空間,在該目錄下把主機(jī)A的驅(qū)動解壓縮到該目錄

在temp目錄下有些比較重要的目錄或文件,比如bin(放置庫文件)、init(init程序調(diào)用的相關(guān)信息)。下面我們來查看一下init文件,如圖所示,我們要根據(jù)實際情況做相應(yīng)的調(diào)整。

(2)把temp目錄下的文件重新打包成一個文件,并輸送到新硬盤的引導(dǎo)分區(qū)下

6、切換到/mnt/boot/grub目錄,創(chuàng)建grub.conf文件,文件內(nèi)容如下

7、在新硬盤的根分區(qū)下建設(shè)文件系統(tǒng)(下面建設(shè)的是必要的目錄,可根據(jù)實際情況設(shè)置哦)


8、拷貝可執(zhí)行程序和其所依賴的庫文件
(1)這里我們先拷貝init的可執(zhí)行程序和所依賴的庫
首先查看可執(zhí)行文件的具體位置,再進(jìn)行拷貝

然后進(jìn)行查看庫文件并拷貝

如上圖所示,凡是帶有/lib目錄的都要拷貝

(2)根據(jù)上邊的方法再分別把bash、ls、cat進(jìn)行拷貝
9、配置inittab文件
(1)切換到/mnt/sysroot/etc目錄下,建個inittab文件。
(2)打開/etc/inittab文件

(3)因為不需要太多的功能,在inittab文件里我們只留下0、6級別和初始化的文件,也就是上圖中21、23和29行。
10、在/mnt/sysroot/rc.d目錄下配置初始化文件rc.sysinit

11、然后運(yùn)行多次sync命令,把設(shè)置的所有參數(shù)同步到要寫入的新的磁盤上
12、在虛擬機(jī)上添加一個虛擬主機(jī)(也就是主機(jī)B),并把其中的硬盤卸下,把剛才我們建的那塊硬盤添加到這臺主機(jī)上

13、完成后暫停主機(jī)A,啟動主機(jī)B,進(jìn)入系統(tǒng),我們試著去完成添加的幾個可執(zhí)行程序,ls可以完成,關(guān)機(jī)指令和重啟指令卻不能完成

(1)查看/mnt/sysroot/etc目錄下inittab文件我們就不難發(fā)現(xiàn),要進(jìn)入0級別的話,依賴于名為rc的腳本,而rc的腳本又需要相應(yīng)的指令,相應(yīng)的指令又需要相應(yīng)的庫文件的支持。我們都把這些拷過來的話實在是太麻煩了,那應(yīng)該怎樣做呢,下面我們來做一下講解。

(2)如下圖所示,我們來為關(guān)機(jī)和重啟分別做sysshutdown和sysreboot兩個腳本

分別制作關(guān)機(jī)腳本和重啟腳本,并把相應(yīng)的可執(zhí)行程序和庫文件拷到對應(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ò)功能,下面就來一一實現(xiàn)
(1)關(guān)閉主機(jī)B,啟動主機(jī)A。分別把名為ping、hostonly以及ifconfig的可執(zhí)行程序和所依賴的庫文件拷到相應(yīng)的目錄下

(2)編輯初始化配置文件/mnt/sysroot/etc/rc.d/rc.sysinit

如上圖所示,想要讓腳本發(fā)揮作用,還需要一個名為network的文件,我們把主機(jī)A上的文件拷到主機(jī)B的硬盤上,然后做改動


(3)同步之后暫停主機(jī)A,開啟主機(jī)B,測試一下

15、要實現(xiàn)網(wǎng)絡(luò)功能的話首先需要內(nèi)核的支持,但是內(nèi)核中只有那些最常見的驅(qū)動,而其它的都被做成內(nèi)核的模塊,當(dāng)然網(wǎng)卡也不例外。
(1)查看網(wǎng)卡參數(shù)

(2)查看PCnet的模塊

(3)分別查看PCnet模塊和mii模塊的詳細(xì)信息,從中可以看到模塊的路徑


(4)在主機(jī)B的硬盤上建一個存放驅(qū)動的目錄,再把驅(qū)動拷進(jìn)去

(5)加載驅(qū)動需要相應(yīng)工具的支持,這里我們用insmod,在宿主機(jī)把相應(yīng)的可執(zhí)行程序和庫文件拷到新硬盤相應(yīng)的目錄下
(6)為了在初始化的時候引用相應(yīng)的模塊,編輯初始化的文件/mnt/sysroot/etc/rc.d/rc.sysinit

(7)同步之后,暫停主機(jī)A并開啟主機(jī)B,進(jìn)行驗證


至此,一個簡易linux系統(tǒng)就制作成功了,當(dāng)然我們可以根據(jù)需要隨意添加應(yīng)用和修改腳本
相關(guān)文章
Centos系統(tǒng)用戶密碼字符串生成命令-shadow
今天小編為大家?guī)淼氖荂entos系統(tǒng)用戶密碼字符串生成命令-shadow;有需要的朋友可以過來看看,希望對大家的學(xué)習(xí)會有幫助2016-12-09
今天小編就為大家?guī)鞵xe無人值守安裝centos系統(tǒng);有需要的朋友可以過來看看;希望對大家會有幫助2016-12-08
CentOS系統(tǒng)中怎么修改默認(rèn)SSH端口?
CentOS系統(tǒng)中怎么修改默認(rèn)SSH端口?CentOS系統(tǒng)系統(tǒng)中默認(rèn)端口是22,可以找到錯誤日志,想要修改ssh端口,該怎么修改呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2016-12-07Centos系統(tǒng)里screen命令如何使用?Centos系統(tǒng)里screen命令的使用方法
Screen被稱之為一個全屏窗口管理器,用他可以輕松在一個物理終端上獲得多個虛擬終端的效果;可是一些朋友反饋說不知道Centos系統(tǒng)里screen命令如何使用?下面小編就為大家?guī)?/div> 2016-12-07
CentOS系統(tǒng)如何啟動流程?CentOS系統(tǒng)啟動流程的圖文教程
很多朋友還不知道CentOS系統(tǒng)如何啟動流程?下面小編就為大家?guī)鞢entOS系統(tǒ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)存不足的時候,把一部分硬盤空間虛擬成內(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)中文語言?在我們使用CentOS的使用都喜歡使用中文語言,本文小編將為大家具體的介紹centos 系統(tǒng)中文默認(rèn)語言修改的方法2016-11-23Centos系統(tǒng)下查看和修改網(wǎng)卡Mac地址(附ifconfig命令格式)
本文主要為大家簡單的介紹了linux/Centos下如何查看網(wǎng)卡Mac地址?Linux/Centos下如何永久修改網(wǎng)卡MAC地址?以及臨時修改MAC地址,一起來看看吧2016-11-22CentOS系統(tǒng)基礎(chǔ)優(yōu)化知識匯總
很多朋友對CentOS系統(tǒng)基礎(chǔ)優(yōu)化不太了解,下面小編為大家?guī)砹岁P(guān)于CentOS系統(tǒng)基礎(chǔ)優(yōu)化知識匯總;希望對大家會有幫助2016-11-01最新評論




