Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Kickstartscript - Hostname mitgeben

Frage Linux RedHat, CentOS, Fedora

Mitglied: Hans87

Hans87 (Level 1) - Jetzt verbinden

07.01.2014 um 09:06 Uhr, 3230 Aufrufe, 8 Kommentare, 2 Danke

Hallo,

ich möchte RedHat per kickstartscript installieren, den Hostnamen aber variabel halten.

gibt es eine Möglichkeit diesen bei Aufruf des Scripts mitzugeben?

Finde dazu leider nichts.


Mitglied: certifiedit.net
07.01.2014 um 10:50 Uhr
Hallo Hans,

normalerweise kannst du an jedes Skript einen Parameter eintragen. Hierbei kommt es darauf an, was es für ein Skript ist. Parameterübergabe sollte aber zum Ziel führen.

Beste Grüße,

Christian
Bitte warten ..
Mitglied: Hans87
07.01.2014 um 11:01 Uhr
Hallo,

danke für deine Hilfe,

heißt wenn ich das skript aufrufe einfach ein "--hostname=test1" dranhängen?


Gruß


Hans
Bitte warten ..
Mitglied: certifiedit.net
07.01.2014 um 11:11 Uhr
wenn das skript darauf vorbereitet wurde, ja. Je nachdem musst du darin noch diese Übergabe definieren.
Bitte warten ..
Mitglied: quin83
07.01.2014, aktualisiert um 19:50 Uhr
Hallo,


1. Die "einfache" Lösung für wenige Systeme:

Du kannst den Anaconda Installer mit Kernel-Optionen booten.
Also <Kernel> ... initrd=<Pfad zur initrd> ks=<Pfad zum kickstart File> ip=<ip>::<gateway>:<netmask>:<hostname>:<interface>:<autoconf>
Details siehe http://wwoods.fedorapeople.org/doc/boot-options.html#network
Das musst du halt bei jedem Boot dann im Bootloader ausfüllen.


2. Die "elegantere" Lösung für hunderte Systeme:

Du schreibst im Kickstart File einen Python Codeblock, welcher mittels %pre als Pre-Install Script ausgeführt wird.

Dieser Codeblock macht folgendes:
- Lokale MAC-Adresse auslesen
- Von einem Webserver eine Liste abholen
- In der Liste den Eintrag zur eigenen MAC-Adresse finden
- Konfiguration aus dieser Liste holen (IP, Hostname, etc.)
- Diese Informationen aus der Liste in korrekter Syntax in eine 2te Kickstart Datei (z.B. /tmp/kickstart.network.ks) schreiben

Dann schreibst du im anderem Kickstart-File nur noch:
%include /tmp/kickstart.network.ks

Damit kannst du dann alles in einer zentralen Liste auf einem Server pflegen.
Wir erstellen halt auch noch eine /tmp/kickstart.software.ks und /tmp/kickstart.partitions.ks), das ist ganz nett wenn alles zentral liegt.


Grüße,

Daniel
Bitte warten ..
Mitglied: Hans87
09.01.2014 um 14:00 Uhr
Hallo Daniel,

zunächst danke.

ich verstehe allerdings nicht, wie ich den Anaconda installer mit optionen boote...
Bitte warten ..
Mitglied: quin83
09.01.2014 um 21:29 Uhr
Hallo,

ich verstehe allerdings nicht, wie ich den Anaconda installer mit optionen boote...

Im Prinzip ist der Kernel auf der Installations-CD ein normaler, kleiner Linux Kernel, welcher am Ende des Boot-Vorgangs den Anaconda startet.
Folglich akzeptiert er beim Boot-Vorgang Parameter aus dem Boot-Loader.

Ich gehe davon aus, dass du von einem Installations-Medium bootest.
Das erste was du siehst ist der Boot-Loader mit "Welcome to Red Hat Enterprise 6.4!".
Dort hast du dann mehrere Optionen. Du verwendest wohl die erste "Install or Upgrade an existing system".

Wenn du hier nicht Enter sondern Tab drückst, gelangst du in eine Shell und kannst die Optionen ändern.

Bei der Installation steht "vmlinuz initrd=initrd.img".
vmlinuz ist dabei der Dateiname des Kernels auf der CD.
Das erste Argument teilt dem Kernel mit, dass er die initiale Ramdisk mit den Treibern aus der Datei initrd.img holen soll.
Und hier kannst du nun weitere Dinge angeben.

Bei mir sieht das etwa so aus:
vmlinuz initrd=initrd.img ip=dhcp ks=http://webserver-0815.example.com/rhel64.ks nousbstorage text

ip=dhcp - Das System soll bitte erst mal DHCP machen, die IP wird später über das Kickstart-File gesetzt
ks=<URL> - Hier soll der Anaconda das Kickstart-File runterladen, welches er dann verwendet
text - Installation ohne bunte Bilder, wir sind ja nicht unter Windows ;) Diese Option könnte man auch direkt ins Kickstart File schreiben.

Eine Anleitung mit Bildern findest du hier:
https://access.redhat.com/site/articles/507303
Dieses Thema ist dort "Step 4".

Grüße,

