15.2. Configuration

Basically, two front-ends are available for configuring SCPM. The scpm package contains a command-line front-end. The YaST Profile Manager can be used for the graphical configuration. Because both front-ends have the same functionality and an understanding of the command-line front-end greatly enhances understanding of the YaST module, the following instructions mainly focus on the command-line front-end. Special features of the YaST module are addressed where relevant.

15.2.1. Starting SCPM and Defining Resource Groups

SCPM must be activated before use. Activate SCPM with scpm enable. When run for the first time, SCPM is initialized, which takes a few seconds. Deactivate SCPM with scpm disable at any time to prevent the unintentional switching of profiles. A subsequent reactivation simply resumes the initialization.

By default, SCPM handles network and printer settings as well as the X.Org configuration. To manage special services or configuration files, activate the respective resource groups. To list the predefined resource groups, use scpm list_groups. To see only the groups already activated, use scpm list_groups -a. Issue these commands as root on the command line.

scpm list_groups -a

nis                 Network Information Service client
mail                Mail subsystem
ntpd                Network Time Protocol daemon
xf86                X-Server settings
autofs              Automounter service
network             Basic network settings
printer             Printer settings

Activate or deactivate a group with scpm activate_group NAME or scpm deactivate_group NAME. Replace NAME with the relevant group name. All resource groups can also be configured with the YaST profile manager.

15.2.2. Creating and Managing Profiles

A profile named default already exists after SCPM has been activated. Get a list of all available profiles with scpm list. This only existing profile is also the active one, which can be verified with scpm active. The profile default is a basic configuration from which the other profiles are derived. For this reason, all settings that should be identical in all profiles should be made first. Then store these modifications in the active profile with scpm reload. The default profile can be copied and renamed as the basis for new profiles.

There are two possibilities to add a new profile. If the new profile (named work here) should be based on the profile default, create it with scpm copy default work. The command scpm switch work changes into the new profile, which can then be modified. You may want to modify the system configuration for special purposes and save the changes to a new profile. The command scpm add work creates a new profile by saving the current system configuration in the profile work and marking it as active. Running scpm reload then saves changes to the profile work.

Profiles can be renamed or deleted with the commands scpm rename x y and scpm delete z. For example, to rename work to project, enter scpm rename work project. To delete project, enter scpm delete project. The active profile cannot be deleted.

The YaST module only offers an Add button. Pressing it opens a dialog in which to select whether an existing profile should be copied or the current system configuration should be saved. Use Edit for renaming.

15.2.3. Switching Configuration Profiles

The command scpm switch work switches to another profile (the profile work, in this case). Switch to the active profile to include modified settings of the system configuration in the profile. This corresponds to the command scpm reload.

When switching profiles, SCPM first checks which resources of the active profile have been modified. It then queries whether the modification of each resource should be added to the active profile or dropped. If you prefer a separate listing of the resources (as in former versions of SCPM) use the switch command with the -r parameter: scpm switch -r work.

scpm switch -r work

Checking for modified resources 
Checking for Resources to be started/shut down 
Checking for dependencies 
Restoring profile default 

SCPM then compares the current system configuration with the profile to which to switch. In this phase, SCPM evaluates which system services need to be stopped or restarted due to mutual dependencies or to reflect the changes in configuration. This is like a partial system reboot that concerns only a small part of the system while the rest continues operating without change. It is only at this point that the system services are stopped, all modified resources, such as configuration files, are written, and the system services are restarted.

15.2.4. Advanced Profile Settings

You can enter a description for every profile that is displayed with scpm list. For the active profile, set it with scpm set description "text". Provide the name of the profile for inactive profiles, for instance, scpm set description "text" work. Sometimes it might be desirable to perform additional actions not provided by SCPM while switching profiles. Attach up to four executables for each profile. They are invoked at different stages of the switching process. These stages are referred to as:


prior to stopping services when leaving the profile


after stopping services when leaving the profile


prior to starting services when activating the profile


after starting services when activating the profiles

Insert these actions with the command set by entering scpm set prestop <filename>, scpm set poststop <filename>, scpm set prestart <filename>, or scpm set poststart <filename>. The scripts must be executable and refer to the correct interpreter.

[Warning]Integrating a Custom Script

Additional scripts to be executed by SCPM must be made readable and executable for the superuser (root). The access to these files must be blocked for all other users. Enter the commands chmod 700 <filename> and chown root:root <filename> to give root exclusive permissions to the files.

Query all additional settings entered with set with get. The command scpm get poststart, for instance, returns the name of the poststart call or simply nothing if nothing has been attached. Reset such settings by overwriting with "". The command scpm set prestop "" removes the attached prestop program.

All set and get commands can be applied to an arbitrary profile in the same manner as comments are added. For example, scpm get prestop <filename> work or scpm get prestop work.

15.2.5. Selecting a Profile When Booting the System

To select a profile when booting the system, press F4 during the boot screen to access a list of available profiles. Use the arrow keys to select a profile and confirm your selection with Enter. The selected profile is then used as a boot option.