萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 利用Kickstart自動化安裝CentOS的教程

利用Kickstart自動化安裝CentOS的教程

   前言

  因為需要在浪潮的x86服務器中集中部署CentOS搭建基於Hadoop的大數據平台,平時接觸SLES(SuSE Linux Enterprise Server)較多並且已經實現基於Autoyast方式使用光盤或者PXE網絡自動化安裝(後續會分享具體實現方法)。這次主要通過學習Kisckstart實現最簡單的光盤方式自動化安裝CentOS,而網上的大多數教程並不完全適用於自身的環境,本文將不再贅述Kickstart相關概念,細節可參考擴展閱讀。

  Kickstart是最為通用的Linux自動化安裝方法之一

  環境准備

  定制系統

  CentOS-6.4-x86_64

  官方下載地址 - http://wiki.centos.org/Download

  安裝軟件包

  代理上網小技巧,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

  增加Kickstart配置文件

  文件路徑和安裝方式可自由定義

  復制代碼

  代碼如下:

  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

< p> #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

  生成依賴關系和ISO文件

  注意路徑和命令的准確性

  代碼如下:

  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/

copyright © 萬盛學電腦網 all rights reserved