anaconda介绍
设置光盘为第一启动项引导操作系统,开机时光盘会启动boot.cat,和isolinux.bin这两个文件启动图形引导界面,在图形引导界面键入ESC键入boot启动界面,键入启动标签然后会根据isolinux.cfg文件记录的标签信息,启动对应的内核和init文件,配置ip地址和anaconda自动安装文件,开始联系服务器自动安装操作系统。
Anaconda启动过程分为三个阶段:
安装前配置:键盘类型,语言环境,管理员密码,磁盘分区
安装执行过程:将用户选定要安装的程序包,基于安装树解决依赖关系后,执行安装程序包
第一次启动:设定iptables,Selinux,coredump
kickstart配置文件制作和参数说明
Kickstart文件的组成
命令段:如配置语言环境,键盘类型,root密码,磁盘分区都是在这里设置。
程序包段:%package(表示程序包段的开始),%end(表示程序包段的结束)
@group
Package
-package
脚本段:
%pre
安装前脚本:安装过程开始之前要执行的脚本;
注意:此时的Linux系统环境为微缩版环境,因此脚本应该比较简单
如:创建raid
%post
安装后脚本:安装过程完成之后要执行的脚本;
注意:脚本执行环境为完整的已经安装完成的系统;
如:cacti和nagios客户端的自动安装等等。
配置kickstart的方法:
(1) 手动编辑配置文件
(2) System-config-kickstart,GUI工具
安装:System-config-kickstart
yum -y install system-config-kickstart
打开:system-config-kickstart,直接在命令行输入System-config-kickstart即可
示例:下面实验使用的kickstart文件说明
[[email protected] ~]# cat ks.cfg # Kickstart file automatically generated by anaconda. #version=DEVEL install nfs --server=172.16.4.100 --dir=/media/cdrom #程序包的位置 lang en_US.UTF-8 #语言环境 keyboard us #键盘类型 #root密码 rootpw --iscrypted $6$CGsqab6d$Cd.PnnWtlL5XZAyr9J2zoMqyJH1QodcDp1pQp0uZ1f0Cq4eq9.TMkSQU6IfpvYZEYc32.lmF0lKuQwavnC49a0 reboot #设置完成之后重启 firewall --disabled #禁用防火墙 authconfig --useshadow --passalgo=sha512 #用户认证配置,useshadow表示使用本地认证,--passalgo表示密码加密算法 selinux --disabled #禁用Selinux timezone Asia/Shanghai #设置时区为上海 #指明bootloader的安装位置,指明驱动器的排序,指明操作系统安装完成之后,向内核传递的参数 bootloader --location=mbr --driveorder=sda --append="crashkernel=auto crashkernel=auto rhgb rhgb quiet quiet" clearpart --all #清除硬盘上的所有数据 part /boot --fstype=ext4 --size=200 #创建一个200M大小的分区挂载/boot类型为ext4 part pv.008002 --size=61440 #创建pv,part后面的pv为必须数字为pv的唯一表示,只要不和其他pv冲突即可 volgroup vg0 --pesize=8192 pv.008002 #创建卷组 logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480 #创建逻辑卷 logvol swap --name=swap --vgname=vg0 --size=2048 logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240 logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480 %packages #安装的程序包组 @Base @Core @base @basic-desktop @chinese-support @client-mgmt-tools @core @desktop-platform @fonts @general-desktop @graphical-admin-tools @legacy-x @network-file-system-client @perl-runtime @remote-desktop-clients @x11 ibus-table-cangjie #单独安装的软件 ibus-table-erbi ibus-table-wubi lftp tree %end %post #安装后的脚本 sed -i ‘1,[email protected]:[0-9]:initdefault:@id:3:initdefault:@g‘ /etc/inittab end
演示:使用kickstart创建引导镜像。
实验环境:
[[email protected] ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [[email protected] ~]# uname -rm 2.6.32-504.el6.x86_64 x86_64
配置前的准备工作:配置网络源
配置nfs服务器:减少引导镜像的体积
[[email protected] ~]# mkdir /media/cdrom [[email protected] ~]# mount /dev/cdrom /media/cdrom/ [[email protected] ~]# rpm -qa | grep nfs nfs-utils-1.2.3-54.el6.x86_64 nfs-utils-lib-1.1.5-9.el6.x86_64 nfs4-acl-tools-0.3.3-6.el6.x86_64 [[email protected] ~]# echo "/media/cdrom/172.16.4.0/16(ro,sync)" >> /etc/exports [[email protected] ~]# cat /etc/exports /media/cdrom/ 172.16.4.0/16(ro,sync) [[email protected] ~]# service nfs start [[email protected] ~]# showmount -e 172.16.4.20 Export list for 172.16.4.20: /media/cdrom 172.16.4.0/16
制作自动安装光盘
[[email protected] ~]# mkdir /tmp/cdrom #创建一个制作目录,用来存放引导进行文件,然后做成引导盘 [[email protected] ~]# cp -r /media/cdrom/isolinux//tmp/cdrom/ #复制系统盘的isolinux到制作目录 [[email protected] ~]# chmod u+w /tmp/cdrom/isolinux/* [[email protected] ~]# ll /tmp/cdrom/isolinux/ total 38572 -rw-r--r-- 1 root root 2048 Apr 7 01:17 boot.cat -rw-r--r-- 1 root root 84 Apr 7 01:17 boot.msg -rw-r--r-- 1 root root 334 Apr 7 01:17 grub.conf -rw-r--r-- 1 root root 34815427 Apr 7 01:17 initrd.img -rw-r--r-- 1 root root 24576 Apr 7 01:17 isolinux.bin -rw-r--r-- 1 root root 936 Apr 7 01:17 isolinux.cfg -rw-r--r-- 1 root root 165080 Apr 7 01:17 memtest -rw-r--r-- 1 root root 151230 Apr 7 01:17 splash.jpg -rw-r--r-- 1 root root 2215 Apr 7 01:17 TRANS.TBL -rw-r--r-- 1 root root 163728 Apr 7 01:17 vesamenu.c32 -rwxr-xr-x 1 root root 4152336 Apr 7 01:17 vmlinuz [[email protected] ~]# cp ks.cfg /tmp/cdrom/ #复制ks.cfg到制作目录 [[email protected] ~]# mkisofs -R -J -T -v--no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.6 X86_64boot disk" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso/tmp/cdrom/
制作光盘的参数:
-R,-J,-T,-v:是固定参数添加就可以
--no-emul-boot:不模拟引导启动过程
--boot-load-size:引导时装载的大小为4
--boot-info-table:引导时加上表格
-V:指明光盘标签
-b:指明引导文件
-c:指明引导时显示菜单的引导文件
-o:指明创建完成放到那里
如果使用引导镜像:
(1)新建一台虚拟机,将引导光盘放进去
(2)开机会出现一个选择菜单,输入ESC建,进入字符启动界面。
(3)进入字符启动界面之后,输入Linux,表示安装操作系统,配置IP地址和子网掩码,是为了和 网络上的nfs服务器通信,然后指明ks.cfg的位置,然后回车即可。
回车之后,一路自动配置,然后就什么都不需要做,就会安装完成。