Linux 基础教程:Linux Kickstart 自动安装

从系统安装说起

在 RHEL,CentOS,Fedora 等系统中,安装系统使用的程序名叫 anaconda,它属于 FedoraProject,由 Python 开发,能够提供图形或者文本界面用于系统安装。

在安装系统之前,计算机的硬件上可能是没有操作系统的,因此为了能够运行安装程序,需要一个临时的操作系统,引导开机,启动安装程序,在使用光盘安装操作 Linux 系统(这里特指 RHEL 系列的系统)时,一共有两个阶段,分别为引导和安装。Stage 1

使用光盘引导时,系统启动过程为 POST(加电自检) —> BIOS 进行硬件检测并载入光盘的 MBR —> 光盘的引导程序为 isolinux.bin,它根据 isolinux.cfg 生成一个菜单。当用户选择安装操作系统后,引导程序加载内核(vmlinuz)和 initrd.img 文件,initrd.img 会在内存中生成一个临时的操作系统,为安装过程提供一个安装环境。当系统切换至 initrd 文件系统后,initrd.img 中的 init 进程调用 /sbin/loader 程序,loader 探测安装介质,加载光盘 /images/stage2.img (在 RHEL6 中叫 install.img ),切换到 stage2,stage2.img 的文件系统类型是 suqashfs,安装系统的程序 anaconda 就包含其中。

Stage 2

stage2.img 是 SquashFS 类型文件系统,其中包含了安装程序 anaconda 和它的配置文件。anaconda 提供了安装过程的配置界面,它可以提供文本、图形等安装管理方式,并支持 kickstart 等脚本提供自动安装的功能。在安装系统之后会自动生成 /root/anaconda-ks.cfg 的配置信息,其中记录了安装系统所选取选项自动生成的,方便以后自动安装。下面是 CentOS 6 安装时 stage 1 的菜单界面:

这个菜单中的选项都是由光盘中的 /isolinux/isolinux.cfg 文件设定的。在菜单界面按 Esc 键,可以进入命令行模式,输入 linux,效果等同于菜单的第一个选项,即安装 Linux 操作系统。

在命令行接口下,还可以使用其他一些命令:网络相关配置:ip=IPADDRnetmask=MASKgateway=GATEWAYdns=DNS_IPifname=NAME:MAC_ADDR

指明 kickstart 文件路径ks=cdrom:/path/to/ks.cfgks=http://server/path/ks.cfgks=ftp://server/path/ks.cfgks=nfs:server:/path/ks.cfg

dd:加载需要的驱动

这里的 ks 指令可以指定一个 kickstart 配置文件的路径,anaconda 可以根据 kickstart 文件的配置完成自动化安装操作系统。

Kickstart

在常规系统安装中的需要手动选定系统安装的各种选项,kickstart 文件定义了这些系统安装需要选择的选项,anaconda 读取 kickstart 文件后,就可以根据文件的设置来进行系统安装,而不需要人为的选择安装配置了。

Kickstart 文件可以在安装时通过网络获取,它支持 http,,ftp,nfs 等协议,还可以将 kickstart 文件存放在安装介质中(如光盘镜像),在安装时从光盘中读取。

创建一个 kickstart 文件

在常规的系统安装结束后,anaconda 会根据本次系统安装的设置,生成一个与本次安装设置相同的 kickstart 文件,这个文件位于 /root/anaconda-ks.cfg,可以对这个文件进行修改供以后使用。

RHEL 系系统还提供了一个图形化配置 kickstart 文件的工具 system-config-kickstart,能够在图形界面下选择安装选项并将结果保存为 kickstart 文件。

kickstart 文件有三部分组成:

命令段

命令段分为必备命令和可选命令。

必选命令keyboard us # 键盘类型设定lang en_US # 语言设定timezone [–utc] Asia/Shanghai # 时区选择reboot | poweroff | halt # 系统安装完成后的操作(重启或关机)selinux –disabled | –permissive # 是否启用 selinuxauthconfig –useshadow –passalgo=sha512 # 系统的认证方式,这里选择密码认证,加密算法为 sha512rootpw –iscrypted …. # 加密后的 root 密码bootloader –location=mbr –driveorder=sda # bootloader 的安装位置,这里选择安装至 mbr 中

可选命令install | upgrade # 安装/升级 操作系统url –url=…. # 指明通过远程主机的 FTP 或 HTTP 路径来安装系统firewall –disabled | –enabled # 是否开启防火墙firstboot –disabled | –enabled # 系统第一次启动后是否进行用户配置text | graphical # 安装界面为 文本/图形clearpart –linux | –all # 安装前清除系统的哪些分区,–all 表示清除所有分区zerombr # 使用 clearpart –all 时,需要加上这个选项,否则安装过程会被暂停,需要手动选择part # 分区设定part swap –size=2048 # 对 swap 进行分区的示例part /boot –fstype ext4 –size=100000 # 对 /boot 进行分区的示例part pv.<id> –size=… # 创建一个 PVvolgroup vgname pvname # 创建 VGlogval /home –fstype ext4 –name=home –vgname=vgname –size=1024 # 创建一个逻辑卷的示例%include # 可以将其他文件的内容包含进 kickstart 文件中来,包含的文件必须是安装系统过程中能够访问的

软件包选择段

离开睁眼闭眼看见的城市,逃离身边的纷纷扰扰,

Linux 基础教程:Linux Kickstart 自动安装

相关文章:

你感兴趣的文章:

标签云: