📄 00000002.htm
字号:
c5:45:respawn:/sbin/agetty 38400 tty5 <BR> c6:456:respawn:/sbin/agetty 38400 tty6 <BR> <BR> 简单来说 , 系统在起动之後会制造出六个虚拟的 console . 我想大家应该有试过 <BR> 用 Ctrl-Alt + F1 - F6 可在这六个 console 之间切换 ; 若你使用 XWindows 时 <BR> 想暂时回到 console 下时 , 可用 Ctrl-Alt + F1 - F6 这三个键来选择 , 若想 <BR> 回到 XWindows 下时 , 只要以 Ctrl-Alt-F7 就可以回到 XWindows 下了 . 基本 <BR> 上 , 对於 memory 比较少的人 , 可以不要开那麽多的虚拟 console , 那麽就可 <BR> 以去掉上面的几列 . 还有 , 在前面我们也提过 , 可以把预设的 runlevel 从 5 <BR> 改成 6 , 对於 beginner 来说 , 系统一启动完就直接进入 XWindows 也许是一个 <BR> 不错的设定方法 ...... <BR> <BR> 介绍完 /etc/inittab 之後 , 我们接著看 rc.M ! 由前面的流程当中 , 我们看到 <BR> rc.M 中又包含了四个 shell script , 其中 rc.inet1 及 rc.inet2 是有关於网路 <BR> 的设定 ; rc.font 是作字型的设定 , 而 rc.local 中可以放一些想要起动的 <BR> daemon . <BR> <BR> 我们现在就来看看 rc.M , 依照往例 , 前面有两个 "#" 的为加上去的注解 . <BR> 只有一个 "#" 的为原来的注解 : <BR> <BR>#!/bin/sh <BR># <BR># rc.M This file is executed by init(8) when the system is being <BR># initialized for one of the "multi user" run levels (i.e. <BR># levels 1 through 6). It usually does mounting of file <BR># systems et al. <BR># <BR># Version: <A HREF="mailto:@(#)/etc/rc.d/rc.M">@(#)/etc/rc.d/rc.M</A> 2.02 02/26/93 <BR># <BR># Author: Fred N. van Kempen, <<A HREF="mailto:waltje@uwalt.nl.mugnet.org>">waltje@uwalt.nl.mugnet.org></A> <BR># Heavily modified by Patrick Volkerding <<A HREF="mailto:volkerdi@ftp.cdrom.com>">volkerdi@ftp.cdrom.com></A> <BR># <BR> <BR> ## 显示进入多人模式 <BR> <BR> echo "Going multiuser..." <BR> <BR> <BR> ## 下面一列的意思是 : 假如你在文字模式的 console 下 , 在15分钟内都没有动作 <BR> ## 的话 , 萤幕就会自动暗下来 , 简单的说 , 就是 screen saver 的功能 . <BR> <BR> /bin/setterm -blank 15 <BR> <BR> <BR> ## 执行 crond 这个 daemon . 不用说 , crond 在系统中扮演了很重要的角色 , <BR> ## 它负责每过一段时间後 , 就去看看 /var/spool/cron/crontabs 中有那些 file <BR> ## 要 run , 这些 file 往往有一个固定的时间 , 比如说 : 每个月的 1 号 , 每 <BR> ## 天凌晨等 ...... 我们可以用平常的编辑器编好一个档案 , 里面的格式如下 : <BR> ## <BR> ## 分 时 日 月 星期 命令 <BR> ## <BR> ## 举例来说 , 59 23 31 12 * /etc/wall happy_new_year <BR> ## 在每年的 12 月 31 号晚上 11 点 59 分 会对每个系统上的 user 送出 <BR> ## happy_new_year 中的内容 <BR> ## <BR> ## 接著我们可以利用 crontab <档案名> 这个指令来把此档案放到 <BR> ## /var/spool/cron/crontabs中□. 我们可以看看 /var/spool/cron/crontab 下 <BR> ## 有一个 root 的档案 , 看看里面的内容 : <BR> ## <BR> ## 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/lib/atrun <BR> ## <BR> ## 所以各位看到了 , 在前两期提到的 at 命令是五分钟才被 run 一次的 <BR> ## <BR> ## 再举一个简单的例子好了 : 我们先用一般的文书编辑器造出一个名为 crontest <BR> ## 的档案 , 内容如下 : <BR> ## <BR> ## 5 * * * * ls -la ~/ >> ~/hehehaha <BR> ## <BR> ## 接著 , 我们键入下面的命令 : crontab crontest <BR> ## 此时 , 从内容得知 , 每五分钟 crond 就会执行 ls -la , 把你 home directory <BR> ## 的内容加入 hehehaha 这个档案中 . <BR> ## <BR> ## 当然啦 ! 这个例子简直是毫无意义可言 :) 但是 , 大家既然知道了基本原理 , <BR> ## 利用 crontab , at 这些指令 , 就可以简化一些系统管理的动作 , 同时在执行 <BR> ## 一些工作时 , 也会比较有弹性 . <BR> <BR> /usr/sbin/crond -l10 >>/var/adm/cron 2>&1 <BR> <BR> <BR> ## 假如 /etc/HOSTNAME 不能读取的话 , 就把 darkstar.frop.org 当成 HOSTNAME <BR> ## 中的内容 . 老实说 , 下面这三列去掉也不打紧 ...... <BR> <BR> if [ ! -r /etc/HOSTNAME ]; then <BR> echo "darkstar.frop.org" > /etc/HOSTNAME <BR> fi <BR> <BR> <BR> ## 下面从 if 到 fi 夹起来的部份 , 主要就是在执行 rc.inet1 , rc.inet2 . 这 <BR> ## 些都是网路设定的工作 , 尤其是 rc.inet2 , 启动了一大堆 daemon , 这部份 <BR> ## 要牵扯到的东西太多了 . 像 subnet 与 netmask 等 ...... 类似这种观念 , <BR> ## 都不是三言两语就可以玩完的 , 所以就留待以後再说 . <BR> <BR> if [ -x /etc/rc.d/rc.inet1 ]; <BR> then <BR> /bin/hostname `cat /etc/HOSTNAME | cut -f1 -d .` <BR> /bin/sh /etc/rc.d/rc.inet1 <BR> /bin/sh /etc/rc.d/rc.inet2 <BR> else <BR> /sbin/hostname_notcp `cat /etc/HOSTNAME | cut -f1 -d .` <BR> /usr/sbin/syslogd <BR> /usr/sbin/klogd <BR> /usr/sbin/lpd <BR> fi <BR> <BR> <BR> ## 在某些资源独占的情况下 , 一些应用程式往往会制造出 lock 档 . 假如这些 <BR> ## lock 档在重新开机以後还是存在的话 , 那就很不好了 . 所以 , 下面就是在 <BR> ## 作这些删除 lock 档的动作 , 并把一些输出的讯息丢到 /dev/null 去 . <BR> ## 在上一期的内容中 , 我们就有提到 /dev/null 了 , 也有提到抑制讯息输出的 <BR> ## 方法 . 现在我们果然看到了一个实例 ...... <BR> <BR> /bin/rm -f /var/spool/locks/* /var/spool/uucp/LCK..* /tmp/.X*lock 1> /dev/null 2> /dev/null <BR> <BR> <BR> ## 假如你有玩 hunt 这个 game 的话 , 那在 /tmp 下会有一个 socket 型态的档案 <BR> ## 我们要把它删除之後才能开始另一个 game ...... <BR> <BR> if [ -r /tmp/hunt -o -r /tmp/hunt.stats ]; then <BR> echo "Removing your stale hunt sockets from /tmp..." <BR> /bin/rm -f /tmp/hunt* <BR> fi <BR> <BR> <BR> ## 设定 share library 的 link 及 cache . 这个指令只有 Superuser 才能使用 <BR> ## 的 , 它也相当的重要 . 万一你的 /etc/ld.so.cache 很不幸的 corrupt 了 , <BR> ## 那我们也可以利用这个指令来让它重新 link , 先删除 /etc/ld.so.cache , <BR> ## 再以 ldconfig -v 重新制造就可以了 . <BR> <BR> /sbin/ldconfig <BR> <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -