pasckr 发表于 2016-5-9 15:52:22

利用Kickstart自动化安装CentOS的教程




                   前言
  因为需要在浪潮的x86服务器中集中部署CentOS搭建基于Hadoop的大数据平台,平时接触SLES(SuSE Linux EnterpriseServer)较多并且已经实现基于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 byanaconda.

  #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 &ndash;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=&quot;crashkernel=auto rhgbquiet&quot;
  #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 -cisolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -joliet-long-R -J -v -T /tmp/iso/
页: [1]
查看完整版本: 利用Kickstart自动化安装CentOS的教程