系统初始化
命令补充 uname (/etc/redhat-release)
-r --kernel-realease -v --kernel-version
-a --all -s --kernel-name -m --machine
引导顺序概述
BIOS初始化
引导装载程序
内核初始化
执行以下操作,启动init,并进入预期的运行级别
/etc/rc.d/rc.sysinit
/etc/rc.d/rc和/etc/rc/d/rc?.d
/etc/rc.d/rc.local
在适当的情况下使用X显示管理器
引导装载程序组件
引导装载程序
1 容量小,位于MBR或引导部分(MBR 512字节 0扇区0磁道 IPl不大于446字节,
64 磁盘分区信息,2 magiccode)
2 从引导分区装载
GRUB和grub.conf
GRUB "The GRand Unified Bootloader"
引导提示时可以使用命令行界面
可从/ext2/ext3 ResierFS、JFS、FAT、minix、FFX文件系统引导
支持MD5密码保护
/boot/grub/grub.conf
default=0 //默认从下面系统列表的第一个启动
timeout=5 //默认启动等待时间是5秒钟
splashimage=(hd0,0)/grub/splash.xpm.gz //系统选择菜单背景所在的位置
hiddenmenu //隐藏菜单
password --md5
title Red Hat Enterprise linux AS (2.6.9-648_EL) //在grub界面所显示的系统名
称 (可以任意该动)
root (hd0,0) //启动时从IDE接口的第一块硬盘第一个分区启动
kernel /vmlinuz-2.6.9-648.EL ro root=/dev/VolGroup00/LogVo100 rhgb quiet //
启动的内核版本,可以在后面添加内核参数
initrd /initrd-2.6.9-648.EL.img
可用 grub-md5-crypt 建立MD5密码
如果某些原因MBR损坏,重装MBR时,可以使用命令
1 grub-install boot-device
2 手工设置
grub >
grub > root(hd0,0)
grub > setup(hd0,0)
grub > quit
3 grub >
grub > root(hd0,0)
grub > find /<TAB>
grub > kernel
grub > initrd
grub > boot
开始引导过程:GRUB
映像选择
使用空格键选择,然后使用上下键在引导闪屏移动
传递参数
在菜单编辑模式修改现有段落
使用GRUB命令行交互发布命令
内核初始化 (查看日志/var/log/dmesg 命令dmesg直接查看)
设备自检
设备驱动程序初始化
以只读方式挂载根文件系统
载入初始化进程(init)
init初始化 /etc/inittab
初始化运行级别
系统初始化脚本
对应运行级别的脚本目录
设定ctrl+alt+del组合键
定义UPS电源中断/恢复脚本
在虚拟控制台生成getty
在运行级别5初始化X
12 : 2 : wait : / etc / init.d / rc 2
第一个字段是一个任意指定的标签;
第二个字段表示这一行适用于运行那个级别(这里是2);
第三个字 段表示进入运行级别时,init应该运行第四个字段内的命令一次,而且init应
该等待该命令结束。/etc/init.d/rc命令运行启动和终止输入以便进入运行级别2时所需的任
何命令。
第四个字段中的命令执行设置运行级别时的一切“杂活”。它启动已经没有运行的服务
,终止不应该再在新运行级别内运行的服务。根据Linux版本的不同,采用的具体命令也不同
,而且运行级别的配置也是有差别的。
init启动时,它会在/etc/inittab内查找一个代码行,这一行指定了默认的运行级别:
id : 2 : initdefault :
你可以要求init在启动时,进入非默认运行级别,这是通过为内核指定一个“single”
或“emergency” 命令行参数来实现的。比如说,内核命令行参数的指定可通过LILO来执行
。这样一来,你就可以选择单用户模式了(即运行级别1)。
系统正在运行时,telinit命令可更改运行级别。运行级别发生变化时, init 就会
从/etc/inittab运行相应的命令。
/etc/inittab中,有几个特殊的特性,允许init重新激活特殊事件。这些特殊特性都是
用第三个字段中的特殊关键字标记出来的。比如:
1. powerwait
允许init在电源被切断时,关闭系统。其前提是具有U P S和监视U P S并通知init电源
已被切断的软件。
2. ctrlaltdel
允许init在用户于控制台键盘上按下C t r l + A l t + D e l组合键时,重新启动系统
。注意,如果该系统放在一个公共场所,系统管理员可将C t r l + A l t + D e l组合键配
置为别的行为,比如忽略等。
运行级别
init定义运行级别 0-6 单人模式 紧急模式
显示当前和上个运行级别
/sbin/runlevel
调整运行级别 init new_runlevel
0 停止 ;1 单用户模式;2 不带NFS的多用户模式;3 完全多用户模式,用于服务器
4 无官方定义 ;5 图形登录;6 重启
s /S /single 备用单用户模式
emergency 绕过rc.sysinit sulogin
/etc/rc.d/rc.sysinit
主要任务
激活udev和selinux
在/etc/sysctl.conf中设定内核参数
设定系统时钟
装载按键设置
启用交换分区
设置主机名
检查并重新挂载根文件系统
激活RAID和LVM设备
启用磁盘配额
检查并挂载其他文件系统
清理过时的锁和PID文件
系统V运行级别
每个运行级别都有对应的目录
/etc/rc.d/rcX.d
系统V init脚本位于
/etc/rc.d/init.d
/etc/rc.d/rc/local 系统V初始化的最后阶段 ,用户可以自定义的脚本
控制服务
工具 system-config-services
ntsysv
chkconfig ——list | --level on | off
service named start|stop|status|restart