Linux系统CentOS发行版的安装流程:

内核空间的引导启动过程: POST(加电自检) --> BootSequence(BIOS) 【MBR引导,顺序启动阶段BootSequence】--> BootLoader(GRUB(stage1--stage1_5--stage2))【顺序引导】 --> kernel [initramfs|initrd] (devtmpfs,dev,proc,sys)【内核引导,设备加载】 -- switched-root(ro) 【执行根切换,虚根切换为实根,将设备文件存储在ro中】--> /sbin/init (centos5中是SysV init,centos6中是 Upstart init,centos7中是 systemd)【开启用户空间的引导 】-->图形界面系统安装界面

CentOS系统中根文件系统中的一级子目录下可以分两类: 根文件系统的普通一级子目录: 绝对不能分区:bin, dev, lib, lib64, sbin, usr(这里是CentOS 7根文件系统示例) 其他文件系统的挂载点: 可以成为挂载点的目录:boot, media, mnt, proc, sys, tmp, home, var

在安装CentOS发行版Linux系统中自行设定目录中可以自行定义挂载点,可以自定义选择存储类型: /boot:基本磁盘分区; /:LVM或RAID swap:基本磁盘分区或大文件; /home:LVM或RAID /var:LVM或RAID /usr:LVM或RAID

在系统安装界面需要规划文件系统各种文件的存放路径: 所有的应用程序存放的路径; 所有应用程序所依赖的运行库文件存放的路径; 所有应用程序所使用的配置文件的存放路径; /sbin/init, /sbin/systemd

RHEL系或CentOS系操作系统的系统安装程序界面程序:anaconda

anaconda的工作方式: 1.交互式 TUI:基于curses的文本操作界面;(主机内存 < 512MB) GUI:图形用户界面;(主机内存 >= 512MB) 2.无人值守 借助于ks配置文件实现; ks全称为kickstart;

在安装操作系统的过程中,系统的启动流程: POST(加电自检) --> Bootloader(boot.cat--> isolinux.bin[isolinux.cfg])【引导加载硬盘的内核文件】 --> vmlinuz(initrd.img)【虚拟根】 --> rootfs 【根切换】--> anaconda

以光盘启动安装系统为例,CentOS系统的安装流程: 1.POST 2.读取光盘的MBR:isoliunux/boot.cat; isolinux/isolinux.bin,其配置文件为:isolinux/isolinux.cfg,其主要内容为: default vesamenu.c32 ---使用什么样的C程序构建菜单; menu title Welcome to CentOS 6.7!------设置启动菜单中的标题的名称; label linux--------标签名称,此名称可以用来引用其下所有命令; menu label ^Install or upgrade an existing system-----启动菜单中被显示的内容,以及对应的热键; menu default----------将此标签作为菜单中的默认选中项目;在整个文件中,此行必须唯一; kernel vmlinuz-------------为本次引导指定内核文件名称; append initrd=initrd.img------------向kernel命令传递的附加参数;常用的参数有: initrd=initrd.img text:从文本界面启动安装程序; askmethod:手动选择安装程序包和程序包组的方法: 本地光盘、本地硬盘 网络服务器:FTP,HTTP,NFS,CIFS... ip=IP_ADDRESS netmask=NETMASK gateway=GATEWAY dns=DNS_SRV_IP_ADDRESS rescue:启用紧急救援模式; dd:device drivers,装载额外的指定设备的驱动程序; ks:使用kickstart启动无人值守安装,通过ks参数指定ks配置文件的所在位置: 本地光盘:ks=cdrom:/PATH/TO/KICKSTART_FILE 本地硬盘:ks=hd:/DEVICE_NAME/PATH/TO/KICKSTART_FILE 远程的某个web站点:ks=http://{HOST|IP}[:PORT]/PATH/TO/KICKSTART_FILE 远程的某个FTP站点:ks=ftp://[username@]{HOSR|IP}[:PORT]/PATH/TO/KICKSTART_FILE 远程的某个安全web站点:ks=https://{HOST|IP}[:PORT]/PATH/TO/KICKSTART_FILE 3.装载rootfs,并且启动anaconda;

anaconda也提供了一个命令行接口,其模式标识符: boot: linux text ip=1.1.1.1 netmas=255.255.255.0 gateway=1.1.1.127 在anaconda提供的菜单界面下,按"ESC"键,即可进入命令行接口;

注意:在上述的所有过程中,都是在引导设备上完成的操作;而后续的anaconda及其他需要安装的程序包和程序包组都是通过yum插件完成安装的,因此需要有一个可以被正常访问的yum仓库,yum仓库的位置可以在:本地光盘、本地硬盘、FTP服务器、HTTP服务器、NFS服务器、CIFS服务器

			在anaconda界面按"ESC"键以进行手动选择安装方式:
			boot: linux askmethod

anaconda的工作过程: 安装前的准备阶段:安装环境和计划的配置 1.安装过程中使用的语言类型; 2.键盘布局类型; 3.系统安装的目标存储设备: Basic Storage:本地磁盘 Special Storage:网络存储,iSCSI,NAS,... 4.设置主机名:localhost.localdomain 5.配置网络接口; 6.选择时区;Asia/Shanghai 7.超级用户密码; 8.设定磁盘的使用方式及MBR的安装位置; 9.选择要安装的程序包和程序包组;

	安装阶段:
			1.有可能运行一些安装前脚本,以完成初始化工作;
			2.根据准备阶段规划的磁盘使用格式,进行分区或其他磁盘管理类的操作,而后执行格式化并安装指定的文件系统,然后再挂载所有的文件系统到指定的挂载点;
			3.将选定的程序包或程序包组安装至指定的目录中;
			4.安装bootloader(GRUB)至启动分区;
			5.安装内核及initramfs;
			6.有必要的话,可能会执行安装后脚本;

	首次启动:
			1.选择许可证信息;
			2.创建普通用户账户;
			3.配置内核的核心转储(Kdump, Kernel-Core dump),如果内存小于2GB,Kdump不开启;
			Kdump的作用:
			如果某一时刻,内核核心崩溃,Kdump会将内核崩溃那一时刻内存中所有数据创建为一个映像文件并保存到磁盘上;事后通过分析此映像文件查找出内核崩溃的原因;
			4.是否配置iptables防火墙和Selinux安全机制;建议初学者将此功能关闭;

此上为大致的CentOS系列系统的安装步骤。