一、anaconda和isolinux
anaconda是linux安装程序的安装想到,在我们的系统安装光盘内有一个isolinux的目录,这个目录是用来启动光盘镜像的,下面我们说一下这个目录下的文件
1、isolinux/boot.cat 一个二进制文件,相当于磁盘的MBR,我们可以使用hexdump -C 512 来查看其中的内容
2、isolinux/isolinux.bin grub的第二阶段
3、isolinux/isolinux.cfg 配置文件
二、配置文件的重要选项
- default vesamenu.c32 vesamenu.c32 表示默认菜单文件
- timeout 600 进入菜单后超时时间
- label linux 自定义的命令,在字符界面可以通过输入自定义的命令来加载后面的项目,如kernel、append
- menu label ^Install CentOS 7
- kernel vmlinuz 指定内核
- append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet 指定initramfs
- label check 同上
- menu label Test this ^media & install CentOS 7 同上
- menu default 启动默认项
- kernel vmlinuz 同上
- append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet 同上
小技巧:在append initrd 最后可以添加内核参数 如 rescue 为救援模式、text为字符界面安装、askmethod 安装方法、ks 指明kickstart应答文件的位置(我们主要使用ks来实现自动化安装)
三、kickstart应答文件
如果有图形界面,可以通过yum install system-config-kickstart 来使用图形化配置应答文件
ks文件选项:
- firewall --disabled #安装时关闭防火墙
- install #安装
- usr --url="http://172.18.30.1/centos/6"
- rootpw --plaintext centos
- auth --useshadow --passalgo=sha512
- text
- firstboot --disable
- keyboard us
- lang en_US
- selinux --disabled #安装时关闭selinux
- logging --level=info #记录日志级别
- reboot
- timezone Asia/Shanghai #设置时区
- network --bootproto=dhcp --device=eth0 --onboot=on
- bootloader --location=mbr --driveorder=sda
- zerombr #重写mbr
- clearpart --all --initlabel #重新分区
- part / --fstype="ext4" --size=10240 #进行分区并挂载
- part /boot --fstype="ext4" --size=300
- part swap --fstype="swap" --size=1024
- %packages #安装包,@开头表示包组
- %end
- %post #安装后脚本
- %end
ks必备命令:
- authconfig: 认证方式配置
- authconfig --useshadow --passalgo=sha512
- bootloader:bootloader的安装位置及相关配置
- bootloader --location=mbr --driveorder=sda
- append="crashkernel=auto rhgb quiet"
- keyboard: 设定键盘类型
- lang: 语言类型
- part: 创建分区
- rootpw: 指明root的密码
- timezone: 时区
ks 可选命令:
- install OR upgrade
- text: 文本安装界面
- network
- firewall
- selinux
- halt
- poweroff
- reboot
- repo
- user:安装完成后为系统创建新用户
- url: 指明安装源
- key –skip 跳过安装号码,适用于rhel版本
图形界面的ks配置方式:
yum install -y system-config-kickstart
ks文件语法检查工具ksvalidator
ksvalidator /path/ksfile
四、文献
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/installation_guide/index
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/index