最新消息:

linux启动脚本详解(二)不同版本系统的启动脚本

Linux运维 大步 951浏览 0评论

接上面一篇:linux的启动脚本详解(一),以下都摘自《Linux系统管理技术手册(第二版)》,由于书是04年出版的,所以可能描述的与现在的系统版本有些不同,但思路值得我们深入。

linux因为开源,所以版本众多,版本多就容易乱,这也是linux一个软肋。

linux 启动脚本 sysconfig  系统 详解

Red Hat 和 Fedora 、的启动脚本 (Centos属于redhat的分支,这里就直接当做redhat谈)在每个运行级上,init都把新运行级作为参数来调用/etc/rc.d/rc。/etc/rc.d/rc一般运行在“正常”模式下,在这种模式下,它只做它自己的事情。它也可以运行在“确认”模式下,在这种模式下,它在运行每个单独的启动脚本以前询问用户。

red hat 和fedora有一个chkconfig命令来帮助用户管理服务。这条命令可以再系统中增删启动脚本,也可以管理这些脚本的执行的运行级,还能列出一个脚本目前为那些运行级做了配置。参考 man chkconfig ,来查看这个工具的用法。linux 启动脚本 sysconfig  系统 详解

red hat 还有一个rc.local 脚本,和在BSD系统上看到的非常类似。rc.local是作为启动过程的一部分而运行的最后一个脚本。以前initscripts这个软件包会覆盖rc.local的内容。不过现在已经不这样,向rc.local中添加用户自己定制的启动内容也很安全。下面我用centos的rc.local来看:
 #!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

里面的英文注释大家都看的懂,在系统启动到最后,创建一个local文件

书中原文例子:

