快捷搜索:   nginx

Linux 系统管理 完全手册读书笔记

理解Linux初始化过程
(一)关于系统引导
MBR:第一个磁盘的第一个扇区,这个位置称为MBR。
传统的方式中,MBR包含一个非常小的程序,它可以检查分区表以决定哪个
分区是活跃分区,然后将该分区第一个扇区里的程序载入内存,并将控制权
转交给该程序。现在,这个过程已经变得更为复杂,不过基本过程还是准确的。
(二)内核初始化过程的输出查看:
dmesg命令 或 /var/log/dmesg 文件 或 /var/log/boot.log文件
(三)Init程序及其脚本
Init程序由配置文件/etc/inittab控制,/etc/inittab文件中所引用的文件
大多数存放在/etc/rc.d目录中。
/etc/inittab文件中id:行定义了init默认使用的run level;最后一行以x:开头
定义了由init启动的提供图形登录界面的程序。
更改run level
#telinit 6 (重启)   (Not tried yet)
注意inittab中此类行:
1:2345:respawn:/sbin/mingetty tty1
注意:当inittab做了更改是,执行telinit q命令来通知init重启读取配置
文件信息,从而是改动生效。记得改前作备份。
/etc/rc.d中三个主要的配置文件:
1, rc.sysinit   一定的初始化功能;
2,rc 启动系统服务
3,rc.local   在其它初始化脚本执行之后执行的脚本,初始为空。
过程分析:
在rc.sysinit脚本运行结束后,init程序会启动位于/etc/rc.d目录中的
rc脚本并传递run level 相关的参数,然后rc脚本会根据选中 的run level
启动合适的系统服务。每个run level都和一个子目录相关联,这些子目录位于
/etc/rc.d目录中。例如,目录/etc/rc.d/rc5.d和目录/etc/rc.d/rc6.d包含
了一些控制系统服务的文件,而这些系统服务分别是运行在run level5和run level 6
上的。当操作系统运行在某一级别上时,和该级别相对应的目录(run level 目录)
中会包含一些文件来指示需要启动或停止的服务。
在run level 目录中的每个文件都已K或S开头,后跟一个二位数。数字表明了服务
启动或者停止的顺序。以K开头的是要停止(或是已安装,但是目前未启动,不需要
启动或者根本没有进行配置)的服务,以S开头的是要启动的服务。
run level目录中的文件并不是普通的文件--它们是指向停止和启动这些服务
的脚本的符号链接。脚本都在 ../init.d/目录里。
注意:/etc/rc.d/init.d中的脚本作为软件包的一部分被安装。用户并不需要
去手动创建,当然也不能随意修改。有一种例外情况是,当用户使用的某一服务不是
通过完整的软件包所安装时,不能使用这样的结构控制服务,而是应该在 rc.local
脚本中添上相应的一项或者从命令行手动启动和停止服务。
(四)控制服务
run level目录中列出的许多服务都是和网络相关的,所有的linux网络服务(以及
其它服务)都可以通过如下形式配置后重新启动,而不需重启操作系统:
如 #/etc/rc.d/init.d/lpd restart
(五)服务
service命令可以让用户在不引用命令目录的情况下执行管理服务的任务。
如: #service lpd restart
还可用service命令查看某个服务的当前状态
如: #service lpd status
用chkconfig命令加上on 或 off 参数来更改run level目录下的文件从而使
系统每次启动是都启动或者停止(?)该服务。默认情况下,此命令会修改
run level为2、3、4、5的服务的相关设置。
例如,如果需要名为named 的DNS服务器随系统启动,可以使用如下命令:
#chkconfig named on
serviceconf命令可以启动图形界面方式管理服务(some distro)
(六)配置系统服务
安装Linux时,/etc/rc.d/init.d/中的初始化脚本也会随之安装。如果新
安装了一个Internet服务器、系统服务或者守护进程的软件包,那么就会在
相应的目录中产生一个脚本文件,这个脚本文件已经经过初步的配置,使得
该服务可以在系统启动是自动启动。
/etc/rc.d/init.d/中的初始化脚本通常会使用存放在/etc/sysconfig目录
及其子目录的配置信息。/etc/sysconfig中的文件是以服务来命名的,每个
文件包含了相应服务的配置选项。
用户可以直接编辑/etc/sysconfig中的文件,但是这些文件的内容并不直观,
所以如果可能,可以使用一些配置特定服务的工具来编辑这些文件。
尽管/etc/sysconfig中的文件可以配置/etc/rc.d/init.d/中相应的系统
服务脚本,但是对于服务本身常常也会在/etc/目录中保存其它一些配置文件。
比如称为 /etc/sysconfig/httpd的文件可以定义一些参数来启动使用
/etc/rc.d/init.d/httpd脚本的web服务器,但是这个web服务器本身
使用/etc/httpd/conf/httpconf来配置其它一些信息。

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论