8.3. 通过 /etc/sysconfig 配置系统

SUSE Linux 的主配置是由 /etc/sysconfig 中的配置文件控制的。只有与 /etc/sysconfig 中的各个文件相关的脚本才会读取它们。这样有很多好处,例如确保了网络设置只需要由与网络相关的脚本来分析。根据 /etc/sysconfig 中的设置生成了许多其它系统配置文件。此任务是由 SUSEconfig 执行的。例如,如果更改网络配置,SUSEconfig 也可能会更改文件 /etc/host.conf,因为它是与网络配置相关的文件之一。这一概念使您能够对配置进行基本更改,而无需重引导系统。

可以使用两种方法编辑系统配置。使用 YaST sysconfig 编辑器或手工编辑配置文件。

8.3.1. 使用 YaST sysconfig 编辑器更改系统配置

YaST sysconfig 编辑器为系统配置提供了一种使用方便的前端。无需了解需要更改的配置变量的实际位置,只需使用该模块的内置搜索功能,就可以根据需要更改配置变量的值,并使 YaST 负责应用这些更改以及根据 sysconfig 中设置的值更新配置和重新动服务。

[Warning]修改 /etc/sysconfig/* 文件可能会对您的安装造成损害

如果没有足够的经验和知识,切勿修改 /etc/sysconfig 文件。否则可能会对您的系统造成巨大损害。/etc/sysconfig 中的文件包含对每个变量的简短注释,解释了这些变量的实际作用。

图 8.2. 使用 sysconfig 编辑器进行系统配置

使用 sysconfig 编辑器进行系统配置

YaST sysconfig 对话框分为三个部分。对话框左边的部分显示了一个树视图,其中列出了所有可配置变量。当您选择某个变量时,右边的部分会显示当前选择和此变量的当前设置。在下部的第三个窗口中,简要说明了变量的用途、可能的值、默认值以及作为此变量来源的实际配置文件。此对话框还提供了有关更改变量后将执行哪些配置脚本,以及作为更改的结果将启动哪些新服务等信息。YaST 将提示您确认更改,并通知您在选择完成退出对话框后将执行哪些脚本。在这里还可以选择需要现在跳过而在以后启动的服务和脚本。YaST 将自动应用所有的更改并重启动涉及的所有服务以使更改生效。

8.3.2. 手工更改系统配置

要手工更改系统配置,请执行如下操作

  1. 成为 root 用户

  2. 使用 init 1 将系统转入单用户方式(运行级别 1)。

  3. 使用您选择的编辑器根据需要对配置文件进行更改。

    如果不使用 YaST 来更改 /etc/sysconfig 中的配置文件,则要确保将空变量值用两个引号表示 (KEYTABLE=""),并将含有空白的值用引号括起来。只包括一个单词的值不需要用引号括起来。

  4. 执行 SUSEconfig 来确保更改生效。

  5. 使用类似 init default_runlevel 的命令将系统返回到先前的运行级别。使用系统的默认运行级别替代 default_runlevel。如果想返回 有网络和 X 的完全多用户方式,请选择 5;如果希望在有网络的完全多用户方式下工作,请选择 3

这一过程主要用于更改整个系统范围的配置,例如网络配置。若要进行较小的更改,不一定要切换到单用户方式,但这样做可以完全确保正确重启动所有相关的程序。

[Tip]配置自动系统配置

要禁用 SUSEconfig 进行自动系统配置,请将 /etc/sysconfig/suseconfig 中的变量 ENABLE_SUSECONFIG 设置为 no。如果要使用 SUSE 安装支持,请不要禁用 SUSEconfig。也可以部分禁用自动配置。