D)P2MJ[K(60U8PI$Z)$3CPN

交互式启动模式和单用户模式在引导过程中的起点是相同的。当启动过程被中断而使得用户不够安全地达到这个启动时,就可以使用应应急软盘或光盘引导。

说中书可以用lilo传递init=/bin/sh,用技巧让它在init启动以前运行一个单用户模式的shell。但是同时,必须手动完成全部启动的工作,包括用手工fsck命令检查本地文件系统以及安装他们。我估计grub应该也是可以完成这个工作的。

red hat 引导过程的大多数配置应该通过操作/etc/sysconfig中的配置文件来完成。下面总结了/etc/sysconfig目录中各项的功能。书中例子比较简单,我找了另外一个红帽子企业版来举例,我自己本身是centos。其实差不了太多,有不同,可能是没有安装对应的服务罢了。在此只对这些配置文件进行一般程度的说明,如果要看它们的完整内容,请查看其手册页。(一般都这么长,要是完整的就更无语了)

1/etc/sysconfig/amd

      此文件的内容是为启用amd守护进程提供它的各种参数,这些参数允许此进程自动挂载或卸载文件系统。

2/etc/sysconfig/apmd

  高级电源管理所使用的配置文件。

3/etc/sysconfig/arpwatch

     此文件为arpwatch守护进程的配置文件,在系统启动时arpwatch守护进程会使用此文件中的某些区段。arpwatch进程主要用来维护一张MAC地址与IP地址的对应表。

4/etc/sysconfig/authconfig

  此文件中的内容为主机在进行认证时使用。在此文件中可能有如下所示的配置项:

  USEMD5=<value><value>可以是如下值中的一个:

   yes-使用MD5方式认证;

   no-不使用MD5方式认证。

  USEKERBEROS=<value>:<value>可以是如下值中的一个:

   yes-使用kerberos认证

   no-不使用kerberos认证

  USELDAPAUTH=<value>:<value>可以是如下值中的一个:

   yes-使用LDAP认证

   no-不使用LDAP认证

5/etc/sysconfig/autofs

     此文件用来定义自动挂载设备时使用的选项,包括NFS文件系统、CDROMSDISKTTES或其它媒体,文件内容如下所列:

 LOCALOPTIONS"<value>":<value>为字符串格式,用来定义自动挂载规则,缺省为空。

 DAEMONOPTIONS"<value>":<value>值用来设置卸载设备前的时间长度(以秒为单位),缺省为60S

 UNDERSCORETODOT=<value>:<value>为二进制会下值,用来控制是否将下载线转换为点,例如:auto_home转换为auto.home,缺省为1,即允许。

 DISABLE_DIRECT<value><value>值为二进制,用来设置是否可以禁止直接连接支持,缺省为1,即允许。

6/etc/sysconfig/clock

  此文件用来控制解释从系统硬件时钟读取的值,其下确值如下:

 UTC<value>:<value>可以是下列值中的一个:

  trueyes-硬件时钟设为universal格式

  falseno-硬件时钟为本地时间

ARC<value>:<value>为下列值:

 trueyes-设置为此值时硬件时钟只用于HRCHLPHABIOS系统

 falseno-设置为此值时硬件时钟只用于unix系统

SRM<value>:<value>为下列值:

 yestrue-设置为此值时系统时间从1900年开始,此值只有于SRm-based ALPHA系统

 nofalse-设置为此值是为普通UNIX使用

ZONE=<filename>:<filename>/usr/share/zoneinfo下的时区文件,如 zone="america/newyork"

7/etc/sysconfig/desktop

  当使用运行级别5时,此文件为新用户指定桌面和运行显示管理器。其内容可能如下所示:

 DESKTOP"<value>":<value>可以为下列值之一:

  GNOME-使用GNOME桌面环境

  KDE-使用KDE桌面环境

 DISPLAYANAGER"<value>":<value>可以为以下值之一:

  GNOME-使用GNOME显示管理器

  KDE-使用KDE显示管理器

  XDM-使用XDM显示管理器

8/etc/sysconfig/devlabel

   此文件为设备标签配置文件,不必通过手工编辑设置,可以使用/sbin/devlabel命令来修改其中指定项的值来设置此文件。

9/etc/sysconfig/dhcpd

    此文件内容提供一些区段给dhcpd守护进程在系统引导时使用,dhcpd守护进程使用DHCPBOOTP协议为主机自动分配IP地址。更详细的说明请参考dhcpd的帮助页。

10/etc/sysconfig/exim

 此文件允许发送信息给一个或多个客户,如果网络需要可以路由此信息。其内容如下:

  DAEMON=<value>:<value>可为下列值中的一个:

   yes-exim将配置监听25端口进来的信息

   no-exim不监听25端口

  QUEUE1h 定义发送时间间隔

11/etc/sysconfig/firstboot

     此文件为firstboot守护进程的配置文件。

12/etc/sysconfig/gpm

     此文件通过其内容中的一些段提供给gpm守护进程在系统引导时使用。gpm进程为鼠标服务,此文件内容包括一些与鼠标相关的如鼠标键数、接口信息等。

13/etc/sysconfig/harddisks

     此文件中的内容为系统中已安装的硬盘的参数。其内容如下所列:

 USE_DMA=1:设置硬盘是否使用DMA,值为1使用,0不使用。

 MULTIPLE_IO=16:当此项设置值为16时,允许每一次I/O中断读取多个扇区。设置此值可以减少30%50%的系统开销,但要小心使用此项,缺省为禁止。

 EIDE_32BIT3:设置此项值为3时找开(EIDE32I/0支持,缺省禁止。

 LOOKAHEAD1:设置此项为1时允许驱动read-lookahead方式工作,缺省禁止。

 EXTRA_PARAMSSPECIFITS:指定EXTRA的参数,缺省为无(没有参数)。

14/etc/sysconfig/hwconf

     此文件内容列出系统中所有KUDZU检测出来的硬件列表,此文件不应手动编辑,如果对此文件中的内容进行了改变,相应设备就会立即增加或删除。

15/etc/sysconfig/i18n

     此文件内容用来设置缺省语言、其它支持的语言和缺省的系统字体,例如:

 LANG="en_us,UTF-8"

  SUPPORTED="en_us,UTF-8!en_us:en"

  SYSFONT="latareycreb-sun16"

16/etc/sysconfig/init

     此文件中的内容用来在系统引导期间控制显示和其它功能。它的内容可以为以下所示:

 BOOTUP=<value>:<value>可以为以下值之一:

  color-设置为此值时,当设备初始化成功或失败时显示不同的颜色。

  verbise-设置为此值时为一种旧的显示样式,提供一些信息比如成功或失败的信息

 RES_COL=<value>:<value>的内容为以数字方式表示的屏幕显示的信息的列数,缺省为60

 MOVE_TO_COL=<value>:<value>设置的值为移动光标时移动的列数。

 ECHO_EN:此命令设定通过用echo -en命令光标移动的行数。

 SETCOLOR_SUCCESS=<value>:<value>设置的值用来设定echo -en命令成功时显示的颜色,缺省为绿色。

 SETCOLOR_TAILURE<value>:<value>设置的值用来设定echo -en命令错误时显示的颜色,缺省为红色。

 SETCOLOR_WARNING<value>:<value>设置的值用来设定echo -en命令警告时的颜色,缺省为黄色。

 SETCOLOR_NORMAL<value>:<value>设置的会下用来设定echo -en命令一般模式时的颜色为“NORMAL”

 LOGLEVEL=<value>:<value>设置内核初始化日志记录层次,缺省为3,设置为8时设置记录所有方面的日志信息,包括debugging信息,设置为1时只记录kernel panics信息,syslogd守护进程在启动时会读取此文件。

 PROMPT<value>:<value>为下列值中之一:

  yes-设置为此值时允许通过按键来进行交互模式显示启动

  no-设置为此值时不允许通过按键来进行交互

17/etc/sysconfig/ip6tables-config

此文件中保存的内容用来给内核在ip6tables服务启动或设置IPV6过滤规则时使用。不要直接编辑此文件中的内容,除非非常熟悉ip6tables的结构和规则。规则可以通过使用/sbin/ip6tables命令来创建,并保存规则到/etc/sysconfig/ip6tables文件中,保存规则使用此命令:service ip6tables save

一旦保存了所有的规则到/etc/sysconfig/ip6tables文件中,那么当ip6tables服务启动或系统启动时就会通过读取此文件中的规则来设置系统IPV6防火墙。

18/etc/sysconfig/iptables-config

  此文件中保存的内容用来给内核在iptables服务启动或设置IPV4过滤规则时使用。不要直接编辑此文件中的内容,除非非常熟悉iptables的结构和规则。规则可以通过使用/sbin/iptables命令来创建,并保存规则到/etc/sysconfig/iptables文件中,保存规则使用此命令:service iptables save 

一旦保存了所有的规则到/etc/sysconfig/iptables文件中,那么当iptables服务启动或系统启动时就会通过读取此文件中的规则来设置系统IPV4防火墙。

SUSE的启动脚本
书上说suse的启动脚本比red hat要规范,我也不是清楚,因为我就执掌过suse一次,还是因为看了suse的画面的够华丽,但是它体积太大了。

suse和red hat  、fedora都把他们的引导配置文件放到了/etc/sysconfig目录下,但是在这个目录下的具体文件则大有不同。通过设这shell的环境变量就能调用配置选项,而接下来/etc/init.d里的脚本会访问这些变量。有些子目录系统需要更多的配置,那些需要多个配置文件的子系统有专门的子目录。比如:sysconfig/networtk目录。

linux 启动脚本 sysconfig  系统 详解

 

 

 

linux 启动脚本 sysconfig  系统 详解

 

 

 

 

linux 启动脚本 sysconfig  系统 详解

 

转载请注明:大步's Blog » linux启动脚本详解(二)不同版本系统的启动脚本

SiteMap