## partition 为 read-write 的条件下所作的工作 . 假如你的 root partition
## 为 read-writeable 的话 , 那麽系统就会显示下面的讯息 . cat << EOF 所作的
## 事 , 就是把 EOF 之前的讯息全部显示在萤幕上 :
## 我想 , 下面的讯息写得很明显了 , 它说 : 你的 root partition 被 mount 成
## read-write , 没有办法检查 , 要使检查的动作能够顺利的进行 , 你必须把
## root partition mount 成 read-only ! 那要怎麽做呢 ? 很容易 , 只要利用
## rdev -R /
else
cat << EOF
*** Root partition has already been mounted read-write. Cannot check!
For filesystem checking to work properly, your system must initially mount
the root partition as read only. Please modify your kernel with "rdev" so
that
it does this. If you"re booting with LILO, type:
rdev -R /vmlinuz 1
(^^^^^^^^; ... or whatever your kernel name is.)
If you boot from a kernel on a floppy disk, put it in the drive and type:
rdev -R /dev/fd0 1
This will fix the problem *AND* eliminate this annoying message. :^)
EOF
## 下面这个指令没什麽好说的 , 就是暂停 10 秒钟 , 让 user 能够有充足的
## 时间看完上面的讯息
sleep 10
fi
## 删除 /etc/mtab; /etc/nologin; /etc/utmp
/bin/rm -f /etc/mtab* /etc/nologin /etc/utmp
## 制造 /etc/utmp , 这是一个很典型制造空档案的写法 . /dev/null 这个 node
## 蛮有趣的 , 在某一方面来说 , 它有点像是一个 " 黑洞 " . 怎麽说呢 ?
## 各位可以试试看下面的指令; ls >> /dev/null; , 当你使用这个指令之後会
## 发生什麽事呢 ? 什麽也没发生 , 而且 ls 的输出就好像被丢到黑洞里 , 无
## 影无踪了 . 那也许你会想 : 那这有什麽用 ? 我的回答是 : 的确没有什麽
## 很大的用处 , 但当你想抑制输出的讯息时 , 你就会用得到了 .
cat /dev/null >> /etc/utmp
## 依据 fstab ( filesystem table ) 中的描述 , 自动的挂上档案系统
## 但此时因为 TCP/IP 还没有设定 , 故不用 NFS
echo "Mount Filesystem !!!"
/sbin/mount -avt nonfs
## 设定系统的时钟 . 下面这几行所做的事就是 : 看看 /sbin/clock 这个档案是
## 不是可执行的 , 假如可以执行 , 就把 CMOS 中的时间设定为系统的时间 .
if [ -x /sbin/clock ]; then
echo "Set System Clock"
/sbin/clock -s
fi
## 下面的四行若没有 mark , 则每次开机 issue 及 motd 都会被改变 , 这应该
## 可算是 FAQ 级的问题了 ...... 因为我有自己设计的 issue 及 motd , 所以
## 下面的四行前面都有 # , 被当成注解 .
## 假如你要有自己的设定 , 下面一定都要 mark 起来
#echo > /etc/issue
#echo Welcome to Linux /bin/uname -a | /bin/cut -d; -f3. >> /etc/issue
#echo >> /etc/issue
#echo "/bin/uname -a | /bin/cut -d; -f1,3. (Posix)." > /etc/motd
## 接下来 , 将执行 rc.serial , 顾名思义 , rc.serial 是作串连埠设定的工作
## 在 rc.serial 中 , 内容虽然也是很简单 , 但并不像 rc.S 那样直接 . 换句话
## 说 , 读者至少要 " 稍微 " 懂一点 shell programming , 所以说呢 , 假如
## 还不会 shell programming 的读者呢 , 都应该赶快去找一本书来看一下 , 在
## 这篇文章的结尾 , 我会提出一些书单 , 各位可以去找找这几本书 ......
/bin/sh /etc/rc.d/rc.serial
echo "=================; rc.S is finish NOW !!!; ========================="
到了这里 , rc.S 的最後一步 , 是去执行 rc.serial . 大家可以看一看
/rc.d/rc.serial . 好像很长的样子 , 但实际上呢 , 各位必然发现到了 , 这个
shell script 大部份指令的前面都有一个 "#" 号 , 这代表著 , 这些指令完全
不会被执行 . 所以呢 , 真正有用的只不过寥寥十几行吧 ! 在另一方面来说 ,
假如你是用网路卡连上网路 , 那 rc.serial 对你并没有什麽大用处 .
推荐阅读
- 关于Linux操作系统DNS包卸载和安装方法
- 戴尔Linux计划成功 将继续扩大产品种类
- 投资公司设立程序有哪些
- 实例讲解:安装Linux drcom 上网客户端
- Linux系统上从源代码安装软件的一般步骤
- 红帽Redhat面临挑战 出路竟是Linux桌面
- Unix遇威胁Linux市场成倍增长
- Debian Linux下配置heartbeat高可用集群
- OpenSSH实现Windows和Linux文件安全传输
- 两个Linux操作系统NFS服务器的配置方法
