さて 必要なファイルを作成してゆきます。
移動して
# cd ../staging/etc/
# pwd
/home/qpo/proj/staging/etc
# ls -a
./ ../ fstab init.d/ mtab
# ls -a init.d/
./ ../ local_fs*
inittab を 作成しましょう。
# vi inittab
# cat inittab
# /etc/inittab - init daemon configuration file
#
# Default runlevel
id:1:initdefault:
#
# System initialization
si:S:sysinit:/etc/init.d/rc S
#
# Runlevel scripts
r0:0:wait:/etc/init.d/rc 0
r1:1:respawn:/bin/sh
r2:2:wait:/etc/init.d/rc 2
r3:3:wait:/etc/init.d/rc 3
r4:4:wait:/etc/init.d/rc 4
r5:5:wait:/etc/init.d/rc 5
r6:6:wait:/etc/init.d/rc 6
#
# end of /etc/inittab
rc スクリプトを作成します。
# pwd /home/qpo/proj/staging/etc # ls fstab init.d/ mtab # cd init.d/ # pwd /home/qpo/proj/staging/etc/init.d # ls -a ./ ../ local_fs* # vi rc # cat rc #!/bin/sh # # /etc/init.d/rc - runlevel change script # PATH=/sbin:/bin SCRIPT_DIR="/etc/rc$1.d" # # Check that the rcN.d directory really exists. if [ -d $SCRIPT_DIR ]; then # # Execute the kill scripts first. for SCRIPT in $SCRIPT_DIR/K*; do if [ -x $SCRIPT ]; then $SCRIPT stop; fi; done; # # Do the Start scripts last. for SCRIPT in $SCRIPT_DIR/S*; do if [ -x $SCRIPT ]; then $SCRIPT start; fi; done; fi # # end of /etc/init.d/rc
実行属性をつけます。
# ls -l rc -rw-r--r-- 1 root root 470 Aug 30 21:02 rc # chmod +x rc # ls -l rc -rwxr-xr-x 1 root root 470 Aug 30 21:02 rc*
rc スクリプト で見てきたように このままの状態では ”start、 ”stop” という引数で 動作は出来ないので 修正が 必要になります。
# cp local_fs bk_local_fs
# vi local_fs
# cat local_fs
#!/bin/sh
#
# local_fs - check and mount local filesystems
#
PATH=/sbin:/bin ; export PATH
case $1 in
start)
echo "Checking local filesystem integrity."
fsck -ATCp
if [ $? -gt 1 ]; then
echo "Filesystem errors still exist! Manual intervention required."
/bin/sh
else
echo "Remounting / as read-write."
mount -n -o remount,rw /
echo -n > /etc/mtab
mount -f -o remount,rw /
echo "Mounting local filesystems."
mount -a -t nonfs,smbfs
fi
;;
stop)
echo "Unmounting local filesystems."
umount -a -r
;;
*)
echo "usage: $0 start|stop";
;;
esac
#
# end of local_fs
何を修正したのでしょう。まあ start stop の為 アン マウント を 追加した という事です
# diff -s local_fs bk_local_fs
実行属性を 忘れずにつけておきます。
# chmod +x local_fs # rm bk_local_fs
にゃんたろう 拝!
2010年 8月30日 (月) 21:01:01 JST 作成