Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选

首页 / 操作系统 / Linux / 浅谈Linux系统的启动流程

Linux系统的启动时通过读取不同的配置文件,执行相应的Shell脚本完成的。当然本文只是简单的从文件的角度分析,更深层次的本文没涉及。主要读取了以下文件:/boot/grub/grub.conf
/etc/inittab
/etc/rc5.d(rc.d) 0-99 Seq
/etc/passwd (Login,input username and password)
/etc/shadow
/etc/profile:init the env var of user
/etc/profile.d/*.sh
~/.bash_profile
~/.bash_history
~/.bashrc
/etc/bashrc我们首先来看grub.conf文件[root@ www.linuxidc.com grub]# ll menu.lst
lrwxrwxrwx. 1 root root 11  7o?=o?= 19 10:52 menu.lst -> ./grub.conf
[root@ www.linuxidc.com grub]# pwd
/boot/grub
grub.conf文件内容:
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (2.6.32-220.el6.i686)
       root (hd0,0)
       kernel /boot/vmlinuz-2.6.32-220.el6.i686 ro
root=UUID=ed98469d-857b-4ae5-91e4-118e0167ead7 rd_NO_LUKS rd_NO_LVM
LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=lat    arcyrheb-sun16 rhgb
crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM
       initrd /boot/initramfs-2.6.32-220.el6.i686.img执行runlevel命令可以看到启动级别是5[root@ www.linuxidc.com grub]# runlevelN 5我们进入etc目录,可以看到很多rcX.d目录[root@ www.linuxidc.com grub]# cd /etc/init.d[root@ www.linuxidc.com init.d]# cd /etc
[root@ www.linuxidc.com etc]# cd rc
rc          rc0.d/      rc1.d/      rc2.d/      rc3.d/      rc4.d/      rc5.d/
rc6.d/      rc.d/     rc.local    rc.sysinit 我们进入/etc/profile.d目录,可以看到很多可执行脚本[root@localhost test]# ll /etc/profile.d/*.sh
-rw-r--r--. 1 root root 1143 Apr 28  2010 /etc/profile.d/colorls.sh
-rw-r--r--. 1 root root 78 Apr 21  2010 /etc/profile.d/cvs.sh
-rw-r--r--. 1 root root  192 Dec 12  2005 /etc/profile.d/glib2.sh
-rw-r--r--. 1 root root 70 Aug 12  2010 /etc/profile.d/gnome-ssh-askpass.sh
-rwxr-xr-x. 1 root root  288 Sep 24  2009 /etc/profile.d/kde.sh
-rw-r--r--. 1 root root 2706 Sep  2  2010 /etc/profile.d/lang.sh
-rw-r--r--. 1 root root  108 Feb  7  2007 /etc/profile.d/less.sh
-rw-r--r--. 1 root root  933 Jun 30  2010 /etc/profile.d/qt.sh
-rw-r--r--. 1 root root 2142 Sep  8  2010 /etc/profile.d/udisks-bash-completion.sh
-rw-r--r--. 1 root root  269 May 19  2010 /etc/profile.d/vim.sh
-rw-r--r--. 1 root root  169 May 20  2009 /etc/profile.d/which2.sh因为启动级别是5,所以我们进入rc5.d,可以看到很多文件,S表示当系统启动时执行,K表示当系统关闭时执行。[root@localhost grub]# ll /etc/rc5.d/
K01certmonger     K50netconsole     K75ntpdate          K89rdisc            S11auditd         S24avahi-daemon   S26pcscd            S82abrtd
K01smartd         K50snmpd            K76ipsec            K95cgconfig       S11portreserve      S24nfslock          S26udev-post        S85qpidd
K02oddjobd          K50snmptrapd        K80kdump            K95firstboot        S12rsyslog          S24openct         S28autofs         S90crond
K10psacct         K50vsftpd         K80sblim-sfcb     S00microcode_ctl    S13cpuspeed       S24rpcgssd          S30vboxadd          S95atd
K10saslauthd        K60nfs              K80sssd           S01sysstat          S13irqbalance     S24rpcidmapd        S30vboxadd-x11      S97rhnsd
K15httpd            K69rpcsvcgssd     K84wpa_supplicant S02lvm2-monitor   S13rpcbind          S25cups           S35vboxadd-service  S98tog-pegasus
K20tomcat6          K73ypbind         K86cgred            S08ip6tables        S15mdmonitor        S25netfs            S50bluetooth        S99local
K36mysqld         K74nscd           K87restorecond      S08iptables       S22messagebus     S26acpid            S55sshd           
K50dnsmasq          K74ntpd           K88nslcd            S10network          S23NetworkManager S26haldaemon        S80postfix   我们再来看看用户主目录下的.bashrc文件内容[root@localhost grub]# cat ~/.bashrc
# .bashrc# User specific aliases and functionsalias rm="rm -i"
alias cp="cp -i"
alias mv="mv -i"# Source global definitions
if [ -f /etc/bashrc ]; then
 . /etc/bashrc
fi我们再来看看用户主目录下的.bash_profile文件内容[root@localhost grub]# cat ~/.bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then
 . ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/binexport PATH完整的流程图如下图:推荐阅读:详细讲解Linux启动流程及启动用到的配置文件及脚本 http://www.linuxidc.com/Linux/2013-04/82119.htmLinux系统启动流程学习笔记 http://www.linuxidc.com/Linux/2013-03/80395.htmLinux启动流程知多少之迷你系统 http://www.linuxidc.com/Linux/2012-10/71889.htmLinux启动流程介绍 http://www.linuxidc.com/Linux/2012-09/70564.htmRedHat Linux下QStarDict的安装Linux安装系统注意事项及系统初始化相关资讯      Linux系统流程  Linux系统启动流程 
  • 图解Linux系统启动流程  (03/08/2014 06:59:09)
本文评论 查看全部评论 (0)
表情: 姓名: 字数