#;版权宣告:;1999;Copyright;OLS3;All;rights;reserved. #;作者:;OLS3;(卧龙小三) #;本讲义仅供台南县;87;学年度网路管理进阶研习班上课之用. #;学员可保存一份自用,;供日後网管时参考备查. #;作者保有一切形式的着作权. #;欲作其它用途者,;需经作者授权同意. #;未经作者授权同意之前,;请勿转载刊登. RedHat;开机起动流程;: 1.;LILO;取得控制权. PC;起动时,;会读取开机磁碟第一条;cylinder;的第一个;sector(此即;MBR),;然後它会试着将读取到的程式码载入记忆体中并且予以执行.;这些程式码,;就是;LILO.;记不记得,;当初我们安装时,;曾选择将;LILO;放入MBR;呢?! 2.;载入;kernel Red;Hat;的;kernel;放在;/boot;中,;通常档名类似;vmlinuz-2.0.34-0.6,;vmlinuz-2.2.5-15 3.;kernel;执行第一支程式;/sbin/init init;会根据;/etc/inittab;这个;initialization;table;来决定不同的;run-level;应该如何设定系统. Red;Hat;的;run-level;有以下;7;层:;(定义在;/etc/inittab;中) 0;---;halt;:;关机;level; 1;---;Single;user;mode;:;单人模式,;如果你忘记;root;密码,;这是补救的方式之一.; 2;---;Multiuser,;without;NFS;:;多人使用模式,;但没有;NFS;功能,;如果安装时没有使用网路功能,;那麽;level;3;是一样的.; 3;---;Full;multiuser;mode;:;这是预定的;run-level; 4;---;unused;:;这个;run-level;目前尚未定义使用; 5;---;X11;:;X;Windows;使用的;level; 6;---;reboot;:;重新开机时使用的;level; Linux;系统开机时,;最重要的观念便是这个;run-level;,;run-level;可以说是;Linux;的系统状态(system;states;of;Linux),;根据不同的情况进入不同的系统状态,;以执行不同的初始化动作. 另外一点,;Linux;虽然融合了;System;V;及;BSD;的特色,;但在开机起动的部份,;比较接近;System;V;的作法,;并且这种方式几乎已成为;Linux;世界的一项标准.;因为它具有容易使用,;功能强大以及富有弹性的特色.; 其目录档案结构如下: /etc/rc.d;中包含: 目录;script;档案; /etc/rc.d/init.d; /etc/rc.d/rc0.d; /etc/rc.d/rc1.d; /etc/rc.d/rc2.d; /etc/rc.d/rc3.d; /etc/rc.d/rc4.d; /etc/rc.d/rc5.d; /etc/rc.d/rc6.d; rc; rc.local; rc.sysinit; rc0.d;便是;run-level;0;起动;script;存放的目录,;rc3.d;是;run-level;3,;其它依此类推 不过,;rc0.d;~;rc6.d;中的;script;并不是各自独立的,;其实它们都是;symbolic;file,;连结到;/etc/rc.d/init.d;中的;script. 比如;rc3.d;目录中的档案列表如下: total;0 lrwxrwxrwx;;1;root;;root;;20;May;23;15:56;K15postgresql;->;../init.d/postgresql lrwxrwxrwx;;1;root;;root;;17;May;23;15:56;K20rusersd;->;../init.d/rusersd lrwxrwxrwx;;1;root;;root;;15;May;23;15:56;K20rwhod;->;../init.d/rwhod lrwxrwxrwx;;1;root;;root;;16;May;23;15:56;K55routed;->;../init.d/routed lrwxrwxrwx;;1;root;;root;;17;May;23;15:56;S01kerneld;->;../init.d/kerneld lrwxrwxrwx;;1;root;;root;;17;May;23;15:56;S10network;->;../init.d/network lrwxrwxrwx;;1;root;;root;;15;May;23;15:56;S15nfsfs;->;../init.d/nfsfs lrwxrwxrwx;;1;root;;root;;16;May;23;15:56;S20random;->;../init.d/random lrwxrwxrwx;;1;root;;root;;16;May;23;15:56;S30syslog;->;../init.d/syslog lrwxrwxrwx;;1;root;;root;;13;May;23;15:56;S40atd;->;../init.d/atd lrwxrwxrwx;;1;root;;root;;15;May;23;15:56;S40crond;->;../init.d/crond lrwxrwxrwx;;1;root;;root;;17;May;23;15:56;S40portmap;->;../init.d/portmap lrwxrwxrwx;;1;root;;root;;15;May;23;15:56;S40snmpd;->;../init.d/snmpd lrwxrwxrwx;;1;root;;root;;16;May;23;15:56;S45pcmcia;->;../init.d/pcmcia lrwxrwxrwx;;1;root;;root;;14;May;23;15:56;S50inet;->;../init.d/inet lrwxrwxrwx;;1;root;;root;;15;May;23;15:56;S55named;->;../init.d/named lrwxrwxrwx;;1;root;;root;;13;May;23;15:56;S60lpd;->;../init.d/lpd lrwxrwxrwx;;1;root;;root;;18;May;23;15:56;S75keytable;->;../init.d/keytable lrwxrwxrwx;;1;root;;root;;18;May;23;15:56;S80sendmail;->;../init.d/sendmail lrwxrwxrwx;;1;root;;root;;13;May;23;15:56;S85gpm;->;../init.d/gpm lrwxrwxrwx;;1;root;;root;;15;May;23;15:56;S85httpd;->;../init.d/httpd lrwxrwxrwx;;1;root;;root;;15;May;23;15:56;S85sound;->;../init.d/sound lrwxrwxrwx;;1;root;;root;;13;May;23;15:56;S91smb;->;../init.d/smb lrwxrwxrwx;;1;root;;root;;11;May;23;15:48;S99local;->;../rc.local 各位可以发现:;这些;script;档不是以;S;开头,;就是以;K;开头,;其後再接上二位数字,;并且皆连结到;init.d;目录中的相关;scripts;档. 以;S;开头的,;表示;Start;起动之意,;而;K;开头的,;则是;Kill;杀除之意. 4.;init;执行第一支;script;:;/etc/rc.d/rc.sysinit rc.sysinit;会设定许多系统变数,;如: 设定;PATH; 设定网路:;读取;/etc/sysconfig/network,;以设定;NETWORKING,;FORWARD_IPV4,;HOSTNAME,;DOMAINNAME,;GATEWARY,;GATEWAYDEV(eth0); 设定;NIS;domain;name; 并且执行;run-level;启动之前所需的许多准备动作,;如: 起动;swapping; checking;root;filesystems;:;检查;root;档案系统; 检查系统参数;(/proc),;设定;PNP; 清除;/etc/mtab; mount;root;及;/proc;档案系统; 决定是否使用模组,;载入模组; 检查档案系统;(使用;fsck); 挂上其它档案系统; 设定;console;字型; 打开;quota; 清除不必要的档案,;如;lock,;pid; 设定;clock; serial;port;初始化; 将开机讯息经由;dmesg;放入;/var/log/dmesg;中; 5.;init;执行预设的;run-level;目录中所有的;scripts 正常情况下就是;rc3.d,;因为;/etc/inittab;中有一行设定是:;id:3:initdefault:;表示预设要执行的;run-level;是;level;3.;因此,;刚刚上面各位看到的;rc3.d;中的;Sxx;及;Kxx;都会被执行. 6.;最後;init;执行;/etc/rc.d/rc.local;这支;script. rc.local;会在各;run-level;的;script;执行完之後再执行.;您可以将自己想在开机时处理的动作加在这个;script;之中. 7.;init;执行完之後,;接着执行;/bin/login;程式 login;程式会提示使用者需输入帐号及密码,;接着编码并确认密码的正确性,;若二者相合,;则为使用者进行初始化环境,;并将控制权交给;shell. 8.;shell; 假设预设的;shell;是;bash,;则;bash;会先寻找;/etc/profile,;执行其中的指令,;然後搜寻使用者目录中,;是否有;.bash_profile,;.bash_login,;或;.profile,;执行其中一个,;接着命令提示符号;$;便出现在萤幕上,;等待您输入命令. 至此,;完成了整个开机的流程. |
标签: