Table of Contents
Administering a Linux system at the lowest level is sometimes not an easy task. If it should be done manually, it requires a very experienced and knowledgeable person, willing to browse and edit very many configuration files. As a result there have been many efforts to create intelligent tools that provide rather automatic means to accomplish this challenging and (at the same time) tedious task.
One of these tools is YaST, the SUSE Linux™ installer. Being the result of a
rather long period of development, it is by now a very large and capable
system, well suited to install and administer a SUSE Linux™ system. While the
internal functionality of YaST is quite multifaceted and therefore not
exactly easy to understand, it should not be kept as a secret. Rather the
world shall be encouraged to make use of the mechanisms YaST can
provide.
This goal can be achieved because YaST is not a closed monolithic
system but has a high degree of modularity. In fact it consists largely
of modules that could as well be created by people not related to YaST
development. For example hardware vendors could provide a YaST module
for customizing specific system settings related to their particular
piece of hardware. From the user's point of view this would be much more
comfortable than editing configuration files by hand.
Of course this can't be done without some knowledge of the YaST
internal functionality. So this document tries to lighten things up by
advancing from the unsubtle connections in the beginning to more and more
detailed explanations towards the end. However, describing the
particularities of this matter in full detail would easily fill several
heavy books which in turn would contradict the goal of introductory
simplification. Furthermore some of these “details” are
subject to moderate change service, which would render
“static” documentation like this one outdated rather
quickly.
To alleviate these problems, this text very often refers to the
“official” YaST developers documentation that can be found
in /usr/share/doc/packages/yast2* (especially towards
the end). Aside from the references to be found in the following text,
this location provides very valuable information regarding the whole
YaST environment. To have access to these files the following packages
must be installed:
yast2-devel
yast2-core-devel
liby2util-devel
yast2-packagemanager-devel
![]() | Note |
|---|---|
This document is available in HTML and PDF. However, the primary target
format is HTML because of the many references to the |
This document is subdivided into the following chapters:
Introduction. A brief explanation of the intention and nature of this document.
YaST - The Big Picture.
This is a short depiction of the YaST installer and the YaST
environment as such. The architectural peculiarities of YaST are
explained as far as it is necessary to understand the elucidations
that follow thereafter.
The YaST Language - YCP.
This chapter is dedicated to the YaST language that constitutes
most of the high-level functionality of YaST. Sections covering
the basic language elements are accompanied by others that deal with
user interface creation and program structure.
SCR Details.
In this chapter the YaST System Configuration
Repository (SCR) is explained in some concise detail. It
shows how to access configuration data and hardware data from within
YaST modules in a consistent way.
YaST Modules.
Some explanations regarding the different types of
YaST modules as well as some rules for writing
them.
Appendix A. References.
Throughout this document there are numerous references to the YaST
developers documentation. To ease access to these links this appendix
is mostly a dense index of those references.