MosNis-Wikibook/AutoMosNis/ Installationsautomatisierung per Unattended

Aus Linupedia.org
Wechseln zu: Navigation, Suche
MosNis    WIKIBOOK   :    INSTALLATION,    KONFIGURATION,    AUTOMATISIERUNG   
MosNis: Intro - Installation - Sonstiges - Automatisierung(AutoMosNis)->:Autoyast - Kickstart - m23 - BSD-Derivate - Jumpstart - Unattended - Schlusswort



Dieser Artikel wird regelmäßig mit dem Artikel MosNis-Wikibook/AutoMosNis/ Installationsautomatisierung per Unattended des MosNis Projekt Wikis synchronisiert.
Die importierte Version des Artikels in der Linupedia (dem Linux-Club Wiki) unter MosNis-Wikibook/AutoMosNis/ Installationsautomatisierung per Unattended war zum unten vermerkten letzten Artikelsynchronisationszeitpunkt identisch mit dem im MosNis Projekt unter MosNis-Wikibook/AutoMosNis/ Installationsautomatisierung per Unattended zu findenden originalen Artikel. Der Artikel kann gerne überarbeitet werden. Wenn beide Artikel mittlerweie gravierende Differenzen aufweisen sollten, bitte eine Nachricht an TomcatMJ senden, damit die Synchronisation erneut initiiert wird.

Die letzte Synchronisation erfolgte am 14.01.2008 um 1942 Uhr..


MosNis-Wikibook/AutoMosNis/ Installationsautomatisierung per Unattended



Höhe=24px
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist.


Die Installation von Windows, hier entweder 2000 oder XP, teilt sich in drei Abschnitte, das Starten des zu installierenden Computers mittels BootCD oder Bootdisketten oder Neboot, die Beantwortung wesentlicher Fragen für die Windowsinstallation sowie eventuell die Auswahl zusätzlicher Software und zuletzt die automatisierte Installation gewünschter Software und die Einrichtung des Systems. Das Ganze basiert auf den Perlskripten von [unattended.sf.net]. Dort findet sich auch eine ausführliche, leider nur englischsprachige, Hilfe mit Beispielen. Da bei mir nur ältere Rechner zum Einsatz kamen, die größtenteils nicht per PXE booten können, habe ich mit der LinuxbootCD von unattended gearbeitet. Die hat gegenüber den DOS-Disketten bzw. der DOS-CD den Vorteil, daß die Hardwareunterstützung für Netzwerkchips besser und einfacher integriert ist.


Vorarbeiten

Wir benötigen einen lauffähigen DHCP-Server wie für den Rest von MosNis auch. Dazu kommt ein DNS-Server, der den Namen 'ntinstall' immer auf den Installationsserver auflöst. Ich habe das mit dem kleinen Server 'dnsmasq' mittels der Option

address=/ntinstall/AAA.BBB.CCC.DDD 

erledigt. Nun muß noch der DHCP-Server den DNS-Server bekanntmachen:

option domain-name-servers AAA.BBB.CCC.DDD;

Sollte man nur einen Windowsinstallationsserver aufsetzen wollen, kann man dnsmasq auch gleich als DHCP-Server betreiben. Unter openSuSE 10.2 funktioniert das bestens, unter Fedora Core 6 hatte ich Probleme mit den Besonderheiten von dnsmasq, die zu lösen zu lange gedauert hätte. Gehen müßte es aber eigentlich. Sodann erstellen wir eine Freigabe im Sambaserver mit Namen 'install':

[install]
# Beschreibung in der Netzwerkumgebung
  comment  = Unattended
# verhindert schreibende Zugriffe auf die Freigabe
  writable = no
# erlaubt mehrere gleichzeitige Zugriffe auf die Dateien
  locking  = no
# absoluter Pfad zum freigegebenen Verzeichnis
  path     = /samba/unattended/install
# erlaubt Gastzugriffe auf die Freigabe
  guest ok = yes

Zuletzt müssen wir unseren Sambaserver noch zum WINS-Server machen, da es einen Moment in der Windowsinstallation gibt, zu dem die Namensauflösung per NetBIOS stattfindet und nicht per DNS. Dazu tragen wir in die smb.conf folgende Zeile ein:

wins support = yes

In die dhcpd.conf:

option netbios-name-servers AAA.BBB.CCC.DDD;

In die /etc/hosts:

AAA.BBB.CCC.DDD          ntinstall

Dabei ist es unerheblich, ob die IP in der /etc/hosts schon vergeben ist, eine zweite Definition hat sich hier nicht als störend erwiesen. Nun besorgen wir uns die Pakete von unattended und entpacken die entsprechend der dortigen Anleitung. Unter /PFAD/install/scripts finden wir dann viele Batchdateien, von denen wir erst einmal alle löschen, die wir nicht benötigen. Weitere Batchfiles sind auf den unattended-Seiten verlinkt, findet man die benötigten dort nicht, muß man sie selber bauen. Dazu später mehr. Unter /PFAD/install/os legen wir nun zwei Verzeichnisse beliebigen Namens an, am schönsten, da kurz und prägnant, '200' und 'XP'. Dort hinein kopieren wir jeweils das 'i386' Verzeichnis von den Windowsscheiben. Jetzt sollten wir erst einmal alles haben, was wir benötigen.

Definitionen für unattended

Jetzt müssen wir definieren, wie die Windowsinstallation stattfinden soll. Dazu gibt es die Datei /PFAD/install/lib/unattend.txt. In dieser können beinahe beliebig viele Parameter vordefiniert werden. Als Anhaltspunkt die von mir verwandte:

; General user information
[UserData]
; Definiert den Namen des Anwenders
  FullName="admin"
