本节描述红帽子LINUX在Boot和shutdown时的内部处理过程。我们先丛讨论 /etc/sysconfig下的文件开始。
11.9.1 有关Sysconfig的信息
以下内容将粗略的讲述一下目录/etc/sysconfg下的各种文件,它们的功能和内容。
11.9.1.1 /etc/sysconfig下面的文件
通常/etc/sysconfig目录下面会有以下几个文件:
/etc/sysconfig/clock
/etc/sysconfig/keyboard
/etc/sysconfig/mouse
/etc/sysconfig/network
/etc/sysconfig/pcmcia
/etc/sysconfig/amd
/etc/sysconfig/tape
让我们分别了解一下每个文件的内容。
/etc/sysconfig/clock
-- 文件/etc/sysconfig/clock控制从系统时钟读出数据的解释。红帽子LINUX早先的版本使用以下数值(它们已经过时):
CLOCKMODE=mode, 这里mode有以下各值:
GMT -- 表示时钟被设置为UTC。
ARC--仅用在ALPHA系列机器上,表示ARC主控的每四十二年时间偏移有效
而目前使用的数值如下:
UTC=boolean, 其中boolean取值为:
true--表示时钟被设置为UTC。任何其它值将表示时钟被设置为当地时间。
ARC=boolean, 其中boolean取值为:
true--(仅适用于基于Alpha的系统)表示ARC主控的每四十二年时间偏移有效;任何其它值表示使用UNIX通常的开元计时。
/etc/sysconfig/keyboard
-- 文件/etc/sysconfig/keyboard控制键盘的功能。可以使用以下数值:
KEYTABLE=file,这里file是定义键盘映射表的文件。例如:KEYTABLE=“/usr/lib/kbd/keytables/us.map
/etc/sysconfig/mouse
--文件/etc/sysconfig/mouse用以指定有关可用鼠标的信息,可使用以下数值:
MOUSETYPE=type, 这里type 使用下列之一:
microsoft --Microsoft鼠标
mouseman --MouseMan 鼠标
mousesystems -- Mouse Systems 鼠标
ps/2 -- PS/2 鼠标
msbm -- Microsoft总线鼠标
logibm -- Logitech总线鼠标
atibm -- ATI总线鼠标
logitech -- Logitech 鼠标
mmseries -- 老式的MouseMan鼠标
mmhittab -- mmhittab鼠标
XEMU3=emulation, 这里emulation取下列数值之一:
yes -- 仿真三键鼠标
no -- 三键鼠标
补充一句,文件/dev/mouse是指向真正鼠标设备的符号连接。
/etc/sysconfig/network
-- 该文件用以指定有关网络配置的信息。可以使用以下数值:
NETWORKING=answer, 这里answer取以下值:
yes -- 应当配置网络。
no -- 不要配置网络。
HOSTNAME=hostname, 这里hostname应当被设置为FQDN(完全域名),但可以为任何您想要的主机名。
请注意:为保证与用户以前已安装的软件的兼容性,文件/etc/HOSTNAME应当与这里设置的值相同。
FORWARD_IPV4=answer, 这里answer取以下各值:
yes -- 做IP包转发
no -- 不做IP包转发
(当前的红帽子LINUX在安装时默认设置为“no”(符合RFC规范),如果FORWARD_IPV4 不加以设置的话,系统将允许转发,以保持同红帽子LINUX4.2及其以前版本的兼容性。)
GATEWAY=gw-ip, 这里gw-ip设置为网关地址。
GATEWAYDEV=gw-dev, 这里gw-dev设置为网关设备(如:eth0)。
NISDOMAIN=dom-name, 这里dom-name设置为NIS域名。
/etc/sysconfig/pcmcia
--该文件用来指定PCMCIA配置信息。使用以下数值:
PCMCIA=answer, 这里answer取以下各值:
yes -- 支持PCMCIA设备。 no -- 无须支持PCMCIA设备?
PCIC=pcic-type, 这里pcip-type取以下各值:
i82365 -- 计算机拥有i82365类型的PCMCIA扩展槽芯片组。
tcic -- 计算机拥有tcic类型的PCMCIA扩展槽芯片组。
PCIC_OPTS=option, 这里option为插槽驱动程序(i82365或tcic)的时钟参数。
CORE_OPTS=option, 这里option为pcmcia_core的设置选项。
CARDMGR_OPTS=option, 这里option为PCMCIA cardmgr的选项。
/etc/sysconfig/amd
-- 该文件用以为amd指定操作参数。可以使用以下数值:
ADIR=path, 这里path指向amd目录。它应当是“/.automount”,通常不要改变。
MOUNTPTS=mountpts, 这里mountpts设置如:“/net /etc/amt.conf”
AMDOPTS=options, 这里options是针对AMD的附加设置。
/etc/sysconfig/tape
-- 该文件用以指定磁带相关的配置信息。可以使用下列信息:
DEV=devnam, 这里devnam为磁带设备文件(例如:“/dev/nst0”)。这里要使用无反卷设备。对于SCSI磁带来说是“/dev/nst#”,#表示磁带驱动器的代号,如果您只有一台,那么就使用“/dev/nst0”。对IDE磁带机来说您使用“/dev/ht#”,而#表示您要使用的磁带机的代号。如果您只有一台,那就用“/dev/ht0”。对于磁盘磁带设备就使用“/dev/ftape”。
ADMIN=account,这里account是用来在备份失败时向该用户发送邮件。通常设置为root。
SLEEP=time,这里time是指两个磁带操作之间的睡眠时间。有些驱动器需要的时间更长一些,但是设置为“5”好象对8mm,4mm和DLT磁带机都没问题。
BLOCKSIZE=size, 这里size是指磁带驱动器的最佳块大小。设置为“32768”对 8mm,4mm和DLT磁带机来说均能工作。最优的设置大概是磁带机一次可以写入的最大数据量。
SHORTDATE=date,这里date是指一个字符串,用以计算出简短的日期,被用在备份文件时的日志文件名中。其默认的设置为:“$(date +%y:%m:%d:%H:%M)”
DAY=date,这里date是指一个字符串,用以计算出日期,被用以作为日志文件目录。默认设置为:“$(date +log-%y:%m:%d)”
DATE=date, 这里date是指一个字符串,用以计算出日期,用于日志文件中。默认的设置为``$(date)‘‘。
LOGROOT=path, 这里path是指日志存放的根目录。
LIST=file,这里file是由增量备份用来存放增量清单的文件名。它后面缀以序号。
DOTCOUNT=count,这里count是指一个用作计数的文件名,用以决定增量备份时使用哪个增量清单。
COUNTER=count-file, 这里count-file被用于备份完成后的回卷(可能不用)。
BACKUPTAB=file, 这里是指我们要备份清单名。
11.9.1.2 Files in /etc/sysconfig/network-scripts/
/etc/sysconfig/network-scripts下通常存在以下文件:
/etc/sysconfig/network-scripts/ifup
/etc/sysconfig/network-scripts/ifdown
/etc/sysconfig/network-scripts/network-functions
/etc/sysconfig/network-scripts/ifcfg-
/etc/sysconfig/network-scripts/ifcfg--
/etc/sysconfig/network-scripts/chat-
/etc/sysconfig/network-scripts/dip-
/etc/sysconfig/network-scripts/ifup-post
/etc/sysconfig/network-scripts/ifdhcpc-done
让我们分别加以讨论。
/etc/sysconfig/network-scripts/ifup, /etc/sysconfig/network-scripts/ifdown
--它们是分别指向/sbin/ifup和/sbin/ifdown的符号连接,这是该目录下唯一可以直接调用执行的脚本,由这两个脚本来调用其它的脚本程序。这里的这两个符号连接仅为了一致才放在这里。它们可能从未来的版本中删去,因此当前应当仅使用/sbin/ifup,/sbin/ifdown 命令。它们需要使用一个命令行参数:设备的名称(如:eth0)。它们在boot时还指定第二个参数“boot“,这样可以忽略被设置成无需在boot时激活的的设备(ONBOOT=no)。
/etc/sysconfig/network-scripts/network-functions
--这并不是一个真正公开的命令文件。它包括了用于激活和关停接口设备的脚本函数。特别的,其中大多数代码被用来处理第二种接口配置和以网络报告的形式进行接口配置变化通知。
/etc/sysconfig/network-scripts/ifcfg-, /etc/sysconfig/network-scripts/ifcfg--
--第一个文件定义了一接口信息,第二个文件用以定义与一个“克隆”(也就是第二可用的)接口配置不同的信息。举个例子,除了网络号不同外,也许别的都一样,于是“克隆”的文件中只包含有网络号,而所有的设备信息都被放在基本的ifcfg 文件中。
ifcfg文件中可以定义的条目与接口类型有关。
以下各值常见于所有的基本配置文件中:
DEVICE=name,这里name是物理设备的名字(动态分配的PPP设备应当除外,它的名字是“逻辑名”。
IPADDR=addr, 这里addr是IP地址。
NETMASK=mask, 这里mask是网络掩码。
NETWORK=addr, 这里addr是网络地址。
BROADCAST=addr, 这里addr是广播地址。
GATEWAY=addr, 这里addr是网关地址。
ONBOOT=answer, 这里answer取下列值之一:
yes -- 该设备将在boot时被激活。
no -- 该设备不在boot时激活。
USERCTL=answer, 这里answer取下列值之一:
yes --非root用户可以控制该设备。
no -- 非root用户不允许控制该设备。
BOOTPROTO=proto, 这里proto取下列值之一:
none -- 不使用boot时协议。
bootp -- 使用bootp协议。
dhcp --使用dhcp协议。
以下是所有PPP和SLIP文件所使用的数值:
PERSIST=answer, 这里answer取下列值之一:
yes --该设备将一直维持激活态,即便是modem被挂断而导致非激活态。
no -- 该设备不一直维持激活态。
MODEMPORT=port, 这里port是modem端口的设备名称(如“/dev/modem”)。
LINESPEED=baud, baud是modem的线速率(例如,“115200“)。
DEFABORT=answer, 这里answer取下列值之一:
yes -- 在创建或编辑该接口的脚本时插入默认的终止字符串。
no -- 在创建或编辑该接口的脚本时不要插入默认的终止字符串。
以下数值适用于所有的PPP文件:
DEFROUTE=answer, 这里answer取下列值之一:
yes -- 将该接口设置为默认路由。
no -- 不要将该接口设置为默认路由。
ESCAPECHARS=answer, 这里answer取下列值之一:
yes -- 使用预定义的asyncmap。
no -- 不要使用预定义的asyncmap。
(这里代表了一种简化的接口;它不让用户指定使用escape字符。然而,几乎任何情况下都可以使用一个00000000的asyncmap,而且如果需要的话,可以通过设置 PPPOPTIONS来使用任意的asyncmap.)
HARDFLOWCTL=answer, 这里answer取下列值之一:
yes -- 使用硬件流控制。
no -- 不使用硬件流控制。
PPPOPTIONS=options,这里options是任意的选项字符串。它被放置在命令行的末尾,以覆盖前面的选项(如asyncmap)。
PAPNAME=name,这里name是pppd命令行中“name $PAPNAME”的一部分。
注意选项“remotename”总是指定为逻辑ppp设备名,如“ppp0”(如果先前有其它ppp设备被激活的话,这就可能是物理设备ppp1)这样做便于管理pap/chap 文件--name/passwd对与逻辑ppp设备名关联,因此它们可以被一起管理。理论上说,为逻辑PPP设备起除“ppp0”--“pppN”之外的如“worldnet”或”myISP“ 的名字是可行的。
REMIP=addr, 这里addr设置为远端的ip地址(通常不加以指定)
MTU=value, 这里value是MTU的数值。
MRU=value, 这里value设置为MRU的值。
DISCONNECTTIMEOUT=value,这里value表示当一个成功的连接被终止后要等多少秒后再进行连接。
RETRYTIMEOUT=value, 这里value指企图连接失败后要等多少秒之后以进行下一次连接。
/etc/sysconfig/network-scripts/chat-
-- 该文件是建立PPP或SLIP连接的chat脚本。对于SLIP设备,要据chat脚本写出一个DIP 脚本,而对于PPP设备chat脚本将被直接使用。
/etc/sysconfig/network-scripts/dip-
--这个只写的脚本是由netcfg从chat脚本建立的。请不要改动这个文件。在未来的版本中该文件将消失,代之以“运行时构造”于chat的脚本。
/etc/sysconfig/network-scripts/ifup-post