自制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

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

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

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

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

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

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

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

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

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

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

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

自制kickstart文件——完成CentOS系统的自动化安装以上操作完成后,保存文件到/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,如若转载,请注明出处:http://www.178linux.com/46723

(2)
megedugaomegedugao
上一篇 2016-09-16 09:21
下一篇 2016-09-16 11:51

相关推荐

  • CentOS系统启动流程

    概述:系统启动流程是Linux一个重要的内容,深入了解启动流程会对我们学习Linux起到一个顺水推舟的作用。因为CentOS 7改动较大,所以下面的内容只是针对CentOS 5和6来说的。下面进入正题。 启动流程:  第一步:POST加电自检    此过程的就是为了检测一下外界的硬件设备是否能够正常运行,如CPU,内存设备,硬盘…

    Linux干货 2016-09-13
  • 从Code Review 谈如何做技术

    (这篇文章缘由我的微博,我想多说一些,有些杂乱,想到哪写到哪) 这两天,在微博上表达了一下Code Review的重要性。因为翻看了阿里内部的Review Board上的记录,从上面发现Code Review做得好的是一些比较偏技术的团队,而偏业务的技术团队基本上没有看到Code Review的记录。当然,这并不能说没有记录他们就没有做Code Review…

    Linux干货 2016-08-15
  • python快速入门之数据类型

        Python 是 90 年代初由 Guido Van Rossum 为了打发圣诞节而创建的语言。如今它已是当前最流行的程序语言之一.     Python的关键要素有以下几点:1.基本数据类型;2.对象引用;3.组合数据类型;4.逻辑操作符;5.控制流语句;6.算数操作符…

    Python干货 2015-12-10
  • Linux软件包管理

      在我们的运维工作,总是避免不了安装某些软件,或者编译安装某些软件,我们知道操作系统当中的程序都是有程序员通过开发工具开发的来,程序员直接编写的纯文本的文档我们称之为源代码,但我们的计算机只能识别二进制程序,那么必须要将源代码变成计算机能识别的二进制程序,这里需要通过编译器来进行编译,将源码转换成二进制程序,再通过安装即可。 还有一类程序就是二进…

    Linux干货 2016-08-24
  • 一起学习吧:SDCC 2017即将在上海共话架构、数据和运维!

    2017活动家邀你一起学习吧!SDCC 2017在上海共话架构、数据和运维,还有两天!【召开时间为:3月17至3月19日】 在互联网大潮下,2017年的就业环境越发恶劣,技术人如何去适应技术变革和学习新技术,以及如何快速增强自身的技术实力成为亟需解决的问题。如果你在看完一本技术图书后还是疑惑不解,处于目前项目遇到困难时无人请教的尴尬境地,亦不清楚业界同行在使…

    2017-03-15
  • IP地址与网络配置方式

    IP 地址 它们可唯一标识IP网络中的每台设备 每台主机(计算机、网络设备、外围设备)必须具有唯一的地址 IP地址由两部分组成: (总共32位) 网络ID: 标识网络 每个网段分配一个网络ID 主机 ID: 标识单个主机 由组织分配给各设备   IP 地址分类 32位IP=网络ID+主机ID A 类: 前8位是网络ID位,后24位是主机ID位 00…

    2017-05-07