




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CentOS LInux启动关闭和服务管理CentOS启动顺序:1.当我们按下电源按钮,把电源投入到机器中后,首先被启动执行的就是这个BIOS(BasicInput/Output System)程序。BIOS的功能是.并且访问硬盘先头512Bit的MBR(Master Boot Record)。2.经BOIS的控制,将MBR中的Boot Record调入内存中。这里就要说说Linux的Boot程序了,Linux的Boot程序有GRUB和LILO,而CentOS默认的Boot程序是。3.通过Boot程序,访问硬盘中的Linux内核程序。4.将内核程序调入内存中。5.内核程序调用完成后,通过内核访问硬盘中将要用到的其他文件。内核第一个执行的文件是/sbin/init,而这个文件的设置和定义文件是/etc/inittab这个文件,也就是说/sbin/init按照/etc/inittab的定义来执行下一步的启动,那我们就要看看/etc/inittab文件是怎么回事儿了。rootlinux # cat -n /etc/inittab 1 # 2 # inittab This file describes how the INIT process should set up 3 # the system in a certain run-level. 4 # 5 # Author: Miquel van Smoorenburg, 6 # Modified for RHS Linux by Marc Ewing and Donnie Barnes 7 # 8 9 # Default runlevel. The runlevels used by RHS are:10 # 0 - halt (Do NOT set initdefault to this)11 # 1 - Single user mode12 # 2 - Multiuser, without NFS (The same as 3, if you do not have networking)13 # 3 - Full multiuser mode14 # 4 - unused15 # 5 - X1116 # 6 - reboot (Do NOT set initdefault to this)17 #18 id:3:initdefault: 默认的启动模式1920 # System initialization.21 si:sysinit:/etc/rc.d/rc.sysinit boot时的处理2223 l0:0:wait:/etc/rc.d/rc 0 23-29行,各启动模式的处理,分别启动/etc/rc.d/rcX.d脚本24 l1:1:wait:/etc/rc.d/rc 125 l2:2:wait:/etc/rc.d/rc 226 l3:3:wait:/etc/rc.d/rc 327 l4:4:wait:/etc/rc.d/rc 428 l5:5:wait:/etc/rc.d/rc 529 l6:6:wait:/etc/rc.d/rc 63031 # Trap CTRL-ALT-DELETE32 ca:ctrlaltdel:/sbin/shutdown -t3 -r now Ctrl+Alt+Del被激活时的处理3334 # When our UPS tells us power has failed, assume we have a few minutes35 # of power left. Schedule a shutdown for 2 minutes from now.36 # This does, of course, assume you have powerd installed and your37 # UPS connected and working correctly.38 pf:powerfail:/sbin/shutdown -f -h +2 Power Failure; System Shutting Down 电源off时的处理3940 # If power was restored before the shutdown kicked in, cancel it.41 pr:12345:powerokwait:/sbin/shutdown -c Power Restored; Shutdown Cancelled 电源on时的处理424344 # Run gettys in standard runlevels 45-50行是6个虚拟终端45 1:2345:respawn:/sbin/mingetty tty146 2:2345:respawn:/sbin/mingetty tty247 3:2345:respawn:/sbin/mingetty tty348 4:2345:respawn:/sbin/mingetty tty449 5:2345:respawn:/sbin/mingetty tty550 6:2345:respawn:/sbin/mingetty tty65152 # Run xdm in runlevel 553 x:5:respawn:/etc/X11/prefdm -nodaemon 启动模式5的时候,启动/etc/X11窗口系统rootlinux #在以上的这个文件中,#开头的文件是注释文件,可以忽略不看,但是能够很好的帮我们了解文件。这个文件中的定义形势如下:通过下表的说明去看这个文件,就清晰明了的多了!: id 不重复的任意数字 runlevel 06的启动级别(模式) action initdefault 定义默认时的启东级别(模式) sysinit 引导(boot)中执行 wait 引导中执行一次,直到init进程为止 respawn 进程停止的情况下,再启动 powerfall 当接收到电源异常信号时,执行 ctrlaltdel 当接收到Ctrl+Alt+Del指令时,执行 process定义被执行的命令通过上面的说明,我想你应该可以明白/etc/inittab中的定义是怎么一回事儿了。下面我们重点看18,21,26行(其他的自己研究)。通过上表我们可以知道: 18行的定义是默认的启动级别是“3“文本模式。 21行的定义是启动的过程中执行/etc/rc.d/rc.sysinit文件(启动级别是空,也就是说无论什么级别都执行这个文件),这个文件很长有差不多1000行的内容,主要功能是启动网络,读取文件系统,使swap有效化和调入模块等动作。 26行的定义和上面的18行的定义是对应的,也就是说18行定义的启动级别是X,那么就执行文件23到29行定义中的X。 这里18行定义的是启动级别3,就执行26行中启动级别3的定义,执行/etc/rc.d/rc脚本文件(控制文件),并将18行定义的启动级别以参数的形势交给/etc/rc.d/rc文件进行处理。这里我们看到“l3:3:wait:/etc/rc.d/rc 3”是把启动级别3交给文件rc处理,那我们有必要看看rc文件都定义了什么。/etc/rc.d/rc文件内容如下:rootlinux # cat -n /etc/rc.d/rc 1 #! /bin/bash 2 # 3 # rc This file is responsible for starting/stopping 4 # services when the runlevel changes. 5 # 6 # Original Author: 7 # Miquel van Smoorenburg, 8 # 910 # check a file to be a correct runlevel script11 check_runlevel ()12 13 # Check if the file exists at all.14 -x $1 | return 11516 # Reject backup files and files generated by rpm.17 case $1 in18 *.rpmsave|*.rpmorig|*.rpmnew|*|*.orig)19 return 120 ;21 esac22 return 023 2425 # Now find out what the current and what the previous runlevel are.26 argv1=$127 set /sbin/runlevel28 runlevel=$229 previous=$130 export runlevel previous3132 . /etc/init.d/functions3334 # See if we want to be in user confirmation mode35 if $previous = N ; then36 if -f /var/run/confirm ; then37 echo $Entering interactive startup38 else39 echo $Entering non-interactive startup40 fi41 fi4243 # Get first argument. Set new runlevel to this argument.44 -n $argv1 & runlevel=$argv14546 # Is there an rc directory for this new runlevel?47 -d /etc/rc$runlevel.d | exit 04849 # First, run the KILL scripts.50 for i in /etc/rc$runlevel.d/K* ; do51 check_runlevel $i | continue5253 # Check if the subsystem is already up.54 subsys=$i#/etc/rc$runlevel.d/K?55 -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init 56 | continue5758 # Bring the subsystem down.59 if egrep -q (killproc |action ) $i ; then60 $i stop61 else62 action $Stopping $subsys: $i stop63 fi64 done6566 # Now run the START scripts.67 for i in /etc/rc$runlevel.d/S* ; do68 check_runlevel $i | continue6970 # Check if the subsystem is already up.71 subsys=$i#/etc/rc$runlevel.d/S?72 -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init 73 & continue74 75 # If were in confirmation mode, get user confirmation76 if -f /var/run/confirm ; then77 confirm $subsys78 test $? = 1 & continue79 fi8081 update_boot_stage $subsys82 # Bring the subsystem up.83 if $subsys = halt -o $subsys = reboot ; then84 export LC_ALL=C85 exec $i start86 fi87 if egrep -q (daemon |action |success |failure ) $i 2/dev/null 88 | $subsys = single -o $subsys = local ; then89 $i start90 else91 action $Starting $subsys: $i start92 fi93 done94 rm -f /var/run/confirm95 if -x /usr/bin/rhgb-client & /usr/bin/rhgb-client -ping ; then96 /usr/bin/rhgb-client -quit97 firootlinux #在这个文件中我们看看如下的几行: 50行以K开头的脚本文件 60行执行stop 67行以S开头的脚本文件 91行执行start在这个文件中,每个程序块的部分都有注释(#开头的行),如果有兴趣的话可以自行研究一下。似乎不是那么太难,就是checkdo,确认后执行,判断后执行的样子。rc.d目录下面的文件:rootlinux # ls -l /etc/rc.d总用量 112drwxr-xr-x 2 root root 4096 12月 28 12:45 init.d-rwxr-xr-x 1 root root 2352 2004-03-17 rcdrwxr-xr-x 2 root root 4096 12月 28 12:45 rc0.ddrwxr-xr-x 2 root root 4096 12月 28 12:45 rc1.ddrwxr-xr-x 2 root root 4096 12月 28 12:45 rc2.ddrwxr-xr-x 2 root root 4096 12月 28 12:45 rc3.ddrwxr-xr-x 2 root root 4096 12月 28 12:45 rc4.ddrwxr-xr-x 2 root root 4096 12月 28 12:45 rc5.ddrwxr-xr-x 2 root root 4096 12月 28 12:45 rc6.d-rwxr-xr-x 1 root root 220 2003-06-24 rc.local-rwxr-xr-x 1 root root 27584 8月 13 17:10 rc.sysinitrootlinux #我们看到了,在这个目录下面,有刚才提到的rc文件,还有另外的一些文件,我们来简单说明一下。1. init.d 这个不是文件,是一个目录,这个目录下面存放着各各服务的控制脚本,这下面的文件和你安装了些什么软件包有关系。如果你有兴趣你可以察看他们的脚本文件,接下来的说明中我们还会说到他,因为/etc/rc.d/rcX.d下的文件和这个init.d下面的文件是通过软连接相连的。2. rc 这个文件我们上面提到过,跳过了。3. rc.loca 这个文件也许会用到,如果你安装了一些软件或服务,并非系统标准的服务,比如手动的安装了Httpd,这样你用chkconfig命令是无法操作httpd的,开启服务器的时候也并不默认的启动这个httpd服务,这个时候你就可以将启动命令写到这个文件中,让开机启动服务完毕之后,最后启动这个httpd服务,注意是最后。这里说的httpd只是一个例子,将来也许会有很多的自己安装的服务会用到这个文件,知道一下,要用到的时候自然就明白。当然还有另外一种方法,就是自己写一个启动脚本文件,让系统开机时读取脚本文件来对httpd进行启动操作4. rc.sysini 我们上面提到过这个文件,这个文件是在boot的时候就被执行的脚本,它的任务是初始化系统的网络,设定hostname,欢迎信息表示,时钟设置,挂载文件系统等。有兴趣可以读它的脚本文件。5. rcX.d 这个rcX.d里面的X代表了06的数字(6种启动模式)。我们看到了它们都是目录,下面放着的都是我们上面说的/etc/rc.d/init.d下面文件的link。这里我们已rc3.d为例子,简单说明一下。 在察看这个文件的时候注意2点:#第一:ls -l 察看它们的详细信息,看看他们的link指向#第二:ls -l 察看它们的文件名的头字母,形式应该是这样的S或K 的形势。S代表启动,K代表停止。 不要迷糊,/etc/rc.d/rc就定义了这个文件名称头文字的“S”和“K”。也就是开机的时候,已S开头的脚本文件别执行,这个服务就被开机运行;那么已K开头的文件不被执行,这个文件所控制的服务也不被执行,这个文件控制的服务也不被开机运行。 这样看来,我们在给服务器左右化的时候,就可以直接的将相应的启动模式(rc0.drc6.d)下的相应服务控制脚本的文件名改掉(S改成K,K改成S),就能够简单的优化开机时系统将运行哪儿些个服务。 如果通过命令来控制的话,那命令是chkconfig命令.编辑中. 如果你察看过rc0.drc6.d的目录下的文件名称,你会发现,他们以S开都得文件名数量是不同的。/etc/rc.d/rc3.d下都有什么(一部分而已,你可以在自己的系统下面察看全部)rootlinux # ls -l /etc/rc.d/rc3.d合計 224lrwxrwxrwx 1 root root 21 1月 5 05:24 K01tog-pegasus - ./init.d/tog-pegasuslrwxrwxrwx 1 root root 13 1月 5 05:12 K01yum - ./init.d/yumlrwxrwxrwx 1 root root 24 1月 5 05:12 K02NetworkManager - ./init.d/NetworkManagerlrwxrwxrwx 1 root root 15 1月 5 05:12 K03rhnsd - ./init.d/rhnsdlrwxrwxrwx 1 root root 19 1月 5 05:08 K05saslauthd - ./init.d/saslauthdlrwxrwxrwx 1 root root 16 1月 5 05:11 K10psacct - ./init.d/psacctlrwxrwxrwx 1 root root 17 1月 5 05:25 K12FreeWnn - ./init.d/FreeWnnlrwxrwxrwx 1 root root 13 1月 5 05:12 K20nfs - ./init.d/nfslrwxrwxrwx 1 root root 14 1月 5 05:11 K24irda - ./init.d/irdalr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年度粮油食品检验人员复习提分资料附参考答案详解(达标题)
- 康复医学治疗技术副高级职称模拟试题含完整答案详解(典优)
- 2024河南省沁阳市中考物理题库试题及参考答案详解【培优A卷】
- 智慧环境下机械加工教学模式的创新探索
- 2024助听器验配师试卷及答案详解(历年真题)
- 2025年反射疗法师3级常考点试卷有答案详解
- 2024-2025学年度收银审核员过关检测试卷附完整答案详解(易错题)
- 2024年自考专业(计算机网络)自我提分评估附参考答案详解【培优】
- 2024安全员考试常考点试卷附参考答案详解(夺分金卷)
- 2025石油石化职业技能鉴定考试题库检测试题打印【易错题】附答案详解
- 瑞幸咖啡开店合同协议
- 中国布艺文化课件
- 帮人贷款协议书范本
- 果农电商合同协议
- 婚礼跟妆合同协议
- 高磷血症健康教育
- 武汉网约车从业资格证考试题库及答案
- 白姓的历史起源
- DB1411T 65-2024 旱垣地高粱田间测产操作规程
- 科技引领的现代保安服务企业转型升级
- GB/T 44808.2-2024人类工效学无障碍设计第2部分:考虑颜色视觉随年龄变化的颜色组合方法
评论
0/150
提交评论