ubuntu10.04的初始化

對於 虛擬化,咱們但願 共享虛擬光盤上的系統,每一個虛擬機的 個性配置和數據在各自的虛擬硬盤上!這樣咱們只需維護 一個共享的系統各自的數據,這樣雖然系統只讀,不會感染病毒,但光盤不能更新,容易被攻擊!進而咱們想到用共享的只讀虛擬硬盤存放系統。

而linux的系統結構要求etc、bin、sbin、lib必須在同一個分區(/),usr、var、home、boot等系統目錄及自定義目錄能夠放在其餘分區。這就要求咱們必須從etc目錄中分離出跟本機有關的文件或目錄,或只保留能引導到掛載其餘分區的一小部分,要動etc,必須精研初始化!linux

ubuntu的初始化一直在,確實啓動愈來愈,但文檔沒能跟得上!辯證地看,對於字符界面的服務器來講,BSD風格的init腳本,更利於管理員跟蹤!網上不少資料,太老了,基本沒有參考價值!10.04的初始化用的是基於事件的upstart。數據庫

開始動手:ubuntu

一、/etc複製到另外一個分區/TaoHong/etc服務器

二、精簡/etc,通過兩天實驗,缺一個文件都啓動不了,/etc只保留:
     #ls -p /etc
     default/  fstab  group  gshadow  init/  mtab  passwd  shadow 

三、修改fstab併發

      /dev/sda1            /                    ext4    ro                 0       1   # /根只讀
      /dev/sdb1            /TaoHong     ext4    defaults        0       2
      /TaoHong/etc      /etc               none   bind                           # 增長此行,替換原/etc,至關於mount --bind /TaoHong/etc /etc
四、刪除/etc/init/hostname.conf                                                  #實踐證實,用下面第5步來 定義主機名
五、修改/etc/rc.local  增長一行 hostname -b -F /etc/hostname
六、把/etc/mtab變成軟連接: ln -sf /proc/mounts mtab

通過以上精簡,原/etc只剩下:2個目錄,55個文件。
分析以下:
一、/etc/init/是 upstart若干 做業定義文件,也就是網上說的 /etc/event.d(ubuntu10.04根本沒有這個目錄)。
二、當只保留fstab  init/  mtab,重啓後提示,缺乏/etc/default/下的某個文件,添加它, /etc/default/都是默認 變量定義文件
三、重啓後提示,缺乏組和用戶數據庫,添加group  gshadow  passwd  shadow 。
四、這時已經用個性化的/etc,開始繼續初始化,成功啓動!
五、爲了節省內存,能夠刪除原/etc/init/下的tty3--tty6,做爲服務器,tty1和tty2足夠了,固然tty7是自動的,你能夠去看!
六、因爲是事件驅動的init,/etc/init/下的若干 做業定義文件,除了mountall.conf老是第一個執行,其餘執行的次序是變化的!這是我用了一天的時間,爲每個文件加了」簽到「指令,實驗出來的!
七、修改後,主機名是localhost,開始我分析是,upstart基於事件併發運行,mountall事件觸發掛載fstab中的各個分區的動作尚未執行完,
hostname.conf事件觸發定義主機名 的動做併發運行,所以不能得到新/etc/hostname,因而我在/etc/init/hostname.conf文件中定義主機名以前加了延時,試驗失敗!好在辦法總比問題多!無奈使用rc.local實現! 我把2.4內核+busybox作的防火牆,精簡到軟盤上,因爲系統很小,文件不多,認真分析每個文件,豁然開朗! 多編譯幾遍內核、busybox,LFS幾遍,gentoo幾遍,誰都能作發行版,再難的事成功作過一萬次,對於你,仍是難事嗎?
相關文章
相關標籤/搜索