zoukankan      html  css  js  c++  java
  • inittab文件剖析[CentOS 5.X](第二版)

    inittab文件剖析[CentOS 5.X]



    grep -v “^#” /etc/inittab | more #过滤掉以#开头的行

     

    inittab文件格式

    id:runlevels:action:process

    id: 标识符,一般为两位数字或字母

    runlevels: 运行级别,可以指定多个,若为空,则表示从0~6各个运行级别都执行

    action: 指定运行状态

    process: 制定运行的脚本或命令,最重要

     

    /etc/inittab正文分析

    语句1:

    id:5:initdefault:

    initdefault: 系统指定缺省启动的运行级别,系统默认启动的指令

    5: 可以将其改为3默认启动字符界面,而不用启动图形界面


    语句2:

    si::sysinit:/etc/rc.d/rc.sysinit


    /etc/rc.d/rc.sysinit作用:完成系统服务程序的启动,如:系统环境变量设置,系统时钟设置,加载字体,检查加载文件系统,生成系统启动信息日志等.

    sysinit:系统启动执行process中的指令,无论哪个运行级别,只要系统启动,这个服务就会启动

     

    附-如果你有一个服务,无论任何运行级别,都希望它在一开机就能自动运行,则可以将之写入/etc/rc.d/rc.sysinit文件中.

     

    语句3:

    l3:3:wait:/etc/rc.d/rc 3

    /etc/rc.d/rc 

     

    作用:根据前文,判断默认运行级别调用/etc/rc.d/rc脚本,执行下面相应运行级别的目录中的服务程序,完成相应运行级别的初始化设置。

     

    Linux服务保存目录:/etc/rc.d/rc[0123456].d 

     

    分别存放对应于运行级别的服务程序脚本的符号软链接,链接到init.d目录中的相应脚本

    S-start: 系统启动时依次加载这些服务

    K-kill : 系统关机时依次关闭这些服务【如果将文件名更改,则不会启动】

    数字: 表示启动顺序,数字越小,优先启动

     

     

    附-如果不想启动此服务只需将其改名即可,如:

    mv S03-vmware-tools s03-vmware-tools #不会自动启动

     

    /etc/inittab文件完整内容介绍

        ###表示当前缺省运行级别为5(initdefault);
        id:5:initdefault:
    
      ###启动时自动执行/etc/rc.d/rc.sysinit脚本(sysinit)
      # System initialization.
        si::sysinit:/etc/rc.d/rc.sysinit
    
      l0:0:wait:/etc/rc.d/rc 0
      l1:1:wait:/etc/rc.d/rc 1
      l2:2:wait:/etc/rc.d/rc 2
      l3:3:wait:/etc/rc.d/rc 3
      l4:4:wait:/etc/rc.d/rc 4
      ###当运行级别为5时,以5为参数运行/etc/rc.d/rc脚本,其他的会忽略,init将等待其返回(wait)
      l5:5:wait:/etc/rc.d/rc 5
        l6:6:wait:/etc/rc.d/rc 6
    
      ###在启动过程中允许按CTRL-ALT-DELETE重启系统
      # Trap CTRL-ALT-DELETE
      ca::ctrlaltdel:/sbin/shutdown -t3 -r now
      
        # When our UPS tells us power has failed, assume we have a few minutes
      # of power left. Schedule a shutdown for 2 minutes from now.
      # This does, of course, assume you have powerd installed and your
      # UPS connected and working correctly.
      pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
      
        # If power was restored before the shutdown kicked in, cancel it.
      pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
      
        ###在2、3、4、5级别上以ttyX为参数执行/sbin/mingetty程序,打开ttyX终端用于用户登录,如果进程退出则再次运行mingetty程序(respawn)
      # Run gettys in standard runlevels
      1:2345:respawn:/sbin/mingetty tty1
      2:2345:respawn:/sbin/mingetty tty2
      3:2345:respawn:/sbin/mingetty tty3
      4:2345:respawn:/sbin/mingetty tty4
      5:2345:respawn:/sbin/mingetty tty5
        6:2345:respawn:/sbin/mingetty tty6
    
      ###在5级别上运行xdm程序,提供xdm图形方式登录界面,并在退出时重新执行(respawn)
      # Run xdm in runlevel 5
      x:5:respawn:/etc/X11/prefdm -nodaemon


    系统相关的脚本,命令与日志

    1./etc/rc.d/init.d

    该目录保存了各运行级别的启动脚本。这样我们就可以手工启动/关闭系统中任何一个服务[与/etc/init.d/目录作用相同,在CentOS 5.x中/etc/init.d只是一个连接文件]

     

    如:手动启动ssh  /etc/rc.d/init.d/sshd #提示选项信息

     


    2.dmesg:查看启动所有信息,查看硬件是否被内核所识别

    dmesg | grep eth0 // 查看加载信息

    dmesg | grep sda // 查看第一块硬盘加载信息

     

    3.系统所有的目录文件都保存在/var/log文件目录下

     

    检查系统日志/var/log/messages,查找可能被dmesg忽略的应用程序错误!

     



    设置程序开机自启动

    法1.生成软链接 ln -s

    如: 编写脚本/etc/rc.d/init.d/msg.sh

    data >> /root/msg.today
    who >> /root/msg.today
    free >> /root/msg.today

    chmod u+x /etc/rc.d/init.d/msg.sh

    ln -s /etc/rc.d/init.d/msg.sh /etc/rc.d/rc3.d/S100msg.sh

     

     



    法2.chkconfig: 只能更改系统默认安装的服务

    chkconfig --list #查看所有运行级别缺省状态下所有的启动程序

    chkconfig --list sshd #只是显示sshd的启动情况 

    chkconfig --levels 2345 sshd off

     

    Chkconfig 其他选项

     



    法3、ntsysv

    如果敲击ntsysv则是更改当前运行级别的启动设置

     

    其他运行级别:ntsysv -- levels 3 

    [比较简单直观,但是很多UNIX系统并没有这个服务]

     


    action常用取值:

    1、 initdefault,sysinit

    2、 wait:执行process中指定的命令,并等其结束再运行其他命令 

    once:执行process中指定的命令,不等待其结束 

    3、 ctrlaltdel:按下Ctrl+Alt+Del时执行process指定 

    4、 respawn:一但process指定的命令运行终止,则重新运行该命令

    5、 powerfail:当出现电源错误时执行process指定的命令,不等待其结束 

    powerokwait:当电源恢复时执行process指定的 命令的命令


    Linux启动流程总图

     

  • 相关阅读:
    LeetCode 123 Best Time to Buy and Sell Stock III
    直接选择排序算法汇总
    zoom:1是什么意思
    怎么去掉织梦网站首页带的index.html/index.php
    wamp apache无法启动的解决方法
    提交到svn服务器时,一直缓冲不,
    桌面上图标都不见了怎么办听语音
    如何清除网上浏览痕迹?清除缓存
    TortoiseSVN文件夹及文件图标不显示解决方法
    快捷键
  • 原文地址:https://www.cnblogs.com/itrena/p/5927028.html
Copyright © 2011-2022 走看看