8.3. System Configuration via /etc/sysconfig

The main configuration of SUSE Linux is controlled by the configuration files in /etc/sysconfig. The individual files in /etc/sysconfig are only read by the scripts to which they are relevant. This ensures that network settings, for example, only need to be parsed by network-related scripts. Many other system configuration files are generated according to the settings in /etc/sysconfig. This task is performed by SuSEconfig. For example, if you change the network configuration, SuSEconfig might make changes to the file /etc/host.conf as well, because this is one of the files relevant for the network configuration. This concept enables you to make basic changes to your configuration without needing to reboot the system.

There are two ways to edit the system configuration. Either use the YaST sysconfig Editor or edit the configuration files manually.

8.3.1. Changing the System Configuration Using the YaST sysconfig Editor

The YaST sysconfig editor provides an easy-to-use front-end to system configuration. Without any knowledge of the actual location of the configuration variable you need to change, you can just use the built-in search function of this module, change the value of the configuration variable as needed, and let YaST take care of applying these changes, updating configurations that depend on the values set in sysconfig and restarting services.

[Warning]Modifying /etc/sysconfig/* Files Can Damage Your Installation

Do not modify the /etc/sysconfig files if you lack previous experience and knowledge. It could do considerable damage to your system. The files in /etc/sysconfig include a short comment for each variable to explain what effect they actually have.

Figure 8.2. System Configuration Using the sysconfig Editor

System Configuration Using the sysconfig Editor

The YaST sysconfig dialog is split into three parts. The left part of the dialog shows a tree view of all configurable variables. When you select a variable, the right part displays both the current selection and the current setting of this variable. Below, a third window displays a short description of the variable's purpose, possible values, the default value, and the actual configuration file from which this variable originates. The dialog also provides information about which configuration script is executed after changing the variable and which new service is started as a result of the change. YaST prompts you to confirm your changes and informs you which scripts will be executed after you leave the dialog by selecting Finish. Also select the services and scripts to skip for now, so they are started later. YaST applies all changes automatically and restarts any services involved for your changes to take an effect.

8.3.2. Changing the System Configuration Manually

To manually change the system configuration, proceed as follows

  1. Become root.

  2. Bring the system into single user mode (runlevel 1) with init 1.

  3. Change the configuration files as needed with an editor of your choice.

    If you do not use YaST to change the configuration files in /etc/sysconfig, make sure that empty variable values are represented by two quotation marks (KEYTABLE="") and that values with blanks in them are enclosed in quotation marks. Values consisting of one word only do not need to be quoted.

  4. Execute SuSEconfig to make sure that the changes take effect.

  5. Bring your system back to the previous runlevel with a command like init default_runlevel. Replace default_runlevel with the default runlevel of the system. Choose 5 if you want to return to full multiuser with network and X or choose 3 if you prefer to work in full multiuser with network.

This procedure is mainly relevant when changing systemwide settings, such as the network configuration. Small changes should not require going into single user mode, but you may still do so to make absolutely sure that all the programs concerned are correctly restarted.

[Tip]Configuring Automated System Configuration

To disable the automated system configuration by SuSEconfig, set the variable ENABLE_SUSECONFIG in /etc/sysconfig/suseconfig to no. Do not disable SuSEconfig if you want to use the SUSE installation support. It is also possible to disable the autoconfiguration partially.