本篇是在上篇“linux系统组成之小型RedHat little linux制作一”的基础上对微型小系统进一步完善,使其实现关机、重启等功能

⑴、通过脚本使其微型系统实现关机、重启

   
   
   
   
  1.   修改inittab文件,新增  

  2.      l0:0:wait:/etc/rc.d/rc 0  

  3.      l6:6:wait:/etc/rc.d/rc.6  

  4.   增加rc.hald 脚本  

  5.   #!/bin/bash  

  6.   #  

  7.   case $0 in  

  8.   *reboot)  

  9. COMMAND='/sbin/reboot'

  10.    ;;  

  11.   *halt)  

  12. COMMAND='/sbin/halt -p' ;;  

  13.   *)  

  14.    echo "only call thsi script *reboot *halt"  

  15.    ;;  

  16.   esac  

  17.   exec $COMMAND  

  18.   增加执行权限  

  19.   chmod +x rc.halt  

  20.   创建相关的连接文件  

  21.   cd /mnt/sysroot/etc/irc.d/nit.d  

  22.   mkdir rc0.d rc6.d  

  23.   cd rc0.d/  

  24.   ln -sv /mnt/sysroot/etc/rc.d/init/.d/rc.halt S99halt  

  25.   cd rc6.d/  

  26.   ln -sv /mnt/sysroot/etc/rc.d/init.d/rc.halt S99reboot


rc.d目录内创建一个rc脚本,用其脚本来实现对S*服务进行startK*的服务进行stop的功能,详细如下:

rc036.d内增加相关的连接--"linux系统组成之小型RedHat little linux制作三"



   
   
   
   
  1. #!/bin/bash  

  2. #  

  3. RUNLEVEL=$1

  4. for I in /etc/rc.d/rc$RUNLEVEL.d/K*; do  

  5. $I stop  

  6. done  

  7. for I in /etc/rc.d/rc$RUNLEVEL.d/S*; do  

  8. $I start  

  9. done

修改inittab文件,新增

  l0:0:wait:/etc/rc.d/rc 0

  l6:6:wait:/etc/rc.d/rc.6

运行第三级别修改inittab增加

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

增加一个测试脚本tserver来测试第三级别的运行情况


   
   
   
   
  1.   #!/bin/bash  

  2.   #  

  3.   # chkconfig: 35 55 44  

  4.   # description: chris service  

  5.   #  

  6. FILE=/var/lock/subsys/`basename $0`  

  7.   start() {  

  8.   echo "starting `basename $0`..."  

  9.   touch $FILE  

  10.    }  

  11.   stop() {  

  12.   echo "stopping `basename $0`..."  

  13.   rm -rf $FILE  

  14.   }  

  15.   status() {  

  16.    if [ -e $FILE ]; then  

  17.       echo "Running.."  

  18.    else  

  19.       echo "stopping..."  

  20.    fi  

  21.   }  

  22.   usage() {  

  23.   echo "please insernt like start|stop|restart|status"  

  24.   }  

  25.   case $1 in  

  26.   start)  

  27.   start ;;  

  28.   stop)  

  29.    stop ;;  

  30.   restart)  

  31.     stop  

  32.     start  

  33.   ;;  

  34.   status)  

  35.   status  

  36.   ;;  

  37.   *)  

  38.   usage  

  39.   exit 1  

  40.   ;;  

  41.   esac