Ubuntu clonen

Aus BraLUG-Wiki

Version vom 13. August 2008, 10:34 Uhr von Engel66 (Diskussion | Beiträge)

(Unterschied) Nächstältere Version-> | Aktuelle Version (Unterschied) | <-Nächstjüngere Version (Unterschied)
Wechseln zu: Navigation, Suche


Achtung! Der Artikel wird für Kubuntu 8.04 auf neuen Maschinen überarbeitet!

Nach meinem Vortrag Kubuntu im Unternehmen möchte ich nun mein Versprechen wahr machen und hier beschreiben, wie ich Ubuntu (Kubuntu) geklont habe. Nehmt nicht alles so wie ich es gemacht habe, denn im Unternehmen haben wir einige Besonderheiten die auf einem einzelnen PC meist nicht notwenndig sind. Nehmt diesen Artikel einfach nur als Leitfaden.

Inhaltsverzeichnis

Vorraussetzungen

Zum Clonen benötigt man eine Referenzinstallation auf einem Rechner, einen möglichst identischen Rechner auf den die gleiche Installation soll, eine USB-Festplatte und eine Ubuntu Life CD. Ich habe im Unternehmen in dem ich Arbeite neue PCs bekommen, die jetzt neben einem Core2Duo Prozessor eine 80 GB SATA-Festplatte besitzen. Alle PCs sollen als Grundinstallation mit der gleichen Software bestückt werden.

Erstellen des Images

Zuerst wird der Referenzrechner, der ausgiebig getestet sein sollte, nochmal gestartet und mittels apt-get update && apt-get upgrade die Software aktualisiert. Nun wird die Live CD eingelegt und der Rechner neu gestartet. Hierbei ist darauf zu achten, das Bios von der CD booten zu lassen. Nach einiger Zeit zeigt sich die grafische Oberfläche auf der wir einen Terminal starten. Mit sudo su erhalten wir hier root Rechte, die wir benötigen. Meine Festplatte habe ich bei der Kubuntu Installation folgendermassen partitioniert:

  • /dev/sda1 swap
  • /dev/sda2 /
  • /dev/sda3 /homepdm34 (Partition für vmware Images)

Nun stöpsele ich die USB-Festplatte an, die entsprechend /dev/sdb1 wird. Jetzt mounte ich die Laufwerke mount /dev/sda2 /mnt für die root Partition der eingebauten Festplatte, mount /dev/sdb1 /media für die USB-Festplatte.
Nun gehen ich in das Verzeichnis /mnt (cd /mnt). Mit dem Befehl tar -cvjpf /media/image.tar.bz2 . erzeuge ich das Image. Nun holen wir uns einen Kaffee oder andere der Jahreszeit angemessene Getränke, denn jetzt dauerts etwas. Hiermit ist aber die Grundlage für die Installation vieler (K)Ubuntu Rechner gelegt. Wenn der Eingabeprompt wieder erscheint, ist es geschafft. Nun hängen wir das USB-Laufwerk mit umount /media aus und entfernen es.

Das Image auf USB-Stick Grösse schrumpfen

Inzwischen haben USB-Sticks Speichergrössen von 16 GB erreicht und 4GB Sticks gibt es bereits für ca. 10 Euro (August 2008). Nun erscheint es sinnvoll, die Images von diesen Speichermedien zu installieren. Allerdings hat ein von mir erstelltes Image ein Grösse von ca. 1,5GB. Durch entfernen der Caches habe ich eine Grösse unter 1GB erreicht. Die erste Massnahme ist, den Apt Cache zu entfernen, da Ubuntu die DEB-Pakete nicht automatisch löscht. Also apt-get clean und schon sind die gelöscht. Dies bitte wenn das Referenzsystem läuft und nicht wenn es mit der Live-CD bearbeitet wird. Weiterhin gibt es noch diverse Caches, die wir mittels Live-CD löschen sollten. Dazu gehören /tmp /var/tmp/ die Benutzerverzeichnisse und das root Verzeichnis, die ich immer komplett lösche.

Vorbereiten des Clones

Nun starten wir den zu clonenden Rechner mit der Live CD, starten wieder ein Terminal, werden root. Mit cfdisk /dev/sda partitionieren wir die eingebaute Festplatte nach den obigen angaben wie auf dem Ursprungssystem. Es kommt nicht unbedingt auf die korrekte Grösse an. Für den Swap habe ich 1GB, für / habe ich 25 GB vergeben. Wer aber eine grosse Platte hat kann durchaus mehr vergeben, wir haben ja nur die Dateien gesichert. Für mein Unternehmensspezifisches Verzeichnis /homepdm34 habe ich den Rest der 80GB genommen. Da ich ein ext3 Dateisystem benutze erstelle ich mit mke2fs -j /dev/sda2 und mke2fs -j /dev/sda3 und mkswap /dev/sda1 die Dateisysteme. Nun mounten wir des Root Dateisystem mit mount /dev/sda2 /mnt. Weiterhin stöpsel wir die USB-Festplatte an und mounten sie mit mount /dev/sdb1 /media. Nun gehen wir mit cd /mnt in das root Dateisystem des zukünftigen Systems. Endlich ist es so weit mit tar -xvjpf /media/image.tar.bz2. schreiben wir die Dateien in das Dateisystem. Wieder haben wir Zeit für ein Getränk der Saison.

Grub in den MBR schreiben

Nun ist fast alles fertig, nur startet der Rechner noch nicht, da der Bootloader fehlt. Hierzu mounten wir die vorhandenen Devices ins neue Dateisystem mount -o bind /dev/ /mnt/dev und das proc Dateisystem mount -t proc none /mnt/proc. So vorbereitet wechseln wir in das neue root Dateisystem chroot /mnt /bin/bash". Den Bootloader schreiben wir nun mit grub-install /dev/sda in den MBR der Platte. Alternativ kann man den Boatloader in diesem Falle auch mit dem Befehl "grub-install /dev/sda --root-directory=/mnt schreiben. Das Mounten von dev und proc können wir uns in diesem Falle sparen.

Besonderheiten

Hierbei kann es Probleme geben wenn wir z.B. von einer SATA auf eine PATA Platte oder umgekehrt clonen wollen. Hierbei gibt es die Fehlermeldung "does not have any corresponding bios drive". Auslöser ist die Datei /boot/grub/device.map. Hier steht nocht das alte Device des Wirtssystems drin. Auch in der mtab stehen noch falsche Einträge. Also ersetzen wir die falschen Einträge durch die richtigen. Mit cp /proc/mounts /etc/mtab schreiben wir die Einträge aus dem Proc Dateisystem in die mtab und mit grub-install --recheck /dev/hda schreiben wir das richtige Device in die device.map. Die device.map kann auch mit dem Editor der Wahl geändert werden. Macht in dem Eintrag einfach aus dem sdx ein hdx oder umgekehrt. Das ist soeine Art Alias für Grub und Systemdevices, ihr werdets sofort verstehen. Hiernach natürlich noch den Grub wie Oben beschrieben installieren. Nun müssen noch die Dateien /dev/fstab und /boot/grub/menu.lst an die geänderten Devices angepasst werden (hdx -> sdx; sdx -> hdx). Nun kann der Clone gestartet werden. Hierzu müssen wir natürlich die CD aus dem Laufwerk entnehmen oder im Bios die Bootreihenfolge ändern.

der Weg zum eigenständigen PC

Nun währe es ja nicht so gut, wenn in einem Netz lauter gleiche PCs stehen. Daher müssen noch einige Dinge geändert werden. Wir denken uns einen neuen Rechnernamen aus und ersetzen den des Wirtsystems mit dem neuen in den Dateien /etc/hostname /etc/hosts. In die Datei /etc/udev/rules.d/70-...-net.rules ersetzen wir die MAC des Wirtsystems durch die MAC des Clones. Bei festen IPs muss die noch in der /etc/network/interfaces eingestellt werden. Wenn auf dem System ein SSH-Server läuft, ist es sicher vorteilhaft, einen neuen Key zu generieren. Nun noch einen Neustart und alles ist perfekt.

Automatisierung

Da das Clonen von PCs noch immer eine Menge Tipparbeit ist und wir mit den Live CDs ja sehr mächtige und auch vollständige Systeme haben, kann man natürlich die ganze Geschichte automatisieren. Einfach mal überlegt was da genau abgeht und das alles in eine Stapeldatei geschrieben.

Vorbereitung

Als erstes brauchen wir, wie Oben beschrieben das Image. Nun müssen wir erst mal die neue Festplatte partitionieren, was natürlich automatisch geschehen soll. Mit dem Befehl fdisk /dev/sda < fdisk.part nehme ich die Datei fdisk.part als Befehlseingabe für fdisk. Einfach die Zeichen die im Interaktiven Modus gedrückt werden untereinander. Ich hatte bei den vorkonfigurierten Rechnern keine jungfräulichen Platten sondern es existierte bereits eine DOS-Partition die ich kurzerhand gelöscht habe. Hier also der Inhalt meiner fdisk.part:

d
n
p
1
1
125
n
p
2
126
3165
n
p
3
3166
9729
t
1
82
a
2
w

Demnächst hier weiter!

Anmerkung

Genau so habe ich es gemacht. Andere Konfigurationen z.B. OpenLDAP oder mit einer fein unterteilten Partitionierung bedürfen gewiss andere Wege. Nachdem ich hiermit ca. 50 Büchsen installiert habe, brauche ich ca. 15 Minuten Tipparbeit je Maschine. Das einspielen des Images macht sich ja von alleine. Es ist schon gut zu wissen was man so ungefähr machen muss. Wer sich nicht sicher ist kann ja an die Bralug Mailingliste schreiben oder zu einem Workshop kommen. Wir helfen sicher weiter.

Habt Spass dabei

engel66

'Persönliche Werkzeuge