CentOS安装过程及自动安装

时间:2024-04-10 20:42:22

一、系统安装程序

    Linux系统的安装并不是其自身的功能实现的,他需要借助第三方安装工具。这个工具就是anaconda。anaconda是运行在一个特制系统上的安装程序,这个特制的系统,它拥有自己的引导程序、内核及配置文件等。这个系统的相关文件位于光盘镜像的isolinux目录下:
CentOS安装过程及自动安装
CentOS安装过程及自动安装

启动流程:
1、通电自检后bios选择从光盘启动
2、读取引导第一阶段文件boot.cat
3、读取引导第二阶段文件isolinux.bin以及配置文件isolinux.cfg,可以看出其启动流程是类似于grub legacy的,安装引导界面以及isolinux.cfg文件内容如下:
CentOS安装过程及自动安装

default vesamenu.c32
#prompt 1
timeout 600

display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.6!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux
	menu label ^Install or upgrade an existing system
	menu default
 	kernel vmlinuz
	append initrd=initrd.img
label vesa
	menu label Install system with ^basic video driver
  	kernel vmlinuz
  	append initrd=initrd.img xdriver=vesa nomodeset
label rescue
  	menu label ^Rescue installed system
  	kernel vmlinuz
  	append initrd=initrd.img rescue
label local
  	menu label Boot from ^local drive
  	localboot 0xffff
label memtest86
  	menu label ^Memory test
  	kernel memtest
  	append -

    可以看出其配置文件也是类似于grub.conf文件来定义各个选项以及各自的参数。其中append是安装时附加的参数,也可以在安装界面按TAB在后面补入或者boot命令行补入。label不仅是不同安装选项的标识,它也是在boot命令行下可以键入的命令,如键入linux则是以第一项启动,你同样可以在其后面追加参数。
4、当选定一项安装方式后,立即加载内核、initrd等文件,随后则启动anaconda进行系统的安装。

二、自动安装及boot命令行

kickstart文件:
    自动化安装是通过事先给anaconda程序提供一个安装配置文件来实现的,这个配置文件称之为kickstart。提供kickstart文件的方式由很多种,比如各种网络服务器或者本地介质。
kickstart文件基本结构:
    命令段
    程序包段
    脚本段
kickstart文件内容较多,此处不过多说明。手动编辑明显不是明智的选择,我们可以在一个现有的linux系统上通过工具自动生成kickstart文件。

# system-config-kickstart

它会模拟一个图形安装界面给我们,这跟安装系统时我们看到的anaconda程序界面是一样的。只需要按照自己需求选择相应的选项,最后选择目录生成kickstart文件即可。

boot命令行:
    前面已经提到,在引导界面使用ESC进入boot命令行,使用isolinux.cfg文件中的各标签实现对应安装,以下boot: 为提示符。

boot: linux xdriver=vesa nomodeset	#等同于vesa,请参考isolinux.cfg文件
boot: vesa	#等同于上条命令
boot: linux text	#使用tui界面安装
boot: rescue	#救援模式
#以下是指定kickstart文件的方式,ks.cfg
boot: linux ks=cdrom:/path/ks.cfg	# ks文件在本地光盘
boot: linux ks=hd:/path/ks.cfg    # ks文件在本地硬盘
#如果要使用网络,则应先配置网络选项,参考如下:
boot: linux ip=IP_ADDR netmask=MASK gateway=GATEWAY dns1=DNS ifname=NAME:MAC
#随后可进行网络相关的引导
      ks=ftp://host:port/path/ks.cfg    # ks在ftp服务器上,http、https略

例子: 启动tui界面自动安装,ks.cfg在isolinux目录下

boot: linux text ks=cdrom:/isolinux/ks.cfg