1、描述centos6系统开机启动流程;
1.1加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备;
1.2读取并执行第一个启动设备内MBR的boot Loader(即是grub,spfdisk等程序);
1.3依据bootloader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序;
1.4在硬件驱动成功后,Kernel会主动调用init进程,而init会取得run-level信息;
1.5init执行/etc/rc.d/rc.sysinit文件来准备软件执行的操作环境(如网络,时区等);
1.6init执行run-level的各个服务的启动(script方式);
1.7init执行/etc/rc.d/rc.local文件;
1.8init执行终端机模拟程序mingetty来启动login进程,最后就等待用户登录。
2、描述/etc/rc.d/sysinit脚本功能;
2.1 取得网络环境与主机类型:
读取网络配置文件/etc/sysconfig/network ,取得主机名与默认网关(gateway) 等网络环境。
2.2测试与挂载内存装置 /proc 及 USB 装置 /sys:
除挂载内存装置 /proc之外,还会主动侦测系统上是否具有 usb 的装置, 若有则会主动加载 usb 的驱劢程序,并且尝试挂载 usb 的文件系统。
2.3决定是否启动SELinux :
并且检测是否需要帮所有的档案重新编写标准的 SELinux 类型 (auto relabel)。
2.4启动系统的随机数生成器
随机数生成器可以帮劣系统�行一些密码加密演算的功能,在此需要启动两次随机数生成器。
2.5设定终端机 (console) 字形:
2.6设定显示于开机过程中的欢迎画面 (textbanner);
2.7.设定系统时间(clock) 与时区设定:需读入 /etc/sysconfig/clock 设定值
2.8.接口设备的侦测Plug and Play (PnP) 参数的测试:
根据核心在开机时侦测的结果 (/proc/sys/kernel/modprobe ) 开始进行 ide /scsi / 网络 / 音效 等接口设备的侦测,以及利用以加载的核心模块进行 PnP 装置的参数测试。
2.9.用户自定义模块的加载
使用者可以在 /etc/sysconfig/modules/*.modules 加入自定义的模块,则此时会被加载到系统当中
2.10.加载核心的相关设定:
系统会主动去读取 /etc/sysctl.conf 这个档案的设定值,使核心功能成为我们想要的样子。
2.11.设定主机名与初始化电源管理模块 (ACPI)
2.12.初始化软件磁盘阵列:
主要是透过 /etc/mdadm.conf 来设定好的。
2.13.初始化 LVM 的文件系统功能
2.14.以 fsck 检验磁盘文件系统:会�行 filesystem check
2.15.进行磁盘配额 quota 的转换 (非必要):
2.16.重新以可擦写模式挂载系统磁盘:
2.17.启动 quota 功能:所以我们不需要自定义 quotaon 的动作
2.18.启动系统虚拟随机数生成器(pseudo-random):
2.19.清除开机过程当中的临时文件:
2.20.将开机相关信息加载/var/log/dmesg 档案中。
3、总结文本处理工具sed及awk的用法;(必须附带示例)
3.1 sed是一个以行为单位的文本处理工具,sed可做的编辑动作包括删除,查找替换,字符转换,插入,从其他文件中读入数据。
3.1.1 删除
使用d命令可删除指定的行,示例如下:
#将file的第一行删除后输出到屏幕
#由于sed默认不个改原文件,如果希望保存修改后的文件则需要用重定向