深入浅出:linux的启动流程刨析(二)

2. 关于etc/rc.d/rc.sysyinit 和 /etc/rc.d/rc.Nd

在inittab文件中,我们了解到rc.sysinit是系统运行的第一个脚本,那么它的作用都有哪些呢?如果有shell脚本基础的话可以用vim打开这个文件来看看,它有900多行...是linux里最牛的脚本,总结下它的作用,有如下几点:(一定要牢记,必要时我们要重写它!

1. 激活udev和selinux

2. 通过读取/etc/sysct1.conf来设置内核参数

3. 设置系统时钟

4. 设置键盘映射

5. 启动交换分区。

6. 设置主机名

7. 检查跟文件系统,并且如果没有错误,以读写的方式来重新挂载文件系统 (重要)

8. 激活raid和lvm设备

9. 启动磁盘限额

10 挂载其他/etc/fstab里定义的尚未被挂载的设备

11. 清理过时的文件锁和PID文件

12. 启动服务/etc/rc.d/rcN.d


/etc/rc.d/rcN.d 是一个存放了系统启动是加载的服务的文件夹,通过inittab,我们知道了,它的编号对应相应的启动运行级别。

需要说明的是,它里面的文件,以我的为例 以K开头的代表stop,以S开头的代表启动start,数字越小,有限级别越高

[root@server69 rc.d]# cd rc3.d
[root@server69 rc3.d]# ls
K01dnsmasq         K74nscd             S08ip6tables    S25bluetooth   S85gpm
K02avahi-dnsconfd  K85mdmpd            S08iptables     S25netfs       S90crond
K02NetworkManager  K87multipathd       S08mcstrans     S25pcscd       S90xfs
K05conman          K88wpa_supplicant   S10network      S26acpid       S95anacron
K05saslauthd       K89dund             S11auditd       S26apmd        S95atd
K10psacct          K89netplugd         S12restorecond  S26haldaemon   S97rhnsd
K20nfs             K89pand             S12syslog       S26hidd        S97yum-updatesd
K24irda            K89rdisc            S13irqbalance   S28autofs      S98avahi-daemon
K35vncserver       K99readahead_later  S13portmap      S50hplip       S99firstboot
K35winbind         S00microcode_ctl    S14nfslock      S55sshd        S99local
K50ibmasm          S02lvm2-monitor     S15mdmonitor    S56cups        S99smartd
K50netconsole      S04readahead_early  S18rpcidmapd    S56rawdevices
K69rpcsvcgssd      S05kudzu            S19rpcgssd      S58ntpd
K73ypbind          S06cpuspeed         S22messagebus   S80sendmail


3./etc/fstab文件

它定义了系统初始化挂载的设备,对系统的启动至关重要,rc.sysinit通过读取它来实现系统分区的挂载

它的内容如何呢?我们一起来看下

要挂载的设备 挂载点 文件系统类型 挂载选项 转储频率 文件自检次序

/dev/sda2               /                       ext3    defaults        0 0
/dev/sda1               /boot                   ext3    defaults        0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

我截取了4个系统启动时必须挂载的设备

/ 根文件目录,由它你才可以进入linux的世界,它在/dev/sda2里

/boot 启动目录,在/下,里面有grub,initrd和系统内核,它在/dev/sda1

sysfs 一个虚拟的文件系统,产生包含所有硬件层次视图,和/proc类似

proc 这是一个虚拟的目录,它映射内存里的信息对应进程信息,也就是说它对应的是内存而不是硬盘

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值