ubuntu启动流程及定制

来源:互联网 发布:电子罗盘 数据 使用 编辑:程序博客网 时间:2024/05/16 05:13

原文地址:http://blog.csdn.net/ydt_lwj/article/details/8233627

Linux系统主要通过以下步骤启动:
1、读取MBR的信息,启动Boot Manager
2、加载系统内核,启动/sbin/init进程
       init进程是Linux的根进程,所有的系统进程都是它的子进程。
3、init进程读取“/etc/inittab”(注:新版本找不到此文件)文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本:
       /etc/init.d中存储着可执行脚本文件。/etc/rcS.d和/etc/rcN(0-9)中存储有脚本的链接文件。
       通常情况下,“/etc/rcS.d/”目录下的链接文件首先被执行,然后根据运行级别选择N,执行“/etc/rcN.d/”目录下的链接文件。例如您设定的运行级别为3,那么它对应的启动目录为“/etc/rc3.d/”。
       链接文件以K/S+两位数字+脚本名字方式命名,S/K代表脚本运行的参数为start/stop,两位数字代表链接文件执行的优先级。
       注:此时执行的脚本处于root用户权限下。
       注:如需增加自定义开机启动脚本,需要创建脚本,拷贝到/etc/init.d目录下,增加可执行属性,并在对应的运行级别/etc/rcN.d目录下按SXXScript的方式创建脚本的链接文件。系统还提供了对应的脚本工具update-rc.d帮助快速的建立和删除链接文件。(见附录)
4、根据“/etc/rcS.d/”文件夹中对应的脚本启动Xwindow服务器“xorg”,Xwindow为Linux下的图形用户界面系统。
5、启动登录管理器,等待用户登录
       Ubuntu系统默认使用GDM作为登录管理器,您在登录管理器界面中输入用户名和密码后,便可以登录系统。(您可以在“/etc/rc3.d/”文件夹中找到一个名为“S13gdm”的链接)
       此时将进入用户权限。
 
 
附录:update-rc.d用法
 
1) 将你的启动脚本复制到/etc/init.d目录下
 
    以下假设你的脚本文件名为test。
 
    2) 设置脚本文件的权限
 
    $ sudo chmod 755 /etc/init.d/test
 
    3) 执行如下命令将脚本放到启动脚本中去:
 
    $ cd /etc/init.d
 
    $ sudo update-rc.d test defaults 95
 
    注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:
 
    update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see
 
    卸载启动脚本的方法:
 
    $ cd /etc/init.d
 
    $ sudo update-rc.d -f test remove
 
    命令输出的信息参考如下:
 
    Removing any system startup links for /etc/init.d/test …    /etc/rc0.d/K95test    /etc/rc1.d/K95test    /etc/rc2.d/S95test    /etc/rc3.d/S95test    /etc/rc4.d/S95test    /etc/rc5.d/S95test    /etc/rc6.d/K95test


Ubuntu下添加开机启动脚本
方法一
Ubuntu开机之后会执行/etc/rc.local文件中的脚本,

所以我们可以直接在/etc/rc.local中添加启动脚本。

方法二

如果要添加为开机启动执行的脚本文件,

可先将脚本复制或者软连接/etc/init.d/目录下,

然后用:update-rc.dxxx defaults NN命令(NN为启动顺序),

将脚本添加到初始化执行的队列中去。

方法三

1.编写shell脚本
gedit /etc/init.d/mongo-server
#!/bin/bash

/usr/local/mongodb/bin/mongod --logpath /var/log/mongodb/mongodb.log --logappend --fork --dbpath /var/db/mongodb --pidfilepath /var/run/mongod.pid
2. chmod 755 /etc/init.d/mongo-server    
3. ubuntu默认启动级别为2加载的脚本在/etc/rc2.d/
ln -s /etc/init.d/mongo-server        /etc/rc2.d/S99mongo-server (S为开始执行99为执行顺序mongo-server为文件名)



开机自动运行桌面应用程序方法补充
      有些应用程序如一些桌面日历,ToDoList程序等等,是需要在桌面完全载入之后再运行才有效的!所以1,2的方法就行不通了。大家用过windows应该有印象,在“开始”-“程序”-“启动” 这个位置如果放置有其他快捷方式,则在载入桌面后会自动运行。
      Ubuntu下也有这样的文件夹,它的位置是 ~/.config/autostart/,其中保存的文件即为linux下的快捷方式文件,文件名如 RainLendar2.desktop(也就是类似于在“桌面”上点击右键-“创建启动器”所生成的文件)。用vi打开,发现其文件格式如下:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=Rainlendar2                          #应用程序名字
Type=Application                            #程序类型
Exec=/usr/bin/rainlendar2                #可运行应用程序的路径
X-GNOME-Autostart-enabled=true    #是否在载入桌面后自动运行




原创粉丝点击