前言
因為需要在浪潮的 x86 服務器中集中部署 CentOS 搭建基於 Hadoop 的大數據平台 , 平時接觸 SLES(SUSE Linux Enterprise Server) 較多並且已經實現基於 Autoyast 方式使用光盤或者 PXE 網絡自動化安裝 ( 後續會分享具體實現方法 )。 這次主要通過學習 Kickstart 實現最簡單的光盤方式自動化安裝 CentOS, 而網上的大多數教程並不完全適用於自身的環境 , 本文將不再贅述 Kickstart 相關概念 , 細節可參考擴展閱讀 。
Kickstart 是最為通用的 Linux 自動化安裝方法之一
擴展閱讀
CentOS-6.4-x86_64
官方下載地址
代理上網小技巧 :
export http_proxy=ip:port
yum -y install createrepo mkisofs
拷貝 CentOS 原始鏡像內容 , 不做任何精簡
mkdir /mnt/centos mount /dev/sr0 /mnt/centos mkdir /tmp/iso cp -r /mnt/centos/* /tmp/iso
文件路徑和安裝方式可自由定義
cd /tmp/iso/isolinux # 修改引導 , 注意 ks= 部分 vi isolinux.cfg label linux menu label ^Install or upgrade an existing system menu default kernel vmlinuz append 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 # 使用網絡安裝 #url --url=ftp://ip/centos #Local installation Use CDROM installation media # 使用光盤安裝 cdrom #Installation Number configuration # 如果是 RedHat 的系統 , 會要求輸入 key, 這裡配置為跳過 , 如果不配置安裝時會停在那裡要求用戶輸入 key #key –skip #System language # 語言環境 #lang en_US.UTF-8 lang zh_CN.UTF-8 #System keyboard # 鍵盤類型 keyboard us #Network information # 網絡配置 #network --device eth0 --bootproto dhcp --onboot yes #Root password #root 密碼 rootpw chinaums #Firewall configuration # 禁用防火牆 firewall --disabled #SELinux configuration # 禁用 selinux selinux --disabled #Run the Setup Agent on first boot # 禁用第一次啟動時設置系統的向導 firstboot --disable #System authorization information # 用戶認證配置 ,useshadow 表示使用本地認證 ,--passalgo 表示密碼加密算法 authconfig --enableshadow --passalgo=sha512 #System timezone # 設置時區為上海 timezone --isUtc Asia/Shanghai #System bootloader configuration # 指明 bootloader 的安裝位置 , 指明驅動器的排序 , 指明操作系統安裝完成之後 , 向內核傳遞的參數 bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" #Clear the Master Boot Record # 清除 MBR 引導記錄 zerombr yes #Partition clearing information # 清除硬盤上的所有數據 clearpart --all --initlabel #Disk partitioning information # 自定義分區 # 創建一個 200M 大小的分區掛載 /boot 類型為 ext4 part /boot --fstype=ext4 --size=200 --ondisk=sda # 創建一個 20000M 大小的 SWAP 分區 part swap --size=20000 --ondisk=sda # 創建 / 目錄 part / --fstype=ext4 --grow --size=1 --ondisk=sda #Reboot after installation # 設置完成之後重啟 reboot --eject #This packages is for CentOS 6.4 # 為 CentOS 6.4 定制的軟件包 %packages @base @core @chinese-support # 增加安裝後運行腳本 %post #config service # 自定義服務 service NetworkManager stop chkconfig NetworkManager off #eject cdrom # 安裝完成彈出光碟 #eject #reboot # 執行完畢後重啟 #reboot -f # 結束自動化部署 %end
注意路徑和命令的准確性
cd /tmp/iso createrepo -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/
Linux 基礎教程:Linux Kickstart 自動安裝 http://www.linuxidc.com/Linux/2015-05/117877.htm
使用PXE+DHCP+Apache+Kickstart無人值守安裝CentOS5.8 x86_64 http://www.linuxidc.com/Linux/2012-12/76913p4.htm
Linux PXE無人值守安裝出現 PXE-E32:TFTP OPen timeout的解決辦法 http://www.linuxidc.com/Linux/2014-03/98986.htm
使用PXE結合kickstart 自動安裝Linux系統 http://www.linuxidc.com/Linux/2014-03/98014.htm
RHCE認證之無人值守安裝Linux系統(FTP+TFTP+DHCP+Kickstart+PXE) http://www.linuxidc.com/Linux/2013-10/91013.htm
PXE網絡裝機(有人值守與無人值守安裝) http://www.linuxidc.com/Linux/2013-07/87456.htm
更多CentOS相關信息見CentOS 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=14