一、CentOS系统安装
1、安装程序:anaconda
2、此处我们是基于光盘来说操作系统安装
bootloader --> 光盘上某个路径下的kernel(他其实就是一个vmlinuz)(借助于initrd[他里面有rootfs]) --> 然后启动anaconda程序,他把此程序当做了/sbin/init了
3、anaconda有两个界面
a、tul:基于cureses的文本配置窗口
b、gui:图形界面
二、CentOS的安装过程启动流程
1、第一阶段:读取MBR,光盘中的MBR中有一个boot.cat文件是光盘上的引导加载器。可以把它理解为光盘的bootloader我们可以挂在光盘后查看。
[root@www ~]# ls /mnt/isolinux/ boot.cat boot.msg grub.conf initrd.img isolinux.bin isolinux.cfg memtest splash.png TRANS.TBL vesamenu.c32 vmlinuz
2、第二阶段(stage2):isolinux/isolinux.bin,可以把这一部分理解为我们光盘改造的grub2,这个阶段相当于提供对应的安装界面。而这个文件他也有自己的配置文件,这个配置文件是isolinux/isolinux.cfg。这个cfg其实是一个文本文件,如果你能编辑光盘上的文件的话你可以编辑他然后你就会发现安装的菜单界面就不一样了。
a、isolinux.cfg配置文件中每个对应的菜单选项如下
(1)、所以我们可以看到如果我们选择了安装linux,其首先会加载内核,然后会加载initrd.img文件,然后才会加载真正的anaconda。我们也可以简单的理解为我们的initrd中自带的有anaconda即可。
(2)、所以我们可以总结如下
加载内核:isolinux/vmlinuz
向内核传递参数:append initrd=initrd.img,这个文件其实也是在isolinux目录下
[root@www isolinux]# ls boot.cat boot.msg grub.conf initrd.img isolinux.bin isolinux.cfg memtest splash.png TRANS.TBL vesamenu.c32 vmlinuz
我们可以看到我们目录中有一个splash.png,这是我们的背景图,你也可以把它换掉,换成自己的照片也可以。
b、装载根文件系统,并启动anaconda应用程序。anaconda会启动一个默认GUI界面,但前提是内存要足够大,对CentOS7来说是需要512MB+内存空间。若需要显示指定启动TUI接口,向启动内核传递一个参数"text"即可。
(1)、那么我们如何向内核传递参数呢?我们先来看isolinux.cfg这个配置文件中的菜单
我们可以看到每一个菜单下面都有一个label,他是靠label来定义,什么是label呢?label即是标签,我们可以使用这一个字符串调用这整个完整的内容,比如第一个label中,我们可以通过linux这个字符串调用后面的整个内容。那怎么调用呢?方法很简单,我们在安装界面启动起来以后会给我们显示一个菜单,我们只需要此时点ESC键,或者是敲e键进行编辑即可。敲完ESC后他会给我们显示一个提示符,在这个输入linux就表示调用linux这个label,输入vesa就表示调用vesa这个label,然后我们在敲完linux后再补充一个text就表示把我们的text补到append 最后了,相当于给内核传递一个参数text,比如此时我们linux label后面就变成了 append initrd=initrd.img text这样。相当于他就启动文本安装界面了。
ESC
boot: linux text
我们还可以加上相应的kickstart的配置文件路径参数,后面会说到
3、注意:上述内容一般位于引导设备,例如可通过光盘,U盘,网络等。再往后的anacona及其安装用的程序包等可以来自于程序包仓库,此仓库位置可以为:
a、本地光盘
b、本地硬盘
c、ftp server
d、http server
e、nfs server
f、如果我们想手动指定安装仓库,如上面所述,我们可以敲ESC键,然后输入method,即提醒我选择指定什么方式来安装
boot:linux method
三、anaconda的工作过程
1、安装前配置阶段,即键盘,时区,磁盘分区选择,用户名密码设置等。
a、安装过程中使用的语言
b、键盘类型
c、安装目标存储设备
Basic Storage:本地磁盘
Special Storage:ISCSI 或 FCSAN(无盘安装)
d、设定主机名
e、配置网络接口
f、时区
g、管理员密码
h、设定分区方式及MBR的安装位置
i、创建一个普通用户
j、选定要安装的程序包
2、安装阶段,安装相应的程序包
a、在目标磁盘创建分区并执行格式化
b、将选定的程序包安装至目标位置,安装前我们可以运行脚本
c、安装bootloader,安装后也可以运行脚本
3、首次启动(此阶段其实和anaconda已经没有关系了)
iptables防火墙是否启动,建议关掉
selinux是否启动,建议关掉
core dump:核心转储,即保证当某一时刻内核崩溃时,他会在内核崩溃时那一刻内存中的所有数据创建成一个印象文件保存在磁盘上,回头我可以把这个磁盘上的文件拿出来在其它系统上打开来分析内核为何会崩溃。不过核心转储功能对内存大小有要求,好像如果小于2G是做不了的。
四、anaconda的配置方式
1、交互式配置方式
2、支持通过读取配置文件中事先定义好的配置项自动完成配置,遵循特定的语法格式,此文件即为kickstart文件,即将来我们可以定义好我们的kickstart配置文件让我们在启动时读取这个配置文件即可。但是我们如果启动设备为光盘,我们光盘上的文件是不能编辑的。因此如果我们要启动一个anaconda应用程序并让其读到kickstart配置文件,此时我们的配置文件应该放在光盘之外的地方。
3、安装引导选项
a、text:文本安装方式
b、method:手动指定使用的安装方法
c、与网络相关的引导选项
(1)、ip=IPADDR
(2)、netmask=MASK
(3)、gateway=GW
(4)、dns=DNS_SERVER_IP
d、与远程访问功能相关的引导选项
(1)、vnc
(2)、vncpassword='PASSWORD'
e、启动紧急救援模式
rescue:逃逸模式
f、装载额外驱动
dd:drive disk
红帽官方文档:
www.redhat.com/docs
<<installation guide>>
五、系统安装
1、我们在安装界面敲ESC就可以进入选择label界面
2、系统安装时交换分区(swap)一般是内存大小的两倍