Anschrift
Frauengasse 3-5
2500 Baden
02252 / 44403

Clonezilla 29-08-2009

Warum Clonezilla toll ist

Clonezilla ist eine freie Software auf Linuxbasis, die zum Erstellen von Images dient. Dabei kann man sich ein eigenes Script schreiben, um Clonezilla an seine Bedürfnisse anzupassen. Zu beziehen ist Cloneziall über clonezilla.org.
Es gibt verschiedene Versionen

USB Stick Version

In der Schule verwende ich die USB Stick Version. Die Herstellung dieser Version ist am Beginn etwas aufwendig. Zuerst laden wir uns das Live Zip File herunter, von http://clonezilla.org/download/sourceforge/.
Um einen USB Stick bootable zu machen, verwenden wir ein Tool, dass die Programmierer von Clonezilla zur Verfügung stellen. Dieses Programm benötigt auch noch eine dll Datei vb6stkit.dll. Dann einfach das Programm starten, alle Daten werden auf den USB Stick kopiert, FERTIG!

Wie man Clonezilla anpassen kann

Im Verzeichnis /opt/drbl/samples/ findet man zwei Beispieldateien für ein Script zum anpassen von Clonezilla.
Folgende Vorgangsweise:
  1. Clonzilla booten, auf der Konsole zum root wechseln
    sudo su -
  2. Nun Mounten wir uns ein Speichermedium, auf dem dann die Ausgabe erfolgen soll, nach /home/partimag (oder prep-ocsroot ausführen). Nehmen wir an, der USB zum Speichern heißt /dev/sda1 … (das kann man über die Log Messages erfahren)
    mount /dev/sda1 /home/partimag
    • Nachdem das Script File fertig ist, führt man folgendnen Befehl aus
      USB Stick
      /opt/drbl/sbin/ocs-live-dev -g en_US.UTF-8 -k NONE -s -c -m ./custom-ocs
      CD oder DVD
      /opt/drbl/sbin/ocs-iso -g en_US.UTF-8 -k NONE -s -m ./custom-ocs
      -g en_US.UTF-8     ...Sprache ist English

      -k NONE                   ...Keyboardlayout nicht wechseln = US
      /opt/drbl/sbin/ocs-iso -h oder /opt/drbl/sbin/ocs-live-dev -h        ...für mehr Hilfe
    • Nun mit dem LiveUSBHelper Tool den Stick erstellen!
      Beachte: Nur wenn alle Punkte korrekt ausgeführt werden, ist der Stick bootfähig!
Was man nun erhält ist eine Bootfähige Clonezilla Version, die beim Booten die Verbindung zum Samba Server aufbaut, und im Anschluss eine Auswahlmenü anzeigt, was gemacht werden soll.
Cool!

Hier ein Beispiel wie ich es in der Schule verwende. Das Skript ist nicht fehlerfrei, es soll nur zur Demonstration dienen!
[highlight]
#!/bin/bash
# Update Mag. Stefan Hagmann BRG Frauengasse
# Anpassung an unsere Beduerfnisse
# Parameter der Shares
username=root
serverip=10.0.10.3
target=/images/Clonezilla
passwd=xxxxxx
#
# Author: Steven Shiau
# License: GPL
#
# In this example, it will allow your user to use clonezilla live to choose
# (1) A samba server as clonezilla home image where images exist.
# (2) Choose an image to restore to disk.
# When this script is ready, you can run
# /opt/drbl/sbin/ocs-iso -g en -k NONE -s -m ./custom-ocs
# to create the iso file for CD/DVD. or
# /opt/drbl/sbin/ocs-live-dev -g en -k NONE -s -c -m ./custom-ocs
# to create the zip file for USB flash drive.
# Begin of the scripts:
# Load DRBL setting and functions
if [ ! -f "/opt/drbl/sbin/drbl-conf-functions" ]; then
echo "Unable to find /opt/drbl/sbin/drbl-conf-functions! Program terminated!"
exit 1
fi
. /opt/drbl/sbin/drbl-conf-functions
. /opt/drbl/sbin/ocs-functions
# load the setting for clonezilla live.
[ -e /etc/ocs/ocs-live.conf ] && . /etc/ocs/ocs-live.conf
# Load language files. For English, use "en_US.UTF-8".
ask_and_load_lang_set en_US.UTF-8
# The above is almost necessary, it is recommended to
#include them in your own custom-ocs.
# From here, you can write your own scripts
# -q NTFS Platte wird gesichert
# -c wait bis confirm
# -z1 gzip Compress
# -i xx Splitgroesse, 0 = kein Split
# -p postaction, true = do nothing
# savedisk = Befehl Ziel Quelle, mit ask User wird gefragt
#functions---------------------------------------------------------------
action_backupNet() {
echo "Sichere nun Asus Netbook /sda1 /sda2 /sda3 /sda4"
/opt/drbl/sbin/ocs-sr -q -c -gm -z1 -i 0 -p true savedisk ask_user sda
}
action_restoreNet() {
echo "Restore Asus Netbooks auf /sda"
/opt/drbl/sbin/ocs-sr -c -p true restoredisk ask_user sda
}
action_backupOptiplex() {
/opt/drbl/sbin/ocs-sr -q -c -gm -z1 -i 0 -p true savedisk ask_user ask_user
}
action_restoreOptiplex() {
/opt/drbl/sbin/ocs-sr -c -p true restoredisk ask_user ask_user
}
########################
#### MAIN ##############
########################
# 1. Configure network
dhclient
# 2. Mount the clonezilla image home
#Erstelle das Mountverzeichnis oder es gibt es schon
mkdir -p /home/partimag
echo "Mounte nun das SAMBA Verzeichnis am Server"
echo "//$serverip$target"
#read aduser
mount -t cifs -o username="$username" password="$passwd" //$serverip$target /home/partimag
# prep-ocsroot -t samba_server
# Menu to choose what to do.
TMP=$(mktemp /tmp/menu.XXXXXX)
trap "[ -f "$TMP" ] && rm -f $TMP" HUP INT QUIT TERM EXIT
$DIA --backtitle "$msg_nchc_free_software_labs" --title \
"$msg_nchc_clonezilla" --menu "$msg_choose_mode:" \
0 0 0 \
"1." "Netbook > Server" \
"2." "Server > Netbook" \
"3." "Optiplex 755 > Server" \
"4." "Server > Optiplex 755" \
2> $TMP
mode="$(cat $TMP)"
[ -f "$TMP" ] && rm -f $TMP
case "$mode" in
1.)
action_backupNet;;
2.)
action_restoreNet;;
3.)
action_backupOptiplex;;
4.)
action_restorOptiplex;;
*)
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
echo "Program terminated!"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
exit 1
esac

[/highlight]