Daniel
Bitte warten ..
Mitglied: Hans87
10.01.2014 um 11:17 Uhr
aber ich kann wenn ich tab gedrückt habe unten in der Zeile nicht am Ende eingeben (also nach dem ks=http://........../rhel64.ks) hostname=testname ....

oder?

die maschine hat dann nämlich als name dhcp-ipadresse...

auch mit einem %pre skript im Kickstart skript komme ich nicht ans ziel... dieses sieht so aus:

%pre
#!/bin/bash

###Hostname
exec < /dev/tty6 > /dev/tty6
chvt 6
clear
echo ""
echo "# One short question! #"
echo ""
echo -n "Please enter the hostname for this machine (hostname): "
read hostn
hostname $hostn
echo -e "NETWORKING=yes\nHOSTNAME=$hostn" > /etc/sysconfig/network
echo "You have selected $hostn. Press enter to continue or ctrl alt del to restart"
read
###Go back to tty1##
exec < /dev/tty1 > /dev/tty1
chvt 1
%end


und oben im kickstartscript bei network habe ich dann folgendes stehen:

network --hostname=${hostn}


die fertige Maschine heißt dann allerdings ${hostn}


kann mir das einer erklären bzw sagen was ich da falsch mache?
Bitte warten ..
Mitglied: quin83
10.01.2014, aktualisiert um 20:45 Uhr
Hallo,

ich glaube wir reden leicht an einander vorbei.

Man muss zwischen 2 Konfigurationen unterscheiden:

1. Anaconda
Anaconda besteht aus 2 Teilen:
- Anaconda Stage 1: Das ist der Installations-Kernel und die Treiber-Geschichte. Stage 1 prüft noch das Medium und konfiguriert das Netzwerk, dann ist Stage 2 dran.
- Anaconda Stage 2: Das ist der eigentliche Installer, welcher die Installation durchführt.

Wenn du nun Anaconda Stage 1 bootest, wird dort das Netzwerk konfiguiert.
Es kann ja sein, dass du deine Installationsquelle (Stage 2) nicht auf dem Medium, sondern auf einem HTTP / NFS / FTP Server liegen hast.
Oder auch das Kickstart-File, welches du angegeben hast. Dafür muss das Netzwerk verfügbar sein, damit das abgerufen werden kann.

=> Die Netzwerk-Konfiguration, welche im Anaconda aktiv ist, kann über die Kernel-Optionen beim Boot beeinflusst werden.
=> Diese Netzwerk-Konfiguration kann eine vollständig andere sein, als später im installierten System aktiv ist.


2. Das Installierte System
Bei der Installation werden die Einstellungen aus dem Kickstart-File verwendet.
(Ich bin mir nicht sicher, aber ich glaube wenn man dort nichts konfiguriert, wird die Konfiguration von Anaconda Stage 1 übernommen.)
Folglich musst du für dein Szenario im Kickstart-File einen Eintrag für den Hostnamen haben.


Ich mache das z.B. so, dass das System bootet und erst mal per DHCP im Netzwerk hängt. (Weg des geringsten Widerstands)
Dann wird von einem Webserver das Kickstart-File abgeholt und das %pre Script ausgeführt.
Damit liegen dann die Infos für das Zielsystem vor (Hostname, statische IP, Partitioniertung, Installationsumfang), welche vom %pre Script in ein endgültiges, 2tes, 3tes und 4tes Kickstart-File geschrieben werden.
Diese neuen Kickstart-Files werden dann per %include eingebunden. Dann startet die Installation.


Zu deinen Fragen:

echo -n "Please enter the hostname for this machine (hostname): "
read hostn
hostname $hostn
echo -e "NETWORKING=yes\nHOSTNAME=$hostn" > /etc/sysconfig/network

Alles schön und gut, aber damit konfigurierst du die Laufzeitumgebung des bereits gestarteten Anaconda.
Nach dem Reboot geht diese Einstellung einfach nur verloren.

network --hostname=${hostn}
Ein Kickstart File ist kein Shell-Script, daher werden Variablen nicht unterstützt.


Vorschlag 1:

Im Script:
echo -n "Please enter the hostname for this machine (hostname): "
read hostn
echo "network --hostname=${hostn}" > /tmp/kickstart-hostname.ks

und dann
%include /tmp/kickstart-hostname.ks

Ich bin mir hier jetzt aber nicht sicher, ob --hostname=xyz als einziger Parameter funktioniert, oder ob "network" die gesamte Konfiguration "--ip", "--gateway", etc. in einer Zeile erwartet.
Müsste man testen.


Vorschlag 2:

Da das Kickstart-File nur ein simples Text-File ist, könnte es auch mit PHP auf einem Webserver erzeugt werden.
Du legst dir ein PHP Script auf den Webserver, welcher das File abhängig von den Parametern generiert.
Dann startest du Anaconda z.B. mit:


Bei Fragen immer gern.

Grüße,

Daniel
Bitte warten ..
Ähnliche Inhalte
Windows 7
Systemvariable Hostname
gelöst Frage von Thor01Windows 73 Kommentare

Hallo, mal eine vielleicht etwas doofe Frage: Wofür gibt es den eigentlich die Systemvariable"Hostname" ? Hab ich jetzt das ...

PHP
PHP - Variable in anderes PHP-Skript mitgeben
gelöst Frage von Jens4everPHP3 Kommentare

Hi zusammen, könnt ihr mir kurz helfen? Ich habe folgendes vor: Ich möchte, dass beim Aufruf von "check1.php" eine ...

DNS
Android-VPN, Hostname wird nicht aufgelöst
Frage von metal-shotDNS3 Kommentare

Hallo Ich versuche seit gestern eine VPN Verbindung in ein Firmennetz aufzubauen. Router/VPN Gateway ist ein Lancom LC1781VA. Die ...

Windows Netzwerk
Domain Name mit DHCP in gemischter Umgebung mitgeben
gelöst Frage von BU3NOSWindows Netzwerk2 Kommentare

Hallo zusammen, ich habe einen DHCP in einer Umgebung in der sich Clients teils in einer Domäne befinden und ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 17 StundenWindows 102 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 19 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte16 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...

Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.