启动介质的启动流程:
isolinux --> anaconda
光盘介质内的结构:
EFI/ efi相关
LiveOS/ LiveCD相关映像文件。
Packages/ 软件包
images/ 存放各种启动介质映像文件(Image File)。
isolinux/ 启动加载器的使用目录。包括启动加载器的配置文件,内核、initrd等文件。
repodata/ repo数据
CentOS_BuildTag 记录build日期的文件。
GPL GPL授权文件
RPM-GPG-KEY-CentOS-7 GPGKEY文件
RPM-GPG-KEY-CentOS-Testing-7 GPGKEY文件
anaconda
1.update模式
安装和升级系统
2.kickstart模式
自动安装。
3.rescue模式
救援模式
stage1:
1.启动安装介质内的isolinux/initrd.img
2.执行initrd.img内的init
解析启动介质事指定的参数
检车硬件设备,加载必要驱动
stage2:
1.执行image/stage2.img
设置安装选项并进行安装与更新计划
/root/anaconda-ks.cfg 使用anaconda方式系统安装时自动生成,可以作为kickstart文件的模板。
内容由3部分组成:
1.命令段:
安装过程中需要使用命令指定的设置。
2.软件包选择段:
以%packages开头,指定系统安装中需要安装的包和包组等。
3.脚本段
%pre 系统安装前执行的脚本。
%post 系统安装后执行的脚本
安装选项,在boot提示符中可以使用的命令
linux COMMAND
askmethod 手工选择安装方式。
dd=DISK 加载驱动
ip=IP|dhcp 指定ip地址,自动获取则填dhcp
netmask=NETMASK 指定子网掩码
gateway=GATEWAY 指定网关
dns=DNS1,DNS2... 指定DNS地址,各DNS之间用,逗号隔开。
ks=http://SERVER/DIR 从http中读取
ks=nfs:SERVER:/DIR 从nfs中读取
ks=hd:DEVICE/DIR/FILE 从本地设备中读取
ks=flie:/DIR/FILE initrd中存在预先打包进去的配置文件。
ksdevice=DEVICE 有多网卡时,指定通过某块网卡获取配置文件。
mediacheck=no 跳过光盘检查。
method=cdrom
method=ftp://DIR
method=hd:DEVICE:DIR
method=http://DIR
method=nsf:DIR
nonet 不启用网络功能
noprobe 不装载额外的硬件设备驱动。
nousb 不使用usb设备
rescue 进入紧急救援模式。
kickstart
ks.cfg kickstart的配置文件
内容由3部分组成:
1.命令段:
必备命令
1.keyboard us
2.lang en_US
语言列表在/usr/share/sytem-config-language/locate-list中定义。
或使用locale -a查看
3.timezone
4.rootpw
5.authconfig
6.bootloader
7.clearpart
可选命令
1.autopart 自动分区
2.ignoredisk 忽略硬盘
--drives=DISK1,DISK2... 指定忽略的硬盘
--onlyuse=DISK1,DISK2... 白名单
3.autostep 自动跳过可选项,可选项均设定为默认选项。
auth(authconfig)
--enablemd5 用户密码使用md5方式加密
--useshadow --enableshadow 使用shadow密码
bootloader
--location 指定安装位置,默认安装在mbr。
--password=PASSWORD 使用grub的时候是否设置密码。
clearpart
--all 移除所有分区
--linux 移除所有linux分区
--none 不移除任何分区,使用空闲空间。默认选项。
--initlable 磁盘上若无分区表则初始化一个。
driverdisk DISK 指定驱动磁盘
--source=ftp://DIR/dd.img 指定镜像文件的位置。
--sourec=http://DIR/dd.img
--sourec=nfs:HOST:/DIR/dd.img
firewall
--enable --enabled 启用防火墙
--disenable --disabled 禁用防火墙
--turst ETHNUM 信任从哪个网卡上的数据包
--prot PROTO:PORT 指定的协议和端口
--SERVICE 指定的服务
ssh
telnet
smtp
http
ftp
firstboot 设定系统启动后的setup agent。
--enable --enabled 允许setup agent启动。
--disable --disabled 禁止setup agent启动。
--reconfig 启动后令setup agent进入重配置模式。
halt 系统安装完成后关机
poweroff 系统安装完成后关机
reboot 系统安装完成后重启
shutdown 系统安装完成后关机
graphical 图形安装界面
text 文本安装界面
install 安装系统
--url
upgrade 升级系统
interactive 交互模式
iscsi iscsi设备相关
key 密钥
--skip 跳过提供密钥
part|partition 划分分区
pv 创建pv设备
raid 创建raid设备
--size 指定大小
--grow 能否自动扩展至最大空间
--maxsize 指定最大空间大小
--ondisk=DISK 在指定分区上操作
--fstype=FSTYPE 指定文件系统类型。
--start 开始的柱面
--end 结束的柱面
--encrypted 是否加密
--label=LABELNAME 卷标
volgroup 卷组相关
logvol 逻辑卷相关
network
--device=ETHNUM 指定网卡
--bootproto=hdcp|stati|boottp
--ip=IP
--netmask=NETMASK
--gateway=GATEWAY
--nameserver=DNS1,DNS2...
rootwp PASSWORD root的用户的密码
--iscrypted 使用加密的密码
selinux
--disabled 禁用
--enforcing 强制模式
--permissive 宽容模式,建议使用
skipx 跳过图形界面配置
timezone TIMEZONE
--utc
可以使用timeconfig命令进行配重。
2.软件包选择段:
以%packages开头,指定系统安装中需要安装的包和包组等。
3.脚本段
%pre 系统安装前执行的脚本。
%post 系统安装后执行的脚本
#ksalidator KSFILE
检查kickstart文件配置是否有错误,需要安装system-config-kickstart软件包。
#system-config-kickstart 图形化编辑kickstart工具。
实例:创建极小安装光盘
1.挂载光盘
#mount /dev/cdrom /mnt/cdrom
2.复制光盘上的isolinux images
#cp -pr /mnt/cdrom/{isolinux,images} /tmp/test/
3.编辑isolinux.cfg文件
#vim /tmp/test/isolinux/isolinux.cfg
default linux ks=cdrom:/ks.cfg
4.编辑boot.msg
#vim boot.msg
可以自己添加想要显示的信息
5.创建ks.cfg文件
#vim /tmp/test/ks.cfg
6.创建光盘映像文件
##mkisofs -R -b /tmp/test/isolinux/isolinux.bin --no-emul-boot -boot-load-size 4 -boot-info-table -o boot.iso /tmp/iso