標籤:kickstart
1.centos安裝啟動過程中其實 通過安裝程式anaconda來進行(僅針對centos系統,用到的是anaconda程式來安裝),anaconda運行在OS上,此時OS還沒安裝,那是anaconda是怎麼啟動並執行呢?其實init啟動後,anaconda程式就運行了,前期其實就是:光碟片上的bootloader --> 光碟片上指定的配置好的vmlinuz, initrd.img --> 完成後直接運行anaconda。
2.anaconda的安裝
1.anaconda把安裝過程分成兩個階段:
1.安裝前設定階段(選定鍵盤類型 (對於鍵盤,每個國家用的鍵盤類型不同,例如棒子、阿三等國家用的鍵盤類型是不同的)、語言、時區、管理員密碼、磁碟及其分區方式、要安裝的程式包)
2安裝階段:
在目標磁碟建立分區、執行格式化;
將選定的程式包安裝至目標磁碟;
產生bootloader;
安裝完之後要重啟第一次啟動時,要記得配置iptables, selinux, core dump(以防記憶體崩潰時使用)
2.安裝時的分區
1.系統安裝的基本分區時一般而言有2個:
/ : 根分區
swap:交換分區(一旦沒有swap分區,硬碟空間不夠用了就會出問題)
2.如果根分區放置於邏輯卷,由於grub無法驅動並訪問邏輯卷,就必須將/boot單獨分區,並使用基本磁碟分區,而不能使用邏輯卷,這時分區就應該有3個:
/: 根分區,其放置於邏輯卷
/boot:使用基本磁碟分區,不能使用邏輯卷
swap:交換分區
【注意:為防止系統崩潰,重裝系統丟失重要關鍵性資料,有時候/usr,/var ,/home /tmp/,usr/local 可以單獨分區,將來重裝系統時,只重裝根分區、格式化根即可,其他/usr,/var ,/home /tmp/ 只需掛載上即可 】
【注意:上述所有的安裝過程都是由anaconda程式啟動並執行】
4.安裝系統的另外一種方式:通過讀取kickstart設定檔自動完成
1.anaconda應用程式支援通過讀取設定檔的內容來完成安裝過程的配置,設定檔稱kickstart檔案(在centos或紅帽系列),檔案在/root目錄下,這種方法批量部署時需要用到。
2.kickstart檔案的組成:
命令段
程式包段:%packages, %end #表示要安裝的程式包
@group #安裝包組
package #要裝的包
-package #不安裝package包
指令碼段:
%pre #安裝前指令碼:安裝過程開始之前要執行的指令碼;【注意:此時的Linux系統內容為微縮版環境,因此指令碼應該較簡單才行;】
%post # 安裝後指令碼:安裝過程完成之後要執行的指令碼;【注意:指令碼執行環境為完整的已經安裝完成的系統;】
3.kickstart命令段,分為兩類:必備命令 和 可選命令(輔助完成一些功能)
1. 配置kickstart的方式:
(1) 手動編輯設定檔;
(2) system-config-kickstart,GUI工具;安裝命令system-config-kickstart的程式包名與命令名相同;
2.安裝過程如何擷取並使用kickstart檔案:
( 1) 放置於安裝程式能夠擷取到的位置;
(a) 放置於光碟片鏡像;
(b) 網路檔案伺服器;
【要求:安裝程式得支援網路功能,且能夠訪問到網路檔案伺服器;】
3.安裝過程過程中的安裝引導選項
1.boot:
linux #啟動預設安裝模式
linux text #啟動文本安裝模式
2.與網路相關的引導選項:
ip=IPADDR
netmask=MASK
gateway=GW
dns=DNS_SERVER_IP
ifname=NAME:MAC_ADDR #網卡名
3. 指明擷取 kickstart 檔案的路徑
ks=
DVD drive ks=cdrom:/path/to/kickstart_file
HTTP Server ks=http://server_ip:port/path/to/kickstart_file
HTTPS Server ks=https://server_ip:port/path/to/kickstart_file
FTP Server ks=ftp://serverip:port/path/to/kickstart_file
NFS Server ks=nfs:server_ip:/path/to/kickstart_file
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" />
下面示範怎樣建立一個引導光碟片,僅協助啟動安裝過程,不提供安裝樹:
(1) 首先準備工作目錄,例如這裡使用/tmp/cdrom;
#mkdir /tmp/cdrom
(2) 掛載系統發行光碟片,複製isolinux目錄至/tmp/cdrom;
#mount /dev/sr0 /media/Centos-VERSION
#cp /media/Centos-VERSION /tmp/cdrom/
(3)用命令system-config-keckstart製作kickstart檔案, 複製製作好的kickstart檔案ks.cfg至/tmp/cdrom某位置;
#system-config-kickstart#cp ks.cfg /tmp/cdrom
(4) 如果需要,可以編輯/tmp/cdrom/isolinux/isolinux.cfg,在某label後的append指令後附加ks=資訊,從而實現自動調用光碟片上提供的ks檔案;
(5) 建立iso鏡像,採用命令mkios建立好之後會產生一個boot.iso檔案,boot.iso檔案就是我們的引導鏡像,到這兒我們的鏡像就製作完畢了
# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.6 X86_64 boot disk" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso cdrom/
(6)如果需要的話,可以用sftp將製作好的boot.iso鏡像複製到windows上面,然後建立一個虛擬機器,在虛擬機器中調整啟動次序為光碟片啟動,即我們的boot.iso,引導啟動即可
centos啟動流程以及kickstart及引導鏡像製作