自制kickstart文件——完成CentOS系统的自动化安装

CentOS 系统安装:


·安装程序:anaconda

        bootloader–>kernel(initrd(rootfs))–>anaconda

·anaconda:<两种模式>

         tui:基于cureses的文本配置窗口

         gui:图像界面

         该文件在光盘/isolinux/目录下

·CentOS的安装过程启动流程:<以下文件都在光盘中>

         MBR:boot.cat

         Stage2:isolinux/isolinux.bin

                 配置文件:isolinux/isolinux.cfg

                

                 每个对应的菜单选项:

                         加载内核:isolinux/vmlinuz

                         向内核传递参数:append initrd=initrd.img

        

         装载根文件系统,并启动anaconda

                 默认界面是图形界面:512MB+内存空间

                 若需要显示指定启动TUI接口:向启动内核传递一个参数"text"即可

                         (1)按tab键,在后面增加text

                         (2)boot界面:boot:linux text

                        

                         安装系统时如何进入boot界面

                                 按ESC键

                                     boot: linux text

                                             使用TUI接口安装系统,默认是图像界面

                                     boot:rescue

                                             进入救援模式

        

         注意:上述内容一般位于引导设备,例如可通过光盘、U盘或网络等;后续的anacona及其安装用到的程序包等可以来自于程序包仓库,此仓库的位置可以为:

                 本地光盘

                 本地硬盘

                 ftp server

                 http server

                 nsf server

                

                 如果要手动指定安装仓库:

                 boot:linux askmethod

·anaconda的工作过程:<Anaconda安装系统分成三个阶段>

         安装前配置阶段

                 安装过程使用的语言

                 键盘类型

                 安装目标存储设备

                         Basic Storage:本地磁盘

                         Special Storage:ISCSI

                 设备主机名

                 配置网络接口

                 时区

                 管理员密码

                 设定分区方式及MBR的安装位置

                 创建一个普通用户

                 选定要安装的程序包

        

         安装阶段

                 在目标磁盘创建分区并执行格式化

                 将选定的程序包安装至目标位置

                 安装bootloader和initramfs

        

         首次启动

                 iptables

                 selinux

                 core dump

·anaconda的配置方式:

         (1)交互式配置方式

         (2)支持通过读取配置文件中事先定义好的配置像自动完成配置;遵循特定的语法格式,此文件即为kickstart文件

·安装引导选项:

         安装boot引导选项:boot:

                 text:文本安装方式

                 askmethod:手动指定使用的安装方法

                 与网络相关的引导选项:

                         ip=IPADDR

                         netmask=MASK

                         gateway=GW

                         dns=DNS_SERVER_IP

                 远程访问功能相关的引导选项:

                         vnc

                         vncpassword='PASSWORD'

                 启动紧急救援模式:

                         rescue

                 装载额外驱动:

                         dd

                

                 更多内核参数:

                 www.redhat.com/docs . 《installation guide》

CentOS系统安装:


·安装引导选项:

         ks:指明kickstart文件的位置

                 ks=

                         DVD driver:ks=cdrom:/PATH/TO/KICKSTART_FILE

                         Hard driver:ks=hd:/PATH/TO/KICKSTART_FILE

                         HTTP Server:ks=http://HOST[:PORT]/PATH/TO/KICKSTART_FILE

                         FTP Server:ks=ftp://HOST[:PORT]/PATH/TO/KICKSTART_FILE

                         HTTPS Server:ks=https://HOST[:PORT]/PATH/TO/KICKSTART_FILE

                         NFS server: ks=nfs://host:/ path/to/ KICKSTART_FILE

·kickstart文件的格式:

         命令段:

                 指定各种安装前配置选项,如键盘类型等

                     必备命令

                     可选命令

        

         程序包段:

                 指明要安装的程序包、及其包组,也包括不安装的程序包

                     %packages :指明程序包段开始了

                     @group_name :安装包组

                     package :单个程序包

                     -package :不安装的程序包

                     %end :指明程序包段结束了

        

         脚本段:

                 %pre :安装前脚本

                     运行环境:运行安装介质上的微型Linux系统环境

                

                 %post :安装后脚本

                     运行环境:安装完成的系统

·命令段中的必备命令:

         authconfig:认证方式配置

                 anthconfig –enableshadwo –passalgo=sha512

         bootloader:定义bootloader的安装位置及相关配置

                 bootloader –location=mbr –derverorder=sda –append="crashkernel=auto rhgb quiet"

         keyboard:设备键盘类型

                 keyboard us

         lang:语言类型

                 lang zh_CN.UTF-8

         part:分区布局

                 poot /boot –fstype=ext4 –size=500  //默认单位是MB

                 part pv.008002 –size=52100

                         创建物理卷

         rootpw:管理员密码

                 openssl passwd -1 -salt openssl rand -hex 4

                         生成salt为4位的密码

         timezone:时区

                 timezone Asia/Shanghai

        

         补充:分区相关的其他指令

                 clearpart:清除分区

                         clearpart –none –device=sda:清空磁盘分区

                 volgroup:创建卷组

                         volgroup myvg –pesize=4096 pv.008002

                                 VG_NAME=myvg PE大小=4MB

                 logvol:创建逻辑卷

                         logvol /home –fstype=ext4 -name=lv_home –vgname=myvg –size=5120

                

                 生成加密密码的方式:

                         # openssl passwd -1 -salt openssl rand -hex 4

·可选命令:

         install OR upgrade:安装或升级

         text:安装界面类型,text为tui,默认为GUI

         network:配置网络接口

                 network –onboot yes –device eth0 –bootproto dhcp –noipv6

                         网络接口也可以静态指定

         firewall:防火墙

                 firewall –disabled

         selinux:SELinux

                 selinux –disables

         halt、poweroff或reboot:安装完成之后的行为

         repo:指明安装是要使用的repository

                 repo –name="CentOS" –baserurl=cdrom:sr0 –cost=100

         user:安装完成后为系统创建新用户

         url:指明安装时使用的repository,但为url格式<url的优先级高于repo>

                 url –url=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.8-x86_64/

         key –skip:跳过安装号码, 适用于rhel 版本

·参考官方文档:《Installation Guide》

·定制kiskstart文件:

         (1)直接手动编辑;

                 依据某模板修改

         (2)  可使用创建工具:system-config-kickstart 依据某模板修改并生成新配置

                 # yum install system-config-kickstart    //需要用到的包

                 # system-config-kiskstart

                         sytem-config-kickstart &

111.png

以上操作完成后,保存文件到/root目录下,命名为ks.cfg        

                 检查语法错误:

                         # ksvalidator

                                 ksvalidator /root/ks.cfg :检测文件语法错误

·光盘加载启动后:boot:ks=cdrom:/ks.cfg  ip=172.16…..   netmask=…..

        ip  netmask 也可以直接在kc.cfg文件中指定为动态获取

·创建光盘镜像:

         #cp /media/cdrom/isolinux/ /tmp/myiso/

         #vi /tmp/myiso/isolinux/isolinux.cfg

                 initrd=initrd.img text ks=cdrom:/myks.cfg

124.png

         #cp /root/ks.cfg /tmp/myiso/isolinux/

         #cd /tmp

         # mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V "CentOS 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso myiso/

·创建U盘启动盘:

        #dd if=/dev/sr0 of=/dev/sdb

原创文章,作者:megedugao,如若转载,请注明出处:/46723

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达娱乐开户  万达注册  万达娱乐注册  万达登录  万达娱乐招商QQ  万达开户  guoqibee.com  万达直属QQ  万达娱乐平台