; Definiert dessen Organisation
   OrgName="XYZ"
; Definiert den Namen des zu installierenden Rechner, hier auskommentiert, damit bei der Installation eine Abfrage danach kommt
;    ComputerName=lurinstall
; Lizenznummer von Windows XP
ProductKey=12345-67890-12345-67890-12345

[GuiUnattended]
   ; See <http://unattended.sourceforge.net/timezones.html>
; Definiert die Zeitzone des zu installiernden Rechners 
TimeZone=110
; überspringt die Regionenabfrage
OEMSkipRegional=1
; übersprint den Willkommensbildschirm
OemSkipWelcome=1
; Definiert das Administratorenpasswort
AdminPassword=XYZ

[Identification]
; Beitritt zu folgender Arbeitsgruppe
JoinWorkgroup=XYZ

[Shell]
; Use classic start menu
DefaultStartPanelOff=Yes
; Use classic visual style
DefaultThemesOff=Yes

[Unattended]
; ignoriert die Nichtsignierung von Treibern
DriverSigningPolicy=Ignore
UnattendMode=DefaultHide
; konvertiert das Dateisystem zu NTFS
FileSystem=ConvertNTFS
; erweitert dasselbe auf die gewünschte Größe
ExtendOemPartition=1
; unterdrückt die EULA-Annahmeabfrage
OemSkipEula=Yes
OemPreinstall=Yes
; Needed for XP - see <http://support.microsoft.com/?kbid=294801>.
UnattendSwitch=Yes

[Components]
; Install IIS by default
iis_common=Off
iis_inetmgr=Off
iis_www=Off
; Docs suggest iis_pwmgr only works on Win2k, but include it
; anyway
iis_pwmgr=Off
; Include docs
iis_doc=Off

[Data]
AutoPartition=1
MsDosInitiated="0"
UnattendedInstall=Yes

[Display]
BitsPerPel=32
Xresolution=1024
YResolution=768
Vrefresh=75

[LicenseFilePrintData]
AutoMode=PerServer
AutoUsers=5

[Networking]
InstallDefaultComponents=Yes

[NetOptionalComponents]
; Install Print Services for UNIX
; auskommentiert
;LPDSVC=1

[_meta]
;top=base.bat
; definiert den Zeitserver
ntp_servers="ntp1.fau.de"

Mit dem Suchbegriff 'unattend.txt' wird man auf der Microsoftheimatseite auch noch mehr mögliche Parameter finden, normalerweise genügen die Beispiele von [unattend.sf.net] aber. Für Windows 2000 habe ich keinen Produktschlüssel angegeben, da wir das hier nicht benötigen für die Unternehmensversion. Grundsätzlich gilt: Alles, was nicht in der unattend.txt definiert ist, wird während der Installation abgefragt, insbesondere eben Produktschlüssel, Rechnernamen, Adminpasswort...

zusätzliche Programme

Ein blankes Windows ist zum Arbeiten nur bedingt nutzbar, es müssen also noch Anwendungen her. Leider hat Windows aber keine Paketverwaltung, sondern jede Anbieterin von Software bäckt ihre eigenen Brötchen. Es gibt verschiedenste Formate, wie Software daherkommen kann: Als .msi, als Install Shield Wizard.... .msi-Routinen kann man normalerweise per

BEFEHL /?

eine Liste der Optionen entlocken. Wie das bei den anderen Installationsroutinen geht, falls die Anbieterin der Software dieses Feature ausnahmsweise einmal implementiert hat, ist auf der Heimatseite von unattended schön zusammengefaßt. Auf jeden Fall bietet es sich an, ein Testwindows herzunehmen und jedes einzelne Programm auszuprobieren, bis man die optimalen Optionen gefunden hat. So gibt es etwa bei InstallShield einen Schalter '/r', mit dem alle Eingaben in der Installationsmaske protokolliert werden in 'c:\windows\install.iss'. Kopiert man diese Datei in das Verzeichnis mit der 'setup.exe', so läuft mit dem Schalter '/s' die Installation danach unbeaufsichtigt genau so ab, wie man sie vorher aufgenommen hat. Ziel dieser ganzen Aktion ist dann jeweils ein eigenes Batchfile pro Programm, das den notwendigen Installationsbefehl inklusive Parametern enthält.

Fallstricke

Hier lauern aber auch einige Fallstricke. So gibt es etwa Installationsroutinen, die in einem selbstentpackenden ZIP-File stecken und denen man folglich keine Parameter mitgeben kann. Diese müssen erst entpackt werden und dann können der eigentlichen Routine Parameter mitgegeben werden. Als Beispiele seien hier Ghostscript, FreePDFXP, OpenOffice.org und der HP Install Network Printer Wizard. Eine weitere mögliche Gemeinheit sind abzunickende EULAs. Besonders lästig natürlich bei Kommandozeilentools, die eine grafische EULA darstellen, die auch nicht per Schalter zu unterdrücken ist. Wenn man Glück hat, dann gibt es eine Option '/accepteula' oder Ähnliches. Hat man wie z.B. bei Pagedefrag von Sysinternals, jetzt Microsoft, Pech, dann hilft nur, das Programm einmal auf einem Testwindows zu installieren, den Registrykey, der die EULA-Annahme bestätigt zu exportieren und ihn vor Installation des Programmes per 'regedit /s SCHLÜSSEL' in das neue System zu importieren.


Starten des Computers



MosNis: Intro - Installation - Sonstiges - Automatisierung(AutoMosNis)->:Autoyast - Kickstart - m23 - BSD-Derivate - Jumpstart - Unattended - Schlusswort



Zurück zur Hauptseite