Preface

Table of Contents

1. What's Inside
2. Style Conventions

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 introductional 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 “officialYaST 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:

[Note]Note

This document is available in HTML and PDF. However, the primary target format is HTML because of the many references to the YaST developers documentation. When viewed with a web browser these links are functional and provide easy access to the respective files. Unfortunately in the PDF format the links are not functional rendering this document not very useful when it comes to the details.

1. What's Inside

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.