天天看點

Linux下使用主控端建立一個簡單的Linux系統

一:原理

      每隔主機都需要硬碟,作業系統存在于硬碟上,作業系統主要包括核心、庫檔案以及應用。在主控端上新增添一塊硬碟,将核心、庫檔案以及應用都放到新增添的硬碟上,最後将該硬碟資訊導入建立主機上

二:配置步驟

首先将主控端上新添一塊硬碟,将該硬碟

1:[root@lyt ~]# fdisk –l         #檢視磁盤分區

2:[root@lyt ~]# fdisk /dev/sdb      #将新添加的硬碟進行分區

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071405nx4c.png"></a>

3:[root@lyt ~]# cat /proc/partitions     #檢視建立分區資訊是否被讀取

[root@lyt ~]# mkfs -t ext3 /dev/sdb1    #格式化sdb1

[root@lyt ~]# mkfs -t ext3 /dev/sdb2    #格式化sdb2

4:[root@lyt ~]# mkdir /mnt/boot          #在主控端上為sdb1引導分區建立一個挂載點

[root@lyt ~]# mount /dev/sdb1 /mnt/boot/      #将sdb1挂載到主控端上

[root@lyt ~]# mkdir /mnt/sysroot         #在主控端上為sdb2根分區建立一個挂載點

[root@lyt ~]# mount /dev/sdb2 /mnt/sysroot/     #将sdb2挂載到主控端上

5:[root@lyt ~]# grub-install --root-directory=/mnt/ /dev/sdb    #在/dev/sdb上建立MBR,安裝grub,并将grub菜單的第二段存放在/mnt/boot中

[root@lyt ~]# ll /mnt/boot/                  #檢視grub目錄是否建立

6:[root@lyt grub]# cp /boot/vmlinuz-2.6.18-164.el5  /mnt/boot/         #将核心檔案拷貝到/mnt/boot中

[root@lyt grub]# cp /boot/initrd-2.6.18-164.el5.img  /mnt/boot/           #将硬體驅動檔案拷貝到/mnt/boot中

7:[root@lyt grub]# cd /mnt/boot/               #切換到該目錄下

[root@lyt boot]# vim grub/grub.conf             #在grub目錄中建立菜單檔案grub.conf

引入指令:

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071410xj9i.png"></a>

編輯grub.conf檔案:

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071414iPAC.png"></a>

8:[root@lyt grub]# cd /mnt/sysroot/              #切換到此目錄中,相當于建立主機的根分區

[root@lyt sysroot]# mkdir bin boot dev etc home lib proc root sbin sys tmp usr var       #在/mnt/sysroot/目錄下建立根分區應有的目錄

[root@lyt sysroot]# cd /                #切換到主控端的根分區

[root@lyt /]# ll                    #檢視主控端的檔案權限(tmp目錄比其他目錄多了一個sticky權限)

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071418TloB.png"></a>

[root@lyt /]# cd /mnt/sysroot/                #切換到建立主機的根分區下

[root@lyt sysroot]# chmod o+t tmp         #更改tmp的其他使用者的權限

[root@lyt sysroot]# cp /sbin/init sbin/       #将主控端上的核心啟動的使用者級程序/sbin/init拷貝到/mntsysroot/sbin目錄中

[root@lyt sbin]# ldd /sbin/init                   #檢視主控端核心啟動的使用者級程序init的系統調用

[root@lyt sbin]# cp /lib/libsepol.so.1 /mnt/sysroot/lib/       #将init的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt sbin]# cp /lib/libselinux.so.1 /mnt/sysroot/lib/     #将init的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt sbin]# cp /lib/libc.so.6 /mnt/sysroot/lib/             #将init的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt sbin]# cp /lib/libdl.so.2 /mnt/sysroot/lib/            #将init的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt sbin]# cp /lib/ld-linux.so.2 /mnt/sysroot/lib/       #将init的系統調用拷貝到/mnt/sysroot/lib中

9:[root@lyt etc]# cd /mnt/sysroot/etc/                         #切換到該目錄中

[root@lyt etc]# cp /etc/inittab/ ./                               #将主控端中的inittab檔案拷貝到目前目錄中

[root@lyt etc]# vim inittab                       #編輯inittab檔案

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071421oWcQ.png"></a>

10:[root@lyt etc]# mkdir rc.d            #如上圖中所示需要建立建立rc.d目錄

[root@lyt rc.d]# vim rc.sysinit           #建立rc.sysinit檔案,并編輯内容如下圖

[root@lyt rc.d]# chmod a+x rc.sysinit    #将rc.sysinit賦予可執行權限

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071422B4Fq.png"></a>

11:[root@lyt ~]# cp /bin/bash /mnt/sysroot/bin/             #将主控端的/bin/bash拷貝到/mntsysroot/bin中

[root@lyt bin]# ldd /bin/bash             #檢視bash的系統調用

[root@lyt bin]# cp /lib/libtermcap.so.2 /mnt/sysroot/lib/     #将bash的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt bin]# cp /lib/libdl.so.2 /mnt/sysroot/lib/              #将bash的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt bin]# cp /lib/libc.so.6 /mnt/sysroot/lib/               #将bash的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt bin]# cp /lib/ld-linux.so.2 /mnt/sysroot/lib/         #将bash的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt bin]# cd /mnt/sysroot/lib/                                 #将bash的系統調用拷貝到/mnt/sysroot/lib中

12:[root@lyt lib]# sync           #将主控端的記憶體中的資訊同步到硬碟sdb中

建立一台虛拟機,将其硬碟删除,将剛才在主控端上建好的硬碟導入到該虛拟機中。

三:測試

系統進入讀秒時間:

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071424FfLG.png"></a>

系統登入成功:

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071425NMey.png"></a>

四:附加

此時的系統沒有任何指令,如果想使用指令則需要将指令以及系統的相關調用導入新添的硬碟中。這裡以ls指令為例:

1:[root@lyt ~]# cp /bin/ls  /mnt/sysroot/bin/       #将主控端中的ls指令拷貝到建立主機中

[root@lyt ~]# cp /lib/librt.so.1 /mnt/sysroot/lib/                     #将ls的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt ~]# cp /lib/libacl.so.1 /mnt/sysroot/lib/                   #将ls的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt ~]# cp /lib/libselinux.so.1 /mnt/sysroot/lib/             #将ls的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt ~]# cp /lib/libc.so.6 /mnt/sysroot/lib/                     #将ls的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt ~]# cp /lib/libpthread.so.0 /mnt/sysroot/lib/            #将ls的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt ~]# cp /lib/ld-linux.so.2 /mnt/sysroot/lib/                #将ls的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt ~]# cp /lib/libattr.so.1 /mnt/sysroot/lib/                  #将ls的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt ~]# cp /lib/libdl.so.2 /mnt/sysroot/lib/                     #将ls的系統調用拷貝到/mnt/sysroot/lib中

[root@lyt ~]# cp /lib/libsepol.so.1 /mnt/sysroot/lib/                #将ls的系統調用拷貝到/mnt/sysroot/lib中

2:[root@lyt ~]# sync                      #将資訊同步

測試系統指令導入成功與否:

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071428oZtE.png"></a>

五:為系統設定登入界面的圖檔

1:[root@lyt grub]# mkdir /mnt/cdrom                                 #建立CD光牒挂載點

[root@lyt grub]# mount /dev/cdrom /mnt/cdrom/                  #挂載CD光牒

[root@lyt grub]# cd /mnt/cdrom/Server/                               #切換到該目錄中

[root@lyt Server]# ll gimp**            #查找linux自帶的圖檔處理工具gimp

[root@lyt Server]# vim /etc/yum.repos.d/rhel-debuginfo.repo    #編輯yum安裝工具,這裡不使用虛拟化VT、群集Cluster和存儲ClusterStorage,是以不用修改這三項

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071430UhCl.png"></a>

[root@lyt Server]# yum install gimp         #使用yum安裝gimp

2:[root@lyt Server]# yum install vsftpd-2.0.5-16.el5.i386.rpm    #使用yum安裝ftp伺服器

[root@lyt Server]# service vsftpd start        #開啟ftp伺服器

如果使用ftp伺服器向虛拟機内傳東西,則必須滿足:1:/etc/vsftpd/vsftpd.conf中第27行anon_upload_enable=yes。2:将ftp預設目錄/var/ftp/pub改為可讀可寫

[root@lyt ~]# vim /etc/vsftpd/vsftpd.conf    #編輯ftp伺服器配置腳本如下圖

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071432CC6S.png"></a>

[root@lyt ftp]# chmod a+w pub         #修改ftp的預設目錄/var/ftp/pub權限為可讀可寫

[root@lyt ftp]# service vsftpd restart    #重新開機ftp伺服器

3:進入圖形界面,找到圖檔,用gimp打開

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071435nzQY.png"></a>

4:在導航“圖像”中,選擇“畫布大小”,修改圖檔分辨率

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071441wobJ.png"></a>

5:在導航“圖像”中選擇“模式”的索引,修改為14

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_13440714457CVp.png"></a>

6:選擇儲存,将圖檔儲存為xpm格式

7:[root@lyt ~]# gzip AK-47.xpm     #用gzip将圖檔壓縮

[root@lyt ~]# cp AK-47.xpm.gz /mnt/boot/grub/   #将檔案拷貝到該目錄下,因為/mnt/boot/grub/grub.conf檔案要調用該壓縮圖檔

[root@lyt ~]# vim /mnt/boot/grub/grub.conf     #編輯該檔案如下圖所示

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_1344071449mgZz.png"></a>

8:[root@lyt ~]# sync    #同步到硬碟中

測試設定登入界面是否成功

<a href="http://5493845.blog.51cto.com/attachment/201208/4/5493845_13440714542NXf.png"></a>

本文轉自 liuyatao666 51CTO部落格,原文連結:http://blog.51cto.com/5503845/954249,如需轉載請自行聯系原作者

繼續閱讀