Linux 开机程序之研讨( 八 )


## lock 档在重新开机以後还是存在的话 , 那就很不好了 . 所以 , 下面就是在
## 作这些删除 lock 档的动作 , 并把一些输出的讯息丢到 /dev/null 去 .
## 在上一期的内容中 , 我们就有提到 /dev/null 了 , 也有提到抑制讯息输出的
## 方法 . 现在我们果然看到了一个实例 ......

/bin/rm -f /var/spool/locks/* /var/spool/uucp/LCK..* /tmp/.X*lock 1> /dev/null 2> /dev/null


## 假如你有玩 hunt 这个 game 的话 , 那在 /tmp 下会有一个 socket 型态的档案
## 我们要把它删除之後才能开始另一个 game ......

if [ -r /tmp/hunt -o -r /tmp/hunt.stats ]; then
echo "Removing your stale hunt sockets from /tmp..."
/bin/rm -f /tmp/hunt*
fi


## 设定 share library 的 link 及 cache . 这个指令只有 Superuser 才能使用
## 的 , 它也相当的重要 . 万一你的 /etc/ld.so.cache 很不幸的 corrupt 了 ,
## 那我们也可以利用这个指令来让它重新 link , 先删除 /etc/ld.so.cache ,
## 再以 ldconfig -v 重新制造就可以了 .

/sbin/ldconfig


## 起动 sendmail daemon , 并且让它 15 分钟就去看一看 spool , 处理收发信件

if [ -x /usr/sbin/sendmail ]; then
echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -q 15m)..."
/usr/sbin/sendmail -bd -q 15m
fi


## 假如 /etc/rc.d/rc.font 是可读的话 , 就执行 rc.font 这个 shell script ,
## 而这个 shell script 主要是设定 text mode 下萤幕的字型

if [ -r /etc/rc.d/rc.font ]; then
/etc/rc.d/rc.font
fi


## 在系统管理中 , 我们常常把一些 local 的东西另外放在一个地方 , 这样才不
## 会与原来的东西混淆 . 同时 , 因为 local 的东西更新版本的速度总是也比较
## 快 , 在这种情况下 , 常常会变动的东西也可以放在 local 的区域中 , 这样
## 管理起来比较方便 . 也许各位也注意到了 : 为什麽会有 /usr/bin 及
## /usr/local/bin 之分 . 就个人认为 , 像自己 compile 出来的东西 , 假如
## 觉得还不错 , 就可以把它放在 /usr/local/bin , 因为它是新增的 , 所以我
## 把它放在 /usr/local/bin . 当然啦 , 这只是个人喜好罢了 , 你要放那里
## 都是可以的 , 只要找得到 , 易於使用及管理就好 .
## 同样的 , 若我们要起动一些新增的 daemon 或 shell script , 那放在
## 是不错的选择 .
## 下面一列就是去执行 rc.local 中的设定 , 通常是一些 daemon 或是 shell
## script

/etc/rc.d/rc.local


# All done.


到这里 , rc.M 已经结束了 , 我们来看看从 rc.M 之中执行的 rc.font 及

rc.local ......

下面是 rc.font 的内容 :

#!/bin/sh
#
# This selects your default screen font from among the ones in
# /usr/lib/kbd/consolefonts.
#

## 我想下面这一列的命令非常明显了 , 就是设定 console 中的字型 , 你可以
## 改成自己喜欢的字 . 或者你也可以利用 fontconfig 这个指令来改变 .

setfont /usr/lib/kbd/consolefonts/default8x16



看完了 rc.font 後 , 我们来看看 rc.local 的内容 . 我所要说的是 : rc.local

毕竟是自己设定的区域 , 所以每个人的可能都不一样 , 就我而言 , 因为我多 run

了一些 daemon , 所以与大家的可能不太相同 . 所以 , rc.local 作参考就可以了.

下面是我的 rc.local :

#! /bin/sh
# Put any local setup commands in here
# Running selection


## lpd 是控制印表机的 daemon , 要想在 LINUX 下用印表机 , 这个 daemon 必需
## 要被起动 , 此外还要修改 /etc/printcap . 详细的情况要去看 PRINT-HOWTO

echo -n "lpd"
/etc/lpd


## httpd 就是 WWW server 的 daemon . 想必大家都用过 Mosaic , Netscape 等
## 的浏览器 . 但假如我们想建立自己的 WWW server , httpd 必须要执行 .

推荐阅读