Remote-Installation eines 1&1 Root-Servers
Aus Fedorawiki.de
| |
Dieser Artikel wurde neu erstellt und bedarf evtl. noch einer Korrekturlesung. Danach kann diese Box entfernt werden. |
Die Installation eines aktuellen Fedora Linux auf einem 1&1 Root-Server ist mittels HTTP/FTP Methode leider problematisch, da 1&1 ein etwas "seltsames" Netzwerk-Setup verwendet. Es gibt daher keine Möglichkeit, mittels Kickstart-Installation über's Netzwerk zu installieren - VNC, HTTP, FTP Installations-Modi scheiden damit leider aus.
Bei meiner Suche nach einer Möglichkeit, dennoch mit wenig Aufwand ein Fedora 8 Linux auf einen 1&1 Rooti zu bekommen, fand ich im WWW eine Anleitung für CentOS, die den entscheidenden Tipp brachte: Man lädt im Rescue-Modus das DVD ISO-Image von Fedora aus dem Netz und installiert dann mittels "hard disk" Installations-Modus von diesem Image. In Kombination mit einem Kickstart-Skript kann man so inkl. allem Aufwand in einer guten halben Stunde einen 1&1 Root-Server mit Fedora 8 installieren.
Das hier vorgestellte Shell-Skript kann man in Rescue-Modus auf einen 1&1 Rooti kopieren und dann verwenden, um die Festplatte zur Installation vorzubereiten.
| |
<b>Achtung:</b> <b>Die hier vorgestellte Installationsmethode löscht alle vorhandenen Partitionen!!!</b> |
Selbstverständlich kann man diese Installations-Methode auch für andere Root-Server einsetzen - allerdings haben andere Anbieter meistens ein brauchbares Netzwerk-Setup :-) mittels DHCP, so dass man hier mittels HTTP/FTP Methode installieren kann.
Ich hoffe, dass dieses HOWTO so manchem Suchenden wg. der 1&1 Netzwerk-Config weiterhilft :-) Soll keine Werbung sein für einen bestimmte Hoster, sondern einfach nur weiterhelfen. Viel Erfolg beim Installieren!
Inhaltsverzeichnis |
Voraussetzungen
- 1&1 Root-Server, gebootet im Rescue-Modus
- Zugang zum Rooti über Serielle Konsole (siehe 1&1 Control-Center)
- Tipp: die Ausgaben von dmesg, fdisk, ifconfig und route -n sowie das komplette /etc Verzeichnis der 1&1 Default-Linuxinstallation erstmal sichern, um hier später Infos zu Hardware und Netzwerk-Setup etc. nachschauen zu können.
Vorbereitungen
Einige Anpassungen sind durchzuführen, je nachdem, welchen Server man sich ausgesucht hat, denn bei 1&1 gibt es verschiedene Prozessor/RAM/Festplatte Kombinationen. Und natürlich evtl. eine Vorauswahl an RPM-Pakete bzw. Paket-Gruppen, die installiert werden sollen.
Wichtig/interessant sind die Optionen für Festplatten:
- "Software" - bedeutet, dass unter Linux ein Software-RAID (/dev/md*) verwendet wird
- "Hardware" - bedeutet, dass ein echter RAID-Controller die Festplatte spiegelt, meist ein Serverworks etc.
Bei der Option "Software" stehen zwei SCSI-Festplatten zur Verfügung, nämlich /dev/sda und /dev/sdb. Wohingegen bei "Hardware" ein RAID-Festplattenverbund unter Linux erscheint, dann /dev/sda. Hierauf gehe ich an späterer Stelle nochmals kurz ein.
Es können/sollten zwei Dateien bearbeitet werden, die das Installer-Skript nutzt, und natürlich evtl. das Skript selbst:
- partitions.ks - Kickstart-Optionen für Festplatten-Partitionen
- packages.list - "%packages ... %end" Sektion im Kickstart-File
- install-rootserver-1und1-fedora8.sh - das eigentliche Installer-Script, das an zwei Stellen die beiden vorherigen Files included
Bearbeiten der Festplatten-Partitionen
Mittels Kickstart ist es möglich, für die Partitionierung der Festplatte(n) verschiedene Setups zu realisieren:
- LVM (Logical Volumes) mittels logvol
- Software-RAID mittels durch das Kommando raid
- ganz normale Partitionen mit Hilfe von part
Ich stelle kurz zwei Möglichkeiten für das Kickstart-Dateisnippet partitions.ks vor:
- Eine Möglichkeit für einen Server mit 1&1 "Software" RAID-Option (zweimal 80 GB Kapazität), d.h. zwei Platten, wobei ich hier im Beispiel das Software-RAID nicht nutze unter Linux. Wer das part Kommando von Kickstart kennt, der sieht, dass
- mittels clearpart --drives=sdb --initlabel alle Partitionen auf der zweiten Platte gelöscht werden
- die Partitionen /, /boot und die swap's als primäre Partitionen angelegt werden, die anderen in der logischen (vierten) Partitione dann
- die swap's auf beiden Festplatten gleichmäßig verteilt werden (je ein GB ca.)
- die Größenaufteilung flexibel mit --grow und --size gestaltet wird
clearpart --drives=sdb --initlabel part / --fstype ext3 --size=500 --asprimary --ondrive=sdb part /boot --fstype ext3 --size=250 --asprimary --ondrive=sdb part /var --fstype ext3 --size=10000 --grow --maxsize=40000 --ondrive=sdb part /var/tmp --fstype ext3 --size=3000 --grow --maxsize=7000 --ondrive=sdb part /home --fstype ext3 --size=30000 --grow --ondrive=sdb part /usr --fstype ext3 --size=5000 --ondrive=sdb part /usr/local --fstype ext3 --size 3000 --ondrive=sdb part /opt --fstype ext3 --size=5000 --ondrive=sdb part /tmp --fstype ext3 --size=1000 --grow --maxsize=2000 --ondrive=sdb part /backup --fstype ext3 --size=40000 --grow --ondrive=sda part swap --size=1030 --asprimary --ondrive=sdb part swap --size=1030 --asprimary --ondrive=sda
- Eine Möglichkeit für einen Server mit 1&1 "Hardware" RAID-Option (500 GB Kapazität), d.h. es erscheint nur eine Platte unter Linux aufgrund des Hardware-RAIDs. Man sieht hier, dass
- nur die Partitionen / und /boot als primäre Partitionen angelegt werden, denn es gibt auf /dev/sda bereits eine primäre Partition (nämlich die Installations-Partition mit dem DVD ISO-Image) und die anderen werden dann in der logischen (vierten) Partition angelegt
- die Größenaufteilung wieder flexibel mit --grow und --size gestaltet wird
part / --fstype ext3 --size=700 --asprimary part /boot --fstype ext3 --size=350 --asprimary part /home --fstype ext3 --size=250000 --grow part /var --fstype ext3 --size=20000 --grow --maxsize=30000 part /var/tmp --fstype ext3 --size=7000 --grow --maxsize=15000 part /var/log --fstype ext3 --size=30000 --grow --maxsize=45000 part /var/ftp --fstype ext3 --size=5000 part /backup --fstype ext3 --size=40000 --grow --maxsize=100000 part /usr --fstype ext3 --size=7000 part /usr/local --fstype ext3 --size 4000 part /opt --fstype ext3 --size=5000 part /tmp --fstype ext3 --size=3000 --grow --maxsize=5000 part swap --size=8500
| |
<b>Wichtig:</b> Eines der beiden Snippets für die Datei partitions.ks als genau solche Datei mit diesem Namen speichern. Evtl. daran Anpassungen je nach eigenen Vorstellungen vornehmen. |
Bearbeiten der Paket-Auswahl
Die Datei packages.list enthält eine "%packages ... %end" Sektion von Kickstart und kann verwendet werden, um eine erste Vorauswahl für die Paketinstallation zu treffen. Änderungen an den RPM-Paketen können sehr leicht nach erfolgter Installation mittels yum durchgeführt werden.
- Ein Beispiel für ein typisches Nameserver Setup:
- Mittels Angaben wie "@DNS Name Server" kann man ganze Paket-Gruppen zur Installation auswählen - siehe die XML-Datei auf der Installations-DVD von Fedora, die die Namen der Gruppen enthält.
- Mittels Angaben wie "vim-common" können gezielt einzelne RPM-Pakete zur Installation ausgewählt werden. Falls hier Tippfehler passieren etc. kein Problem - der Anaconda Installer fordert dann manuell auf, das nicht vorhandene Paket zu überspringen und die Installation trotzdem fortzusetzen.
%packages @Administration Tools @DNS Name Server @Hardware Support @Mail Server @System Tools @Text-based Internet @Web Server vim-common vim-enhanced %end
- Ein anderes Beispiel für ein typisches Webserver Setup:
- Wichtige Pakete für Apache und Datenbanken werden installiert, dazu die Paket-Gruppen für "Development", so dass man auch mal selbst was compilieren kann etc.
%packages @Administration Tools @Fonts @Hardware Support @Mail Server @System Tools @Text-based Internet @Web Server @Development Libraries @Development Tools @FTP Server @MySQL Database @PostgreSQL Database %end
| |
<b>Wichtig:</b> Eines der beiden Snippets für die Datei packages.list als genau solche Datei mit diesem Namen speichern. Daran Anpassungen je nach eigenen Vorstellungen vornehmen. |
Bearbeiten des Installer-Installations-Skripts
Das folgende Shell-Skript ist nicht der Installer selbst, sondern legt eine Partition /dev/sda1 an und bereitet alles vor, damit von dieser Partition der Anaconda Installer gestartet werden kann. Es sind minimale Anpassungen notwendig, vor allem, was z.B. den Mirror-Server angeht, von dem die ISO-Images per Download mit wget geholt werden sollen.
Folgende Variablen im Skript sollten in jedem Fall geprüft und evtl. angepasst werden:
- HARDDISC="sda" - auf welche Festplatte soll der Installer kopiert werden?
- INSTALLPARTITION=1 - in welche Partition genau?
- MOUNTDIR="/fedorainstall" - wie lautet das Verzeichnis zum mounten der eben genannten Partition?
Ferner kann man mittels Variablen die Quell-Server für die ISO-Images angeben:
- RPMSERVER - Basis-Verzeichnis der gewählten Architektur auf dem Mirror-Server
- RPMSERVER_OSDIR - Pfad zum Verzeichnis "os/"
- RPMSERVER_DVDIMAGE - Pfad zum DVD ISO-Image der gewählten Architektur
#!/bin/sh
#
# ****************************************************************************************************
# *** ***
# *** Installing Fedora Linux on a 1&1 Linux Root-Server ***
# *** ***
# ****************************************************************************************************
#
#
# ATTENTION:
#
# This program will ERASE ALL DATA on the harddisk WITHOUT FURTHER WARNING!!!
#
#
# CREDITS:
#
# Copyright (C) 2003 Gerd v. Egidy & modified by O. Althammer
# Copyright (C) 2005 René Schrock <rene.schrock-at-gmx.net> modified 2005/07/31 for Alturo Root-Server
# Copyright (C) 2008 Alexander Troppmann <talex-at-emanagers.de> modified 2008/02/05 for 1&1 Root-Server
#
#
# LICENSE:
#
# This software may be freely redistributed under the terms of the GNU library public license.
#
# You should have received a copy of the GNU Library Public License along with this program;
# if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
# USAGE:
#
# Execute this script from the rescue console of your Linux Root-Server
#
echo
echo -en "\\033[1;31m" ; echo "*****************************************************************" ; echo -en "\\033[1;39m"
echo -en "\\033[1;31m" ; echo "*** Fedora 8 Root-Server Installer ***" ; echo -en "\\033[1;39m"
echo -en "\\033[1;31m" ; echo "*** (installs from hard disk) ***" ; echo -en "\\033[1;39m"
echo -en "\\033[1;31m" ; echo "*****************************************************************" ; echo -en "\\033[1;39m"
echo
echo -en "\\033[1;31m" ; echo -n "WARNING!!! "; echo -en "\\033[1;39m"
echo "This script will ERASE ALL DATA on your HARDDRIVE!!!!"
echo -en "\\033[1;33m" ; echo -n "Press Ctrl-C to cancel script execution now (10 seconds time...)"; echo -en "\\033[1;39m"
echo
sleep 10
HARDDISC="sda"
INSTALLPARTITION=1
MOUNTDIR="/fedorainstall"
WORKDIR=`pwd`
echo
echo -en "\\033[1;32m" ; echo "Hardware settings: " ; echo -en "\\033[1;39m"
echo
echo " installation harddisc = /dev/${HARDDISC}"
echo " install on partition = /dev/${HARDDISC}${INSTALLPARTITION}"
echo " mountpoint = ${MOUNTDIR}"
echo " working directory = ${WORKDIR}"
RPMSERVER="http://fedora.tu-chemnitz.de/pub/linux/fedora/linux/releases/8/Fedora/x86_64/"
RPMSERVER_OSDIR="${RPMSERVER}os/"
RPMSERVER_DVDIMAGE="${RPMSERVER}iso/Fedora-8-x86_64-DVD.iso"
echo
echo -en "\\033[1;32m" ; echo "Download Linux ressources from: " ; echo -en "\\033[1;39m"
echo
echo " Fedora RPM server/mirror = ${RPMSERVER_OSDIR}"
echo " DVD ISO file image = ${RPMSERVER_DVDIMAGE}"
echo
sleep 5
if [ -d ${MOUNTDIR} ]; then
echo
echo -en "\\033[1;33m" ; echo "*** Unmount existing directory ${MOUNTDIR}" ; echo -en "\\033[1;39m"
echo
umount -v ${MOUNTDIR}
else
echo
echo -en "\\033[1;33m" ; echo "*** Create new directory ${MOUNTDIR}" ; echo -en "\\033[1;39m"
echo
mkdir -v ${MOUNTDIR}
fi
echo
echo -en "\\033[1;33m" ; echo "*** Create new 10 GB installation partition on /dev/${HARDDISC}${INSTALLPARTITION}" ; echo -en "\\033[1;39m"
echo "o" > ${MOUNTDIR}/fdisk.input
echo "n" >> ${MOUNTDIR}/fdisk.input
echo "p" >> ${MOUNTDIR}/fdisk.input
echo ${INSTALLPARTITION} >> ${MOUNTDIR}/fdisk.input
echo >> ${MOUNTDIR}/fdisk.input
echo "+10G" >> ${MOUNTDIR}/fdisk.input
echo "w" >> ${MOUNTDIR}/fdisk.input
cat ${MOUNTDIR}/fdisk.input | fdisk /dev/${HARDDISC}
#umount /dev/${HARDDISC}${INSTALLPARTITION}
sleep 5
echo
echo -en "\\033[1;33m" ; echo "*** Creating new ext2 filesystem auf /dev/${HARDDISC}${INSTALLPARTITION}" ; echo -en "\\033[1;39m"
echo
mke2fs /dev/${HARDDISC}${INSTALLPARTITION} -L "${MOUNTDIR}"
sleep 5
echo
echo -en "\\033[1;33m" ; echo "*** Mount partition /dev/${HARDDISC} as ${MOUNTDIR}" ; echo -en "\\033[1;39m"
echo
mount -t ext2 -v /dev/${HARDDISC}${INSTALLPARTITION} ${MOUNTDIR}/
echo
echo -en "\\033[1;33m" ; echo "*** Create system directories in ${MOUNTDIR}" ; echo -en "\\033[1;39m"
echo
mkdir -v ${MOUNTDIR}/boot
mkdir -v ${MOUNTDIR}/boot/grub
mkdir -v ${MOUNTDIR}/dev
mkdir -v ${MOUNTDIR}/etc
mkdir -v ${MOUNTDIR}/iso
sleep 5
echo
echo -en "\\033[1;33m" ; echo "*** Create Anaconda kickstart configuration file: ${MOUNTDIR}/ks.cfg" ; echo -en "\\033[1;39m"
echo
echo "install" >> ${MOUNTDIR}/ks.cfg
echo "harddrive --partition=${HARDDISC}${INSTALLPARTITION} --dir=/iso" >> ${MOUNTDIR}/ks.cfg
echo "lang en_US.UTF-8" >> ${MOUNTDIR}/ks.cfg
echo "keyboard de" >> ${MOUNTDIR}/ks.cfg
echo "timezone --utc Europe/Berlin" >> ${MOUNTDIR}/ks.cfg
echo 'rootpw mysecretpassword' >> ${MOUNTDIR}/ks.cfg
echo "reboot" >> ${MOUNTDIR}/ks.cfg
echo "text" >> ${MOUNTDIR}/ks.cfg
echo "skipx" >> ${MOUNTDIR}/ks.cfg
echo "network --device eth0 --bootproto=dhcp" >> ${MOUNTDIR}/ks.cfg
echo "authconfig --enableshadow --enablemd5 " >> ${MOUNTDIR}/ks.cfg
echo "selinux --permissive" >> ${MOUNTDIR}/ks.cfg
echo "firewall --enabled --ssh" >> ${MOUNTDIR}/ks.cfg
echo "firstboot --disabled" >> ${MOUNTDIR}/ks.cfg
echo "" >> ${MOUNTDIR}/ks.cfg
if [ -f partitions.ks ]; then
cat partitions.ks >> ${MOUNTDIR}/ks.cfg
else
echo
echo -en "\\033[1;31m" ; echo "*** missing partitions include file!!! " ; echo -en "\\033[1;39m"
echo
fi
echo "" >> ${MOUNTDIR}/ks.cfg
if [ -f packages.list ]; then
cat packages.list >> ${MOUNTDIR}/ks.cfg
else
echo
echo -en "\\033[1;31m" ; echo "*** missing packages include file!!! " ; echo -en "\\033[1;39m"
echo
fi
echo "" >> ${MOUNTDIR}/ks.cfg
cat ${MOUNTDIR}/ks.cfg
sleep 5
echo
echo -en "\\033[1;33m" ; echo "*** Download Linux kernel for booting Ananconda installer" ; echo -en "\\033[1;39m"
echo
wget -O ${MOUNTDIR}/boot/vmlinuz-remoteinstall ${RPMSERVER_OSDIR}/isolinux/vmlinuz
wget -O ${MOUNTDIR}/boot/initrd-remoteinstall.img ${RPMSERVER_OSDIR}/isolinux/initrd.img
sleep 5
echo
echo -en "\\033[1;33m" ; echo "*** Create device nodes for ${MOUNTDIR}/dev/${HARDDISC} and ${MOUNTDIR}/dev/${HARDDISC}1" ; echo -en "\\033[1;39m"
echo
mknod ${MOUNTDIR}/dev/${HARDDISC} b 3 0
mknod ${MOUNTDIR}/dev/${HARDDISC}1 b 3 1
ls -al ${MOUNTDIR}/dev/${HARDDISC}*
sleep 5
echo
echo -en "\\033[1;33m" ; echo "*** Create ${MOUNTDIR}/boot/grub/grub.conf for bootloader setup" ; echo -en "\\033[1;39m"
echo
echo "serial --unit 0 --speed 57600" > ${MOUNTDIR}/boot/grub/grub.conf
echo "terminal serial console --timeout=5" >> ${MOUNTDIR}/boot/grub/grub.conf
echo "" >> ${MOUNTDIR}/boot/grub/grub.conf
echo "default=0" >> ${MOUNTDIR}/boot/grub/grub.conf
echo "timeout=10" >> ${MOUNTDIR}/boot/grub/grub.conf
echo "" >> ${MOUNTDIR}/boot/grub/grub.conf
echo "title remoteinstall" >> ${MOUNTDIR}/boot/grub/grub.conf
echo " root (hd0,0)" >> ${MOUNTDIR}/boot/grub/grub.conf
echo " kernel /boot/vmlinuz-remoteinstall lang=en_US keymap=de method=hd:///dev/${HARDDISC}${INSTALLPARTITION}/iso ks=hd:${HARDDISC}${INSTALLPARTITION}:/ks.cfg text console=ttyS0,57600" >> ${MOUNTDIR}/boot/grub/grub.conf
echo " initrd /boot/initrd-remoteinstall.img" >> ${MOUNTDIR}/boot/grub/grub.conf
cat ${MOUNTDIR}/boot/grub/grub.conf
echo
echo -en "\\033[1;33m" ; echo "*** Create some links to make GRUB happy :-)" ; echo -en "\\033[1;39m"
echo
cd ${MOUNTDIR}/boot/grub/
ln -s grub.conf menu.lst
cd ../
ln -s . boot
cd ${WORKDIR}
echo "done"
echo
echo -en "\\033[1;33m" ; echo "*** Create the GRUB device map in ${MOUNTDIR}/boot/grub/device.map" ; echo -en "\\033[1;39m"
echo
echo "(hd0) /dev/${HARDDISC}" > ${MOUNTDIR}/boot/grub/device.map
cat ${MOUNTDIR}/boot/grub/device.map
sleep 5
echo
echo -en "\\033[1;33m" ; echo "*** Update /etc/mtab from /proc/mounts" ; echo -en "\\033[1;39m"
echo
cp -vf /proc/mounts /etc/mtab
echo
echo -en "\\033[1;33m" ; echo "*** Install GRUB bootloader to MBR of /dev/${HARDDISC}" ; echo -en "\\033[1;39m"
echo
grub-install --root-directory=${MOUNTDIR} /dev/${HARDDISC}
sleep 5
echo
echo -en "\\033[1;33m" ; echo "*** Download DVD installation image file" ; echo -en "\\033[1;39m"
echo
cd ${MOUNTDIR}/iso
wget ${RPMSERVER_DVDIMAGE}
sleep 5
echo
echo -en "\\033[1;33m" ; echo "*** Sync VFS and unmount ${MOUNTDIR}" ; echo -en "\\033[1;39m"
echo
cd /
sync
umount -v ${MOUNTDIR}
echo
echo -en "\\033[1;32m" ; echo "*** All done: change server boot mode from rescue to normal and restart your Linux Root-Server" ; echo -en "\\033[1;39m"
echo
sleep 5
echo
| |
<b>Wichtig:</b> Das oben aufgeführte Skript in die Datei install-rootserver-1und1-fedora8.sh speichern. Daran Anpassungen je nach eigenen Vorstellungen vornehmen. |
Ausführen des Installer-Installations-Skripts
Der 1&1 Root-Server sollte inzwischen im Rescue-Modus (richtige Architektur wählen, d.h. 32/64 Bit) gebootet sein. Sobald das 1&1 Control-Center es wieder zulässt, den Boot-Modus (natürlich ohne sofortigen Reboot...) auf "normal" umstellen. Jede Änderung im Recovery-Manager dauert im Schnitt 5-10 Minuten, sofern der Scheduler von 1&1 nicht gerade zu beschäftigt ist.
Nachdem die drei Dateien install-rootserver-1und1-fedora8.sh, partitions.ks und packages.list mittels SCP in das Root-Verzeichnis / des Rescue-Systems kopiert wurden, mittels SSH auf den Root-Server als Benutzer "root" einloggen.
Auf dem Root-Server mittels . install-rootserver-1und1-fedora8.sh in der Konsole das Skript starten - die drei Dateien müssen dabei alle im gleichen Verzeichnis liegen, das zugleich das aktuelle "working directory" sein muss, d.h. wenn man mittels SCP nach / kopiert hat, noch mit cd / ins Root-Verzeichnis wechseln.
| |
<b>Tipp:</b> Vor dem Start des Skripts am besten mit Hilfe von fdisk alle vorhandenen Partitionen manuell entfernen. |
Das Skript macht immer kleinere Pausen, so dass man mitlesen kann, was genau passiert :-) Und passieren tut folgendes:
- Nach Ausgabe der Parameter/Variablen wir der Mountpoint angelegt und mittels fdisk die erste Partition für die Installation auf 10 GB angelegt. Darauf wird ein Dateisystem angelegt.
- Nach dem Mounten der Installations-Partition werden neue Verzeichnisse angelegt. Einmal /boot sowie /dev und /etc, die für den Bootloader grub benötigt werden. Unter /iso wird das DVD ISO-Image abgelegt.
- Anschließend wird ein Kickstart-File namens ks.cfg mittels echo Kommandos generiert. Die beiden Textdateien für die Partitionen und die Paket-Auswahl werden mittels cat eingebunden. Das fertige Kickstart-File wird auf der Konsole zur Kontrolle ausgegeben.
- Das Skript lädt dann den Installations-Kernel sowie die passende RAM-Disk vom RPM-Server und ebenso das DVD ISO-Image. Die mknod Befehle sind notwendig, um das /dev Verzeichnis der Installations-Partition entsprechend zu befüllen.
- Zuletzt wird eine grub.conf erzeugt und mittels grub-install der Bootloader im MBR installiert. Im sog. "normalen" Boot-Modus wird jetzt der 1&1 Root-Server den Bootloader benutzen, um damit den Installations-Kernel zu laden und somit den Anaconda Fedora-Installer zu starten.
- Nach einem sync und umount verfügt der Rooti nun über eine Partition, von der aus gebootet und installiert werden kann. Dank DVD ISO-Image ist auch kein Netzwerk während der Installation notwendig - dafür jedoch die serielle Konsole
Wenn das Skript fertig abgearbeitet wurde und sich der Rooti wieder im Boot-Modus "normal" befindet, einen Reboot einleiten mit shutdown -r now in der Konsole.
Durchführen der Fedora Installation von Festplatte
Der Rechner startet jetzt neu. Währenddessen über SSH auf den Server für die serielle Konsole einloggen, wofür das Passwort aus dem 1&1 Control-Center benötigt wird. Nach einigen Sekunden bzw. wenigen Minuten sollte der Reboot erfolgt sein und man kann den bootenden Fedora Linuxkernel beobachten.
Der Anaconda Installer sucht die Datei ks.cfg auf der Platte und parsed das Kickstart-File. Wenn alles passt, wird das DVD ISO-Image benutzt, um den nächsten Teil des Installers zu laden.
Die einzige Stelle im Installationsprozess, die jetzt noch ein manuelles Eingreifen erfordert, ist das Setup des Bootloaders. In meinem Kickstart-File habe ich das Kommando bootloader nicht benutzt, nachdem ich damit einen Fehler im Anaconda produziert hatte. Die Bootloader-Optionen sind jedoch schnell ausgewählt.
Die eigentliche Installation dauer auf diese Weise ca. 10-15 Minuten noch. Anschließend führt der Root-Server einen Reboot aus. In der seriellen Konsole kann man wieder beobachten, wie der Root-Server den frisch installierten Kernel bootet und bis zum Prompt der Shell gelangt - mit einem schönen "Werewolf" bei Fedora 8 - fertig! :-)
Links
Einige Websites mit weiterführenden Informationen zum Anaconda Installer, die ich für meine Installationen benutzt habe:
- How to use Kickstart (Anaconda's remote control) - Artikel vom Red Hat Magazine in englischer Sprache
- 1und1 Rootserver mit RHEL4 - ein HOWTO in deutscher Sprache, die "Idee" für obiges Skript sozusagen
- Anaconda Options - Kernel-Parameter für den Anaconda Installer im Wiki von fedoraproject.org, wieder in englischer Sprache
- Anaconda Kickstart - Parameter für das Kickstart-File im selben Wiki, auch in englischer Sprache
Credits
Vielen Dank allen "Vorarbeitern" der Websites, die mir geholfen haben, diese Installationsroutine zu erstellen und zu dokumentieren. Da ich nichts wirklich funktionierendes bzgl. eines "vernünftigen" und aktuellen Fedora Linux auf 1&1 Root-Servern im WWW gefunden habe, hoffe ich sehr, dass andere künftig an dieser Stelle fündig werden! Viel Erfolg beim Installieren!
Alexander Troppmann am 8. Februar 2008