Automatische Installation

Supportdatenbank (cg_autoinstall)
Bezieht sich auf

SuSE Linux: Versionen bis einschließlich 7.3

Allgemeines

Dieses Dokument soll die automatisierte Installation von SuSE Linux mit YaST beschreiben. Zur automatisierten Installation sind eine speziell vorbereitete Boot-Diskette und ein Installationsmedium notwendig. Die Boot-Diskette kann dabei einfach aus der normalen Boot-Diskette von SuSE erstellt werden. Derzeit sind CDROM und NFS als Installationsmedium für die automatisierte Installation vorgesehen. Als Basis für die Erstellung des automatisierten Installationsmedium kann man die ganz normale CDs der SuSE-Distribution verwenden.

Automatisierte Boot-Diskette

Die automatisierte Boot-Diskette kann einfach aus der normalen Boot-Diskette erzeugt werden. Man kopiert das Image der normalen Boot-Diskette von der ersten CD auf eine Diskette.

dd if=/cdrom/disks/bootdisk of=/dev/fd0

Auf der Diskette sind dann folgende Dateien enthalten (Beispiel für SuSE Linux 6.4):

-rwxr-xr-x 1 root root 631335 Mar 31 17:29 initrd
-r-xr-xr-x 1 root root 8920 Mar 13 07:40 ldlinux.sys
-rwxr-xr-x 1 root root 816685 Mar 13 07:40 linux
-rwxr-xr-x 1 root root 2424 Mar 13 07:40 message
-rwxr-xr-x 1 root root 774 Mar 13 07:40 syslinux.cfg

Dabei muß die Datei linux durch einen Kernel ersetzt werden, der Support für die zu installierenden Festplatten enthälten. Wird ein SCSI-System installiert, dann muß der entsprechende SCSI-Controller fest in den Kernel einkompiliert sein. Soll die Installation über NFS erfolgen, so muß auch der Support für die verwendeten Netzwerkkarten einkompiliert sein. Soll mit derselben Boot-Diskette eine breitere Hardwarepalette installierbar sein, dann muß der Support für alle SCSI-Controller und Netzwerkkarten die potentiell vorhanden sein können im Kernel einkompiliert sein.

Seit SuSE 6.3 ist es möglich. auch mit dem normalen SuSE-Kernel automatische Installationen durchzuführen, indem man die zu ladenden Kernel-Module in der info-Datei angibt. Näheres dazu siehe Abschnitt Beschreibung der Steuerdatei dieser Installationsanleitung.

Die Datei syslinux.cfg enthält bei einer SuSE Linux 6.4 in der 2.Zeile folgendes:

append initrd=initrd rw ramdisk_size=65536

Um diese Diskette zu einer automatisierte Boot-Diskette zu machen ist in der zweiten Zeile zusätzlich linuxrc=auto einzutragen. Die zweite Zeile muß also folgendermaßen aussehen:

append initrd=initrd rw ramdisk_size=65536 linuxrc=auto

Der genaue Ablauf der automatisierten Installation wird dann durch die Datei /suse/setup/descr/info auf der Diskette gesteuert. Der Inhalt dieser Datei wird 4. Abschnitt genau beschrieben. Alternativ kann diese Datei auch direkt im Root-Verzeichnis der Diskette abgelegt werden.

Installationsmedium für automatisierte Installation

Derzeit ist eine automatische Installation über NFS oder über CDROM möglich.

Installation über NFS

Man kann eine automatisierte Installationsumgebung auf einen NFS-Server folgendermaßen erzeugen.

  1. Basisverzeichnis festlegen (z.B. /usr/AUTO)
    mkdir /usr/AUTO
    cd /usr/AUTO
    
  2. Kopieren der Daten auf den einzelnen CDROMs in das entsprechende Verzeichnis:
    CD einlegen
    mount /cdrom
    cd /cdrom 
    cp -axv . /usr/AUTO/
    cd -
    umount /cdrom
    
    Dies muß für alle 6 CDROMs wiederholt werden. Danach befindet sich unter /usr/AUTO/ ein Dateibaum von dem aus installiert werden kann. Beachten Sie bitte das Sie vor allem die versteckten (Punkt) Dateien aus dem root Verzeichnis der CDs benötigen. Mit obigem Kopierkommando wird sichergestellt daß diese mitkopiert werden.

Danach kann man von dem Verzeichnis /usr/AUTO eine NFS-Installation durchführen. Der genaue Ablauf der Installation wird durch die Datei /usr/AUTO/suse/setup/descr/info gesteuert. Diese Datei wird im 4. Abschnitt näher beschrieben.

Installation über CDROM

Eine automatisierte Installation über CDROM macht nur mit speziell für diesen Zweck gebrannten CDROMs Sinn. Im Prinzip kann der Baum einer NFS-Server-Installation einfach komplett auf CD gebrannt werden und man hat eine automatisierte Installations-CD.

Beschreibung der Steuerungsdatei /suse/setup/descr/info

In diesem Abschnitt werden die diversen Einträge in den Steuerungsdateien zur automatisierten Installation beschrieben. Es kann durchaus mehrere solche Steuerungsdateien geben. Zwei gibt es mindestens: eine auf der Boot-Diskette und eine auf dem Installationsmedium. Vom Format her sind die Dateien prinzipiell identisch. Wenn auch einige Einträge nur auf der Boot-Diskette sinnvoll sind (siehe 4.1). Werden in den Info-Dateien Pfadnamen angegeben, die sich auf das Installationsmedium selber beziehen, wird dafür der Platzhalter $I: angegeben. Dieser Pfad kann nicht fest angegeben werden, da YaST erst zur Laufzeit entscheidet, wohin das Installationsmedium während der Installation gemounted wird. Zusätzlich kann man so dieselben Info-Dateien für NFS- und CDROM-basierte automatisierte Installationen verwenden.

Spezifische Einträge nur für die Boot-Diskette

In der Datei /suse/setup/descr/info auf der Boot-Diskette sind unter anderem die Informationen enthalten, die Linuxrc braucht um Sprache und Tastatur einzustellen und Zugriff auf das Installationsmedium zu bekommen. Diese Einträge machen natürlich nur in der Info-Datei auf der Boot-Diskette Sinn. Im folgenden werden diese Einträge im einzelnen beschrieben.

Beispiel für eine Info-Datei zu Installation über NFS-Server:

Language: german # "german" oder "english"
Display: color # "color" oder "mono"
Keytable: de-lat1-nd # Keytable halt
Bootmode: Net # Beispiel fuer Netz-Installation
IP: 192.168.103.2
Netmask: 255.255.255.0
Gateway: 192.168.103.1
Server: 192.168.102.10
Serverdir: /usr/AUTO
Nameserver: 192.168.102.1
Netdevice: eth0
insmod aic7xxx
insmod ncr53c8xx
insmod rtl8139
insmod tulip
insmod 3c59x

Die Info-Datei auf der Boot-Diskette kann zusätzlich natürlich alle normalen Info-Datei Einträge enthalten. Die Bedeutung dieser Einträge wird in den folgenden Kapiteln erklärt.

Hierarchie der verschiedenen Steuerungsdateien

Da ja bei einer automatischen Installation mehrere info-Dateien zur Steuerung verwendet werden können und die meisten Einträge in jeder Info-Datei stehen können, soll hier erklärt werden, welcher Eintrag gilt falls sich die Einträge widersprechen.

Hierarchie ist in absteigender Reihenfolge:

  1. Info-Datei auf der Boot-Diskette
  2. Klassenspezifische Info-Dateien (näheres dazu Kapitel Klassenabhängige Installation)
  3. Info-Datei auf dem Installationsmedium

Ist also in mehreren Dateien exakt derselbe Eintrag vorhanden, dann gilt der Eintrag, aus der info-Datei, die in der obigen Hierarchie am weitesten oben steht. Man kann also im Notfall alle Einträge auf dem Installationsmedium durch Verwendung einer angepaßten Boot-Diskette disablen.

Einträge zur Steuerung von Partitionierung und Formatierung

In diesem Abschnitt werden die Einträge in der Info-Datei zusammengefaßt, die mit der Partitionierung und Formatierung des zu installierenden System zu tun haben.

Allgemeine Einträge zur Steuerung der Installation

Zusätzlich zu den Einträgen für die automatische Installation befinden sich in der info-Datei des Installationsmediums noch Einträge, die das zu installierende System selbst beschreiben. Sie werden vor allem beim Update eines Systems mit YaST benötigt und ausgewertet. Diese Einträge stehen nur in der info-Datei auf dem Installationsmedium und sollten nicht verändert werden.

Dies betrifft folgende Einträge:

ELF
MIN_YAST_VERSION
DIST_STRING
DIST_IDENT
MIN_DIST_VERSION
HAS_LIVE_CD
Einbinden kundenspezifischer Skripte und Pakete

Bei der automatisierten Installation ist es möglich Pakete zu installieren, die nicht Bestandteil der SuSE Linux Distribution sind. Diese Pakete kann der Kunden nach eigenen Bedürfnissen zusammenstellen und einfach in die automatisierte Installation integrieren. Ebenso ist es möglich kundenspezifische Skripte zu verschiedenen Zeitpunkten der Installation ausführen zu lassen.

Es gibt drei Zeitpunkte sowohl für die Installation von kundenspezifischen Skripten und Paketen:

  1. Vor der Installation des ersten Pakets der SuSE Distribution. Dies sind die mit den Schlüsselwörtern PRE_INSTALL bzw. PRE_SCRIPT angegebenen Einträgen in der Info-Datei.
  2. Nach der Installation aller Pakets der SuSE Distribution, die ohne einen Medienwechsel installiert werden können. Bei einer Installation von CDROM entspricht die allen Paketen von der ersten CD. Dies sind die mit den Schlüsselwörtern POST_INSTALL bzw. POST_SCRIPT angegebenen Einträgen in der Info-Datei.
  3. Nach der Installation des letzten Pakets der SuSE Distribution. Dies sind die mit den Schlüsselwörtern LAST_INSTALL bzw. LAST_SCRIPT angegebenen Einträgen in der Info-Datei. Die LAST-Einträge machen nur dann Sinn, wenn eine automatisierte Installation von mehreren CDROMs durchgeführt wird. Bei einer Installation über NFS oder von einer einzigen CDROM ist LAST funktional äquivalent mit POST und sollte daher nicht verwendet werden.

Die Pakete sollten im RPM-Format vorliegen. Aus Gründen der Rückwärtskompatibilität können auch tgz-Archive installiert werden. Da diese dann allerdings nicht in der RPM-Datenbank enthalten sind wird das nicht empfohlen.

Es können zu beiden Zeitpunkten beliebig viele Skripte gestartet werden. Die Skripte erhalten als ersten Parameter das Verzeichnis, in dem Sie stehen, dort kann man also auch Zusatzdateien ablegen, die in die Distribution kopiert werden sollen. Als zweiter Parameter wird PRE, POST oder LAST übergeben, je nachdem in welchem Abschnitt das Skript aufgerufen wurde. Die Skripte werden mit "sh -x" aufgerufen und alle Ausgaben werden nach /var/adm/inst-log/.log umgeleitet.

Klassenabhängige Installation

Es ist möglich, Rechnerklassen für die Installation festzulegen und für diese Rechnerklassen Abweichungen bzw. Erweiterungen von der Standardinstallation zu definieren. Für jede dieser Gruppen kann eine zusätzliche Info-Datei angegeben werden, in der abweichende Einstellungen hinterlegt sind, welche die Einträge in der zentralen Info-Datei überschreiben bzw. ergänzen. Der in der Klassendefinition angegebene Name wird um das Prefix info. ergänzt. Wird als in der Klassendefinition tex als Name der ergänzenden Info-Datei angegeben, wird die Datei info.tex im Verzeichnis suse/setup/descr auf dem Installationsmedium eingelesen.

Um die Zugehörigkeit zu einer Rechnerklasse zu bestimmen wird eine Liste von Rechnernamen und/oder IP-Adressen angegeben. Bei Rechnernamen kann dabei der '*' als Wildcard verwendet werden, bei IP-Adressen können Bereiche angegeben werden. Es ist also sowohl eine Angabe wie *.subnet.company.de als auch 192.168.102.20-40 möglich. In der Liste können mehrere Bereiche durch Kommata getrennt aneinandergehängt werden.

Ein Rechner kann durchaus in mehreren Klassen liegen, es werden dann die Info-Dateien der verschiedenen Klassen nacheinander eingelesen. Im allgemeinen macht die Definition von Rechnerklassen nur Sinn, wenn die IP-Adressen bei der Installation über einen bootp- oder DHCP-Server automatisch vergeben werden.

Beispieleintrag:

CLASS 192.168.102.1-20,192.168.103.100-110 tex
CLASS *.subnet.company.de x11

Stichwörter:
AUTOMATISCHE, INSTALLATION, YAST, AUTOINSTALL, UNBEAUFSICHTIGT

Kategorien: YaST

SDB-cg_autoinstall, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 26. May 2000
SuSE Linux AG - Zuletzt generiert: 10. Sep 2002 von cg (sdb_gen 1.40.0)