Table of Contents
YaST
has been invented to have an extensible and fairly standardized
means to install and manage SUSE Linux™ on a system. Basically YaST
serves
three main purposes:
Installation of SUSE Linux™ on a system
Configuration of the installed system
Administration of the installed system
To provide a solution to the resulting demands that has a lifetime
extensible well into the future this solution had to be flexible and
maintainable. Consequently some key concepts determined the design of
YaST
. In particular it was the strict separation of:
The user interface
The functional code doing the job
The data representing the current state of the system
Furthermore YaST
has some very specific attributes that make it
unique for the user as well as for those people who are developing it
or contributing to it. The following sections outline some of the
features of the YaST
installer that should be seen as a guiding line
for module development.
Managing a SUSE Linux™ system requires direct low-level access to the system
which generally means reading and writing configuration data. Of
course this could be done manually by a knowledgeable person using a
conventional editor. A more comfortable and in most cases safer way
is to use YaST
. Consequently YaST
must be able to handle this
configuration data on the system level. By handling the
original data YaST
activities take into
account manual editing that might also occur. Thus nobody is
forced to use YaST
exclusively for
configuration tasks.
In YaST
the access to system configuration data is realized by
means of a special component (or layer if you prefer), the
System Configuration Repository (SCR) (see below
and Access to the System (SCR in General)). The SCR component basically
consists of a number of so-called agents that
have been created to accomplish a specific kind of access. For
example there is an agent to run shell-commands and there is another
one that reads and writes ASCII-files of a specific format.
Additionally there are agents that provide access to the system
hardware e.g. by taking hold on the proc-file-system.
All these agents are gathered together under a common hood, the
SCR-API that can be used from within the YaST
-modules in a
consistent way. In summary the SCR provides kind of a
view on all kinds of data, either YaST2 internal
data, original system configuration files or hardware data.