安装Linux系统时,可能需要安装多个相同的系统到不同主机上,此时如若一一指定每个主机所安系统的属性则显得十分繁琐,如设置时区,语言,键盘类型,安装完成后指定系统相关属性等,此时如果使用kickstart实现自动部署,为每一台主机设置自动安装就显得十分便捷。
实验环境介绍:使用kickstart配合vsftpd完成无人值守CentOS6.6系统安装。
实验过程
一.首先定制kickstart文件
在CentOS6.6系统上,可以直接打开/root目录下编辑anaconda-ks.cfg文件,或者使用更直观的方式,使用命令[[email protected] ~]# system-config-kickstart &打开GUI图形界面定制其相关功能。
如上所示,可根据上图个菜单下的子项来修改新的kickstart文件。当然还可以根据当前系统上的配置来进行修改,方法为点击上面窗口的file菜单,打开当前系统上的/root目录下的anaconda-ks.cfg文件,就会自动加载相关配置信息,然后根据需求进行进一步修改即可
在此 ,主要进行以下设置
1.设置语言环境。并为管理员创建密码
2.设定安装路径,即ISO镜像位置
3.指定grub密码
4.为/,/root,/var等目录新建分区,并指定文件系统
5.设置网络地址为自动获取(注,需要当前环境下启动DHCP服务,如果没有DHCP服务,则可以自己指定静态IP地址)
6.关闭防火墙及selinux,防火墙默认会拒绝除了sshd以外的所有服务的链接,当然如果打开防火墙也可以,但是由于此处使用FTP服务器安装方式进行安装。则要放行ftp服务相关数据:
7.选择安装包,如所要安装的图形界面等:
8.指定安装前和安装后脚本,若安装过程和安装后要执行特殊任务,则在Post-installation script里指定即可
二.自制系统启动盘
自制系统启动盘可使用CentOS官方提供的系统安装镜像文件中的isolinux目录修改而成
1.首先在/tmp目录下创建目录centos用于挂在从官网下载的CentOS 6.6启动盘,并挂载:
设置虚拟机光驱使用镜像文件并连接
新建目录
[[email protected] tmp]# mkdir /tmp/centos
挂载镜像文件至/tmp/centos目录
[[email protected] tmp]# mount -t iso9660 -r /dev/dvd /tmp/centos/
切换到/tmp/centos目录下,并复制目录到/tmp/cdrom下
[[email protected] cdrom]# cp -fr /tmp/centos/isolinux/ /tmp/cdrom/
复制ks.cfg文件到/tmp/cdrom目录下
[[email protected] cdrom]# cp /root/ks.cfg /tmp/cdrom/
修改isolinux目录下的文件isolinux.cfg 在append后面添加ks文件的路径,此处我把ks文件直接放在启动盘,所以路径为cdrom:/ks.cfg,可根据自己使用情况进行修改,也可以和镜像文件同放于ftp下。在此我把kickstart配置文件之间放在了启动iso文件里所以修改此文件的append项如下
append initrd=initrd.img ks=cdrom:/ks.cfg
2.制作启动盘:
切换目录到/tmp下,使用命令mkisofs制作启动光盘镜像文件
[[email protected] tmp]# !mkisofs 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/boo.iso cdrom/ I: -input-charset not specified, using utf-8 (detected in locale settings) genisoimage 1.1.9 (Linux) Scanning cdrom/ Scanning cdrom/isolinux Excluded by match: cdrom/isolinux/boot.cat Excluded: cdrom/isolinux/TRANS.TBL Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Eltorito Volume Descriptor Start Block 17 Size of boot image is 4 sectors -> No emulation Done with: Eltorito Volume Descriptor Block(s) 1 Writing: Joliet Volume Descriptor Start Block 18 Done with: Joliet Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 19 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 20 Done with: Version block Block(s) 1 Writing: Path table Start Block 21 Done with: Path table Block(s) 4 Writing: Joliet path table Start Block 25 Done with: Joliet path table Block(s) 4 Writing: Directory tree Start Block 29 Done with: Directory tree Block(s) 2 Writing: Joliet directory tree Start Block 31 Done with: Joliet directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 33 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 33 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 34 25.74% done, estimate finish Sat Apr 18 21:21:25 2015 51.39% done, estimate finish Sat Apr 18 21:21:23 2015 77.11% done, estimate finish Sat Apr 18 21:21:23 2015 Total translation table size: 4701 Total rockridge attributes bytes: 1438 Total directory bytes: 2048 Path table size(bytes): 26 Done with: The File(s) Block(s) 19284 Writing: Ending Padblock Start Block 19318 Done with: Ending Padblock Block(s) 150 Max brk space used 0 19468 extents written (38 MB)
把文件拷贝到物理机上
3.挂载镜像光盘到ftp服务器的/var/CentOS6.6.iso目录下
[[email protected] cdrom]# mount /dev/dvd /var/ftp/CentOS6.6.iso/ mount: block device /dev/sr0 is write-protected, mounting read-only
安装vsftpd服务
[[email protected] cdrom]# yum install vsftpd -y
重启vsftpd服务,并关闭防火墙
[[email protected] cdrom]# service vsftpd restart Shutting down vsftpd: [FAILED] Starting vsftpd for vsftpd: [ OK ] You have new mail in /var/spool/mail/root [[email protected] cdrom]# service iptables stop iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] [[email protected] cdrom]#
三.测试
1.新建虚拟机并使用之前制作的iso文件为启动盘
启动新建的虚拟机直接敲Enter,然后进入安装后就会自动安装。
自动创建分区和格式化
安装软件包
安装完成进入的登陆界面
到此,使用kickstart配置文件引导安装CentOS6.6成功!