一、安装光盘的启动过程

第一步

CPU按照引导次序探测各设备,当读取到光盘中mbr时则开始引导光盘。安装光盘中也有用来模拟的mbr程序,其路径是安装光盘中的ioslinux/boot.cat文件,此时boot.cat类似于grub的第一阶段,由它去加载第二阶段

第二步

第二阶段的程序是isolinux/isolinux.bin,由boot.cat负责加载,其配置文件是isolinux/isolinux.cfg,第二阶段主要负责加载内核并向其传递参数,内核的程序文件是isolinux/vmlinuz

第三步

按照用户选的参数加载内核和initrd文件,解压、展开、挂载根文件系统,最后运行anaconda安装程序

第四步

anaconda基于用户的内存资源启动文本或图形界面

二、anaconda

1. 接口模式

  • tui接口:基于curses的文本窗口界面完成安装,当内存资源不足500M时自动启动,也可以显示指定启用文本窗口,
    可在选定模式时敲tab键并追加test,或者敲Ese键并键入linux test
  • gui接口:图形窗口界面

2. 安装过程的三个阶段

安装前配置阶段

  • 安装过程使用的语言
  • 选择键盘类型
  • 安装目标存储设备
  • 设定主机名称
  • 配置网络功能
  • 设定时区
  • 设定管理员密码
  • 设定分区方式及mbr安装位置
  • 选择要安装的程序包

安装阶段

  • 在目标磁盘上创建分区,执行格式化操作等
  • 将选定的程序包及其依赖安装至目标位置
  • 安装bootloader

首次启动阶段

  • 设置防火墙
  • 设置selinux
  • 设置核心转储功能

3. 配置方式

  • 通过交互式方式配置:此种方式即为通过安装光盘启动的安装方式
  • 通过配置文件自动完成配置,通过特定的语法结构给出配置项,称为kickstart文件

4. kickstart文件格式

命令段

指明个安装前配置

  • authconfig:认证方式配置
  • bootloader:bootloader的安装位置
  • clearpart:指定是否清空磁盘
  • firewall:指定是否启用防火墙
  • firstboot:是否设定首次启动设定
  • graphical:是否在图形界面下启动安装过程
  • halt:安装完毕后是否关机
  • reboot:安装完后重启
  • ignoredisk:安装过程是否忽略某些磁盘
  • keyboard:设定键盘类型
  • lang:设定语言类型
  • repo:安装过程额外用到的yum源
  • rootpw:指明root密码
  • timezone:指明时区

程序包段

指明要安装的程序包组或程序包

  • %packages:表示此段开始
  • %end:表示此段结束
  • @group_name:指定需要需要安装的包组
  • package:指定单个需要安装的程序包
  • -pachage:指定哪个程序包不安装

脚本段

安装前或安装后需执行的脚本

  • %pre:安装过程启动之前需要运行的脚本,运行环境为安装介质上的微型linux
  • %post:系统安装完毕后,需要运行的脚本,运行环境为安装完毕的操作系统

4. 安装引导选项

此处就是在boot命令提示符下,可传递给内核的参数

text:启用文本安装方式
method:让用户手动指定使用的安装源
ip=IPADDR
netmask=MASH
gateway=GW
dns=DNS_SERVER
ifname=NAME:MAC_ADDR
vnc
vncpassword='PASSWORD'
ks=
DVD drive:ks=cdrom:/path/to/kickstart_file
Hard drive:ks=hd:/device/drectory/kickstart_file
http server:ks=http://host:port/path/to/kickstart_file
ftp server:ks=ftp://host:port/path/kickstart_file
https server:ks=https://host:port/path/to/kickstart_file
recuse:启动紧急救援模式