etc :存放系统的配置文件,内核在启动和运行过程中需要读取这些配置文件。
——/etc/fstab :存放的是系统中的文件系统信息,定义了需要挂载的文件系统以及挂载点的信息,当正确的设置了该文件,则可以通过"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、mount、umount的等命令都利用该程序。格式:
<device> <mount-point> <type> <option> <dump fsck>
device :需要挂载的文件系统的所在设备
mount-point :设备挂载目录,需要挂载的文件系统的挂载点
type :设备文件系统,需要挂载的文件系统类型
option (outo、user、exec、ro、rw):挂载文件系统时的参数指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用"defaults"就可以满足需要。其他常见的选项包括:
outo:自动挂载;
user:允许普通用户挂载;
exec:允许运行挂载文件系统中的应用程序
ro:只读方式挂载
rw:读写方式挂载
sync:不对该设备的写操作进行缓冲处理,可以防止非正常关机时破坏文件系统
quota:强制在该文件系统上进行磁盘定额限制
noauto:不再使用mount -a 命令加载该文件系统
dump:是否提供备份功能,该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0。0为不备份,1为要备份,一般根分区要备份。
fsck:是否开机时对文件系统进行检查,该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描,则设置该字段为0。
#----------------------------------
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpsf /dev tmpfs defaults 0 0
var /dev tmpfs defaults 0 0
ramfs /dev ramfs defaults 0 0
#---------------------------------
——/etc/mtab :系统已经装载的文件系统,包括操作系统建立的虚拟文件等。
——/etc/inittab :init进程的配置文件,格式:
<id> :<runlevels> :<action> :<process>
id :子进程要使用的控制台(即标准输入、标准输出、标准错误设备)。如果省略,则使用与init进程一样的控制台。
runlevels :对于Busybox init程序,这个字段没有意义,可以省略。
action :init进程如何控制这个子程序,8种(sysinit、wait、once、respawn、askfirst、shutdown、restart、ctrlatdel)取值:
sysinit:系统启动后最先执行,只执行一次,init进程等待它结束才继续执行其他动作。
wait:系统执行完sysinit进程后执行,只执行一次,init进程等待它结束才继续执行其他动作。
once:系统执行完wait进程执行,只执行一次,init进程不等待他结束
respawn:启动完once进程后执行,init进程监测发现子进程退出时,重新启动它。
askfirst:启动完respawn进程后执行,与respawn类似,不过init进程先输出“please press enter to activate this console”,等用户输入回车键之后才启动子进程。
shutdown:当系统关机时执行,即重启、关闭系统命令。
restart:当Busybox中配置了CONFIG_FEATURE_USE_INITAB,并且init进程接收到SIGHUP信号时执行,先重新读取、解析/etc/inittab文件,再执行restar程序。
ctrlaltdel:按下Ctrl+Alt+Del组合键时执行。
process :要执行的程序,可以使可执行程序,也可以是脚本,程序后面可以带参数。如果process字段前有'-'字符,这个程序被称为“交互的”。
如:
#----------------------------------------
::sysinit:/etc/init.d/rcS
console::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umout -a -r
#----------------------------------------
第一行:是init进程启动的第一个子进程,它是一个脚本
第二行:启动shell,以/dev/console作为控制台
第三行:按下Ctrl+Alt+Del执行的程序
第四行:重启、关机前执行的程序
在/etc/inittab文件的控制下,init进程的行为总结如下:
1在系统启动前期,init进程首先启动<action>为sysinit、wait、once的3类子进程。
2在系统正常启动期间,init进程首先启动<action>为respawn、askfirst的两类子进程,并监视他们,发现某个子进程退出时重新启动它。
3在系统退出时,执行<action>为shutdown、restart、ctrlaltdel的3类子进程。
——/etc/group :保存用户所在的组的信息,涉及到用户的权限信息。
——/etc/profile :用户环境配置文件。
——/etc/resolv.conf :存放DNS(Domain Name System,域名系统)信息的文件,访问外网时需要DNS的信息。
——/etc/sysconfig/HOSTNAME :系统的主机名称。
(以下暂不清楚)
——/etc/mdev.conf :
——/etc/rc.d/init.d目录 :
——/etc/boa/目录 :