基于Kickstart自動化安裝CentOS實(shí)踐
前言
因?yàn)樾枰诶顺钡膞86服務(wù)器中集中部署CentOS搭建基于Hadoop的大數(shù)據(jù)平臺,平時接觸SLES(SuSE Linux Enterprise Server)較多并且已經(jīng)實(shí)現(xiàn)基于Autoyast方式使用光盤或者PXE網(wǎng)絡(luò)自動化安裝(后續(xù)會分享具體實(shí)現(xiàn)方法)。這次主要通過學(xué)習(xí)Kisckstart實(shí)現(xiàn)最簡單的光盤方式自動化安裝CentOS,而網(wǎng)上的大多數(shù)教程并不完全適用于自身的環(huán)境,本文將不再贅述Kickstart相關(guān)概念,細(xì)節(jié)可參考擴(kuò)展閱讀。
Kickstart是最為通用的Linux自動化安裝方法之一
環(huán)境準(zhǔn)備
定制系統(tǒng)
CentOS-6.4-x86_64
官方下載地址 - http://wiki.centos.org/Download
安裝軟件包
代理上網(wǎng)小技巧,export http_proxy=ip:port
yum -y install createrepo mkisofs
制作流程
目錄結(jié)構(gòu)
拷貝CentOS原始鏡像內(nèi)容,不做任何精簡
mkdir /mnt/centosmount /dev/sr0 /mnt/centosmkdir /tmp/isocp -r /mnt/centos/* /tmp/iso
增加Kickstart配置文件
文件路徑和安裝方式可自由定義
cd /tmp/iso/isolinux#修改引導(dǎo),注意ks=部分vi isolinux.cfglabel linuxmenu label ^Install or upgrade an existing systemmenu defaultkernel vmlinuzappend initrd=initrd.img ks=cdrom:/isolinux/ks.cfg#手動增加Kickstart配置文件vi ks.cfg
#Kickstart file automatically generated by anaconda.#version=DEVEL#Install OS instead of upgrade#表示是安裝,而不是升級install#Use text mode install#文本方式安裝text#Use network installation#使用網(wǎng)絡(luò)安裝#url --url=ftp://ip/centos#Local installation Use CDROM installation media#使用光盤安裝cdrom#Installation Number configuration#如果是RedHat的系統(tǒng),會要求輸入key,這里配置為跳過,如果不配置安裝時會停在那里要求用戶輸入key#key –skip#System language#語言環(huán)境#lang en_US.UTF-8lang zh_CN.UTF-8#System keyboard#鍵盤類型keyboard us#Network information#網(wǎng)絡(luò)配置#network --device eth0 --bootproto dhcp --onboot yes#Root password#root密碼rootpw chinaums#Firewall configuration#禁用防火墻firewall --disabled#SELinux configuration#禁用selinuxselinux --disabled#Run the Setup Agent on first boot#禁用第一次啟動時設(shè)置系統(tǒng)的向?qū)?/span>firstboot --disable#System authorization information#用戶認(rèn)證配置,useshadow表示使用本地認(rèn)證,--passalgo表示密碼加密算法authconfig --enableshadow --passalgo=sha512#System timezone#設(shè)置時區(qū)為上海timezone --isUtc Asia/Shanghai#System bootloader configuration#指明bootloader的安裝位置,指明驅(qū)動器的排序,指明操作系統(tǒng)安裝完成之后,向內(nèi)核傳遞的參數(shù)bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"#Clear the Master Boot Record#清除MBR引導(dǎo)記錄zerombr yes#Partition clearing information#清除硬盤上的所有數(shù)據(jù)clearpart --all --initlabel#Disk partitioning information#自定義分區(qū)#創(chuàng)建一個200M大小的分區(qū)掛載/boot類型為ext4part /boot --fstype=ext4 --size=200 --ondisk=sda#創(chuàng)建一個20000M大小的SWAP分區(qū)part swap --size=20000 --ondisk=sda#創(chuàng)建/目錄part / --fstype=ext4 --grow --size=1 --ondisk=sda#Reboot after installation#設(shè)置完成之后重啟reboot --eject#This packages is for CentOS 6.4#為CentOS 6.4定制的軟件包%packages@base@core@chinese-support#增加安裝后運(yùn)行腳本%post#config service#自定義服務(wù)service NetworkManager stopchkconfig NetworkManager off#eject cdrom#安裝完成彈出光碟#eject#reboot#執(zhí)行完畢后重啟#reboot -f#結(jié)束自動化部署%end
生成依賴關(guān)系和ISO文件
注意路徑和命令的準(zhǔn)確性
cd /tmp/isocreaterepo -g repodata/*comps.xml .mkisofs -o /tmp/CentOS-6.4_64_auto.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -joliet-long -R -J -v -T /tmp/iso/
測試和建議
推薦兩篇參考文獻(xiàn),建議先在虛擬機(jī)上反復(fù)測試驗(yàn)證再到物理機(jī)部署
- Linux Kickstart 自動安裝 - http://liaoph.com/linux-kickstart/
- Centos6.4定制自動化安裝盤 - http://www.wpython.com/444.html
更新歷史
2015年05月20日 - 初稿
閱讀原文 - http://wsgzao.github.io/post/kickstart/
擴(kuò)展閱讀




























