AutoYaST

Automatic Linux Installation and Configuration with YaST2

SUSE Linux Products GmbH

Anas Nashif

Concepts, Development and Documentation

Uwe Gansert

Server Technologies
SuSE Linux Products GmbH

Table of Contents

1. Introduction
1.1. Availability
1.2. Motivation
1.3. Overview and Concept
2. The Control File
2.1. Introduction
2.2. Format
2.3. Structure
2.3.1. Resources and Properties
2.3.2. Nested Resources
2.3.3. Attributes
2.4. RELAX NG - a schema language for XML
2.4.1. Introduction
3. Creating A Control File
3.1. Collect information
3.2. Using the Configuration Management System
3.2.1. Creating a new Profile
3.2.2. Import of Legacy and Foreign Configuration Files
3.3. Creating/Editing a Control File Manually
3.4. Creating a Profile (control file) via Script with XSLT
4. Configuration and Installation Options
4.1. General Options
4.2. Reporting
4.3. The Boot loader
4.4. Partitioning
4.4.1. drive configuration
4.4.2. partition configuration
4.4.3. raid options
4.4.4. Automated Partitioning
4.4.5. Advanced Partitioning features
4.4.5.1. Wipe out partition table
4.4.5.2. Mount Options
4.4.5.3. Creating Primary and Extended Partitions
4.4.5.4. Keeping Specific Partitions
4.4.6. Using existing mount table (fstab)
4.4.7. Logical Volume Manager (LVM)
4.4.8. Enterprise Volume Management System (EVMS)
4.4.9. Software RAID
4.5. Software
4.5.1. Package Selections until SUSE Linux 10.1 (not SLES10)
4.5.2. Package Selections with patterns (SLES10 and SUSE Linux 10.2)
4.5.3. Custom Package Selections
4.5.4. Installing additional and customized Packages
4.5.5. Kernel packages
4.5.6. Removing automatically selected packages
4.5.7. Installing packages during stage 2
4.6. Services and Run-levels
4.7. Network configuration
4.7.1. Network devices, DNS and Routing.
4.7.2. Proxy
4.7.3. (X)Inetd
4.7.4. NIS
4.7.5. LDAP client
4.7.6. NFS Client and Server
4.7.7. NTP Client
4.8. Mail Configuration (Sendmail or Postfix)
4.9. Security settings
4.9.1. Password Settings Options
4.9.2. Boot Settings
4.9.3. Login Settings
4.9.4. New user settings (useradd settings)
4.10. Monitor and X11 Configuration
4.11. Users
4.12. Custom user scripts
4.12.1. Pre-Install Scripts
4.12.2. Chroot environment scripts
4.12.3. Post-Install Scripts
4.12.4. Init Scripts
4.12.5. Script example
4.13. System variables (Sysconfig)
4.14. Adding complete configurations
4.15. Miscellaneous hardware and system components
4.15.1. Printer
4.15.2. Sound devices
4.16. Ask the user for values during installation
5. Network Based Installation
5.1. Configuration Server
5.1.1. HTTP Repository
5.1.2. NFS Repository
5.1.3. TFTP Repository
6. Rules and Classes
6.1. Rule based auto-installation
6.1.1. Rules File explained
6.1.2. Custom Rules
6.1.3. Match Types for rules
6.1.4. Combine Attributes
6.1.5. Rules file structure
6.1.6. Predefined System Attributes
6.2. Classes
6.3. Mixing Rules and Classes
6.4. The merging process of Rules and Classes
7. The Auto-Installation Process
7.1. Introduction
7.1.1. X11 Interface
7.1.2. Serial console
7.1.3. Text based YaST2-Installation
7.2. Choosing the right Boot Medium
7.2.1. Booting from a floppy
7.2.2. Booting from CD-ROM
7.2.3. Booting via PXE over the network
7.3. Invoking the Auto-Installation process
7.3.1. Command line Options
7.3.2. Auto-installing a Single System
7.3.3. Combining linuxrc info file with YaST2 control file
7.4. System Configuration
7.4.1. Post-Install and System Configuration
7.4.2. System Customization
8. Legacy and foreign Configuration formats
8.1. Migration from YaST1 and ALICE
8.1.1. ALICE modules
8.1.2. Other configuration options with YaST2 and ALICE
8.2. Redhat Kickstart
8.2.1. Software selections and packages
8.2.2. User scripts
A. Handling Rules
B. Advanced Linuxrc Options
B.1. Passing parameters to Linuxrc
B.2. 'info' file format
B.3. Advanced Network Setup

List of Figures

1.1. Auto-installation process
3.1. Configuration System
3.2. Editing the control file with kxmledit
4.1. Keeping partitions
6.1. Rules
6.2. Defining Classes
A.1. Rules Retrieval Process

List of Tables

4.1.
4.2.
4.3.
4.4.
4.5.
4.6. pre script XML representation
4.7. chroot script XML representation
4.8. post script XML representation
4.9. init script XML representation
4.10. XML representation
4.11. XML representation
6.1. System Attributes
7.1. Keywords for linuxrc
7.2. Command line variables for AutoYaST
8.1. ALICE vs. YaST2 modules
B.1. Advanced linuxrc keywords

List of Examples

2.1. XML Control File (Profile)
2.2. Control file container
2.3. Nested Resources
2.4. Nested Resources with type attributes
3.1. Example file for replacing hostname/domain by script
4.1. General Options
4.2. Reporting Behavior
4.3. Bootloader configuration
4.4. Serial console configuration with GRUB
4.5. Bootloader configuration for PPC
4.6. Automated partitioning
4.7. Detailed automated partitioning
4.8. Mount Options
4.9. Advanced Automated partitioning
4.10. Creating custom extended partitions
4.11. Keeping partitions
4.12. Auto-detection of partitions to be kept.
4.13. Reading existing /etc/fstab
4.14. Create LVM Physical Volume
4.15. LVM Logical Volumes (New syntax)
4.16. EVMS Logical Volumes
4.17. RAID1 configuration
4.18. Package selection in control file
4.19. Package selection in control file with patterns
4.20. Customized Package selection
4.21. Package selection file
4.22. Creating package database
4.23. Package selection in control file
4.24. Package selection in control file
4.25. Run-level Configuration
4.26. Network configuration
4.27. Netwrok configuration: Proxy
4.28. Inetd Example
4.29. Network configuration: NIS
4.30. Network configuration: LDAP client
4.31. Network configuration: NFS client
4.32. Network configuration: NFS Server
4.33. Network configuration: NTP Client
4.34. Mail Configuration
4.35. Security configuration
4.36. X11 and Monitor configuration
4.37. User configuration
4.38. Post script configuration
4.39. Sysconfig Configuration
4.40. Dumping files into the installed system
4.41. Dumping files into the installed system
4.42. Printer configuration
4.43. Sound configuration
6.1. Simple rules file
6.2. Simple rules file
7.1. Determine HEX code for an IP address
7.2. Linxurc options in the control file