Chinaunix首页 | 论坛 | 博客
  • 博客访问: 243107
  • 博文数量: 52
  • 博客积分: 285
  • 博客等级: 二等列兵
  • 技术积分: 585
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-25 23:38
文章分类

全部博文(52)

文章存档

2013年(43)

2012年(9)

我的朋友

分类: LINUX

2013-04-19 20:24:09

Linux 启动时需要哪些步骤呢?本文将详细描述不同的运行级在启动中的作用。
对于那些在DOS/Win9x/NT 平台下的高级用户而言,Linux
似乎是一个怪物。没有config.sys ,没有 autoexec.bat,具有个人特色的机器配置不知道从何开始。
需要说明的是,很多人认为Linux
是Unix 的一个克隆,但是,这种说法对于Linux 是不公平的。Linux 比Unix更加开放,功能更强大。我们应该称之为GNU/Linux 。


Linux 启动时,运行一个叫做init
的程序,然后由它来启动后面的任务,包括多用户环境,网络等。
那么,到底什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从1
到6 ,具有不同的功能。这些级别在/etc/inittab 文件里指定。这个文件是init 程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d
目录下的文件。
大多数的Linux 发行版本中,启动的是/etc/rc.d/init.d。这些脚本被ln 命令来连接到 /etc/rc.d/rcn.d
目录。(这里的n 就是运行级0-6)
例如/etc/rc.d/rc2.d 下面的S10network
就是连接到/etc/rc.d/init.d下的network 脚本的。
因此,我们可以知道,rc2.d 下面的文件就是和运行级2 有关的。

文件开头的S 代表start 就是启动服务的意思,后面的数字10 就是启动的顺序。例如,在同一个目录下,你还可以看到 S80postfix 这个文件,80
就是顺序在 10 以后,因为没有启动网络的情况下,启动postfix 是没有任何作用的。
再看一下
/etc/rc.d/rc3.d,可以看到文件S60nfslock,但是这个文件不存在于 /etc/rc.d/rc2.d 目录下。NFS
要用到这个文件,一般用在多用户环境下,所以放在rc3.d 目录下。

另外,在/etc/rc.d/rc2.d 还可以看到那些K 开头的文件,例如
/etc/rc.d/rc2.d/K45named ,K 代表 kill

标准的Linux运行级为3 或者5 ,如果是3 的话,系统就在多用户状态。如果是5的话,则是运行着X Window
系统。如果目前正在3或5,而你把运行级降低到2的话,init 就会执行 K45named 脚本。
不同的运行级定义如下:(可以参考Red Hat
Linux 里面的/etc/inittab)

# 缺省的运行级,RHS 用到的级别如下:
# 0 - 停机(千万不要把initdefault 设置为0 )
# 1 - 单用户模式
#
2 - 多用户,但是没有 NFS
# 3 - 完全多用户模式
# 4 - 没有用到
# 5 - X11
# 6 - 重新启动
(千万不要把initdefault 设置为6 )
#
对各个运行级的详细解释:
0 为停机,机器关闭。
1
为单用户模式,就像Win9x 下的安全模式类似。
2 为多用户模式,但是没有NFS 支持。
3 为完整的多用户模式,是标准的运行级。
4
一般不用,在一些特殊情况下可以用它来做一些事情。
例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
5 就是 X11 ,进到 X
Window 系统了。
6 为重启,运行 init 6
机器就会重启。
不同的运行级有不同的用处,也应该根据自己的不同情形来设置。例如,如果丢失了root
口令,那么可以让机器启动进入单用户状态来设置。在启动后的 lilo 提示符下输入:
init=/bin/sh rw
就可以使机器进入运行级1
,并把 root 文件系统挂为读写。他会跳过所有系统认证,让你使用passwd 程序来改变root口令,然后启动到一个新的运行级。
from:
http://www.cnitblog.com/windone0109/archive/2008/04/23/42651.html


早期 unix 中很多应用软件通常都只用一个独立的配置文件,如 fstab
等。随着应用越来越复杂,软件中需要配置的项目越来越多,单个配置文件开始显得复杂无比,难以操作。这时很多软件就逐渐开始将配置项放入多个文件。使用多个配置文件更容易分配操作权限,内容也可以更专一,因此更适合模块化管理。但这也造成了
/etc/ 目录下的文件急剧增加,且文件名冲突现象越来越严重。

因此unix 中约定系统软件除创建一个(特例下可以多个,如 rc
簇)传统的全局配置文件外,将附属的其它配置文件保存到同名的目录中,区别是在名称后面加 ".d" 后缀,同时全局配置文件后面也加上后缀
".conf",这样就使得配置文件更容易进行模块化管理,同时兼容了 unix 的老习惯:直接操作 /etc/ 下的配置文件,而不是操作 /etc/
下子目录中的配置文件。

对于安装在 unix
中的应用软件来说,它们的配置文件除自己使用外,很少会由其它应用来读取或修改,因此应用软件完全可以由自己来管理配置文件,所以应用类软件通常直接在 /etc/
下创建一个子目录用来保存所有的配置文件,而不再创建传统的全局配置文件。

所以,我们现在能在 /etc/
看到的就是这三种不同的配置文件组织方式下的文件和子目录。分别是:传统的单一配置文件(都是比较早期开发的软件)、系统软件的全局配置文件(.conf) +
附属配置文件(.d)、以及应用软件的配置文件(存放在子目录且子目录名不加 ".d")。

另外,unix
中还有一个约定,凡是守护进程的执行文件名后会加上 "d" ,这个 "d" 前不带 "." 号,代表的才是 daemon 的意思,通常存放在 /usr/sbin/
下。rc.d后缀.d含义:
早期 unix 中很多应用软件通常都只用一个独立的配置文件,如 fstab
等。随着应用越来越复杂,软件中需要配置的项目越来越多,单个配置文件开始显得复杂无比,难以操作。这时很多软件就逐渐开始将配置项放入多个文件。使用多个配置文件更容易分配操作权限,内容也可以更专一,因此更适合模块化管理。但这也造成了
/etc/ 目录下的文件急剧增加,且文件名冲突现象越来越严重。

因此unix 中约定系统软件除创建一个(特例下可以多个,如 rc
簇)传统的全局配置文件外,将附属的其它配置文件保存到同名的目录中,区别是在名称后面加 ".d" 后缀,同时全局配置文件后面也加上后缀
".conf",这样就使得配置文件更容易进行模块化管理,同时兼容了 unix 的老习惯:直接操作 /etc/ 下的配置文件,而不是操作 /etc/
下子目录中的配置文件。

对于安装在 unix
中的应用软件来说,它们的配置文件除自己使用外,很少会由其它应用来读取或修改,因此应用软件完全可以由自己来管理配置文件,所以应用类软件通常直接在 /etc/
下创建一个子目录用来保存所有的配置文件,而不再创建传统的全局配置文件。

所以,我们现在能在 /etc/
看到的就是这三种不同的配置文件组织方式下的文件和子目录。分别是:传统的单一配置文件(都是比较早期开发的软件)、系统软件的全局配置文件(.conf) +
附属配置文件(.d)、以及应用软件的配置文件(存放在子目录且子目录名不加 ".d")。

另外,unix
中还有一个约定,凡是守护进程的执行文件名后会加上 "d" ,这个 "d" 前不带 "." 号,代表的才是 daemon 的意思,通常存放在 /usr/sbin/
下。
from:




阅读(2329) | 评论(0) | 转发(1) |
0

上一篇:Youth

下一篇:Linux各个目录的作用

给主人留下些什么吧!~~