Clonezilla-SysRescCD
Σχετικά με το έργο
08/02/2009 - v 3.1.0

Πνευματικά δικαιώματα: © 2007-2009, Σπύρος Γεωργαράς <sng@hellug.gr>Μία σελίδα
Τελευταία ενημέρωση: 19/12/2009Εκτυπώσιμη μορφή
 
Επιλογή γλώσσας: Αγγλικά ΕλληνικάΡοή νέων RSS
 

Εισαγωγή [^]

Για να δημιουργήσω το Clonezilla-SysRescCD, έγραψα το create-clonezilla-sysresccd.

Το create-clonezilla-sysresccd είναι ένα σενάριο κελύφους BASH το οποίο θα σας βοηθήσει να ενώσετε αυτά τα δύο δημοφιλή live CD. Τα αρχικά CD θα πρέπει να έχουν κατέβει εκ των προτέρων, και να έχουν αποθηκευτεί ως αρχεία ISO. Στο νέο multi-boot CD θα υπάρχουν όλα τα χαρακτηριστικά των αρχικών ISO/CD.

Το σενάριο κελύφους αντιγράφει και τα δύο ISO σε ένα προσωρινό φάκελο, εισάγει ένα νέο αρχείο ρυθμίσεων του isolinux και δημιουργεί το νέο αρχείο που στη συνέχεια μπορεί να γραφτεί σε CD.

Το Isolinux είναι ένας CD boot manager, ο οποίος ελέγχεται από ένα αρχείο ρυθμίσεων που λέγεται isolinux.cfg. Η τρέχουσα υλοποίηση - που βασίζεται στο Clonezilla Live - εμφανίζει στο χρήστη μία λίστα επιλογών εκκίνησης. Το create-clonezilla-sysresccd παρέχει δύο αρχεία cfg, που ορίζουν τα ορατά αντικείμενα της λίστας επιλογών εκκίνησης:

Σημαντικό
ΜΗΝ κάνετε αλλαγές σε αυτά τα δύο αρχεία. Θα αντικατασταθούν όποτε κάνετε ενημέρωση του προγράμματος, ώστε να παρέχουν νέες λειτουργίες. Αντ' αυτού χρησιμοποιήστε τα ως πρότυπα για να φτιάξετε δικά σας προφίλ.

Γρήγορη δημιουργία του CD [^]

Ανοίξτε το /root/.clonezilla-sysresccd/clonezilla-sysresccd.conf με έναν επεξεργαστή κειμένου και:

Όταν τελειώσετε, δημιουργήστε το CD σας, εκτελώντας από κονσόλα την εντολή:

create-clonezilla-sysresccd -p 2

Προσοχή
Ακολουθώντας αυτή τη διαδικασία θα δημιουργήσετε το CD χωρίς τις τροποποιήσεις που έχω κάνει. Αν θέλετε να τις συμπεριλάβετε, θα πρέπει να ακολουθήσετε τη διαδικασία που παρουσιάζεται στη σελίδα Τροποποιημένα CD.

Παράμετροι γραμμής εντολών [^]

Οι παράμετροι γραμμής εντολών του προγράμματος είναι οι ακόλουθες:

s show profiles and let user select profile to use

Η χρήση των προφίλ θα παρουσιαστεί στην ενότητα Χρήση προφίλ
p[number] use profile number

Η χρήση των προφίλ θα παρουσιαστεί στην ενότητα Χρήση προφίλ
f copy files only. Don't create ISO file and don't
burn anything on CD

Αυτό είναι χρήσιμο αν θέλετε να κάνετε εκτεταμένη παραμετροποίηση
Τα δύο αρχικά ISO αντιγράφονται στο φάκελο /root/tmp/clonezilla-sysresccd
nf don't copy files. Use files existing in folder
"/root/tmp/clonezilla-sysresccd".
*** Caution: Dangerous!!! ***

Αυτό θα δημιουργήσει (και ενδεχομένως γράψει) το αρχείο ISO χρησιμοποιώντας
τα αρχεία του φακέλου /root/tmp/clonezilla-sysresccd

Προσοχή: Το πρόγραμμα δεν κάνει κανένα έλεγχο των αρχείων του παραπάνω
φακέλου. Ο χρήστης είναι υπεύθυνος για το αν η δομή των αρχείων είναι σωστή
για τη δημιουργία ενός εκκινήσιμου CD με το isolinux
i only create ISO file. Don't burn anything on CD
b burn a previously created ISO file
x[script] A user defined and written BASH script to be
executed just before mastering the CD

Αυτό το σενάριο κελύφους θα μπορούσε να χρησιμοποιηθεί για την αυτόματη
τροποποίηση, προσθήκη ή διαγραφή αρχείων στο τελικό CD
v print version and exit
h print this screen and exit

Αρχείο ρυθμίσεων [^]

Το αρχείο ρυθμίσεων του προγράμματος είναι το /root/.clonezilla-sysresccd/clonezilla-sysresccd.conf. Εκεί μπορείτε να ορίσετε όλες τις παραμέτρους εργασίας για μία συνεδρία δημιουργίας CD.

Τα περιεχόμενα του αρχικού αρχείου /root/.clonezilla-sysresccd/clonezilla-sysresccd.conf είναι τα ακόλουθα:

# Location of the latest SystemRescueCD ISO file
sysCD=/all-users/liveCD/systemrescuecd-x86-0.3.7.iso

# Location of the latest Clonezilla Live ISO file
cloneCD=/all-users/liveCD/clonezilla-live-1.0.3-18.iso

# Location of the new isolinux/isolinux.cfg file
# Change it at your own risk!!!
cfgFile=/root/.clonezilla-sysresccd/isolinux-minimal.cfg

# Splash screen to use
# It must be a valid 640x480 32-bit png image
splash=/root/.clonezilla-sysresccd/default-ocswp.png


# The output name of the program (ISO file) is:
# clonezilla-sysresccd-"$outName"-"$version".iso
# A good outName would be your name eg. 'spiros'
# So the ISO file would be named:
# clonezilla-sysresccd-spiros-"$version".iso
outName=''


# The name of a BASH script that will be executed
# just before mastering the CD, (actually just
# before the "splash screen" message is displayed
# to the user
exScript=''




# CD info section

# Specifies a text string that will be written into the volume
# header. This should describe the preparer of the CD-ROM,
# usually with a mailing address and phone number. There is space
# on the disc for 128 characters of information.
preparerID='Spiros Georgaras <sng@hellug.gr>'


# Specifies a text string that will be written into the volume
# header. This should describe the publisher of the CD-ROM,
# usually with a mailing address and phone number. There is space
# on the disc for 128 characters of information.
publisher='Spiros Georgaras <sng@hellug.gr>'


# Specifies the volume ID (volume name or label) to be written into
# the master block. There is space on the disc for 32 characters of
# information. Note that if you assign a volume ID, this is the name
# that will be used as the mount point used by the Solaris volume
# management system and the name that is assigned to the disc on a
# Microsoft Win32 or Apple Mac platform.
volLabel='Linux Backup Multi Boot CD'

Αν κάποια από αυτές τις παραμέτρους είναι κενή, θα ζητηθεί από το χρήστη να την εισάγει.

Χρήση προφίλ [^]

Το create-clonezilla-sysresccd χρησιμοποιεί προφίλ για να είναι εύκολη η χρήση έτοιμων αρχείων cfg, δεδομένων χρήστη κλπ. Τα προφίλ ορίζονται στο αρχείο /root/.clonezilla-sysresccd/profiles.conf. Το create-clonezilla-sysresccd παρέχει δύο έτοιμα προφίλ, που ονομάζονται Full και Backup/Restore.

Τα περιεχόμενα του αρχικού αρχείου /root/.clonezilla-sysresccd/profiles.conf είναι τα ακόλουθα:

profile[0]=Full
profile[1]='Backup/Restore'

sysCDP[0]=/all-users/liveCD/systemrescuecd-x86-0.3.7.iso
sysCDP[1]=/all-users/liveCD/systemrescuecd-x86-0.3.7.iso

cloneCDP[0]=/all-users/liveCD/clonezilla-live-1.0.3-18.iso
cloneCDP[1]=/all-users/liveCD/clonezilla-live-1.0.3-18.iso

cfgFileP[0]=/root/.clonezilla-sysresccd/isolinux-full.cfg
cfgFileP[1]=/root/.clonezilla-sysresccd/isolinux-minimal.cfg

splashP[0]=''
splashP[1]=''

outNameP[0]='full'
outNameP[1]=''

exScriptP[0]=''
exScriptP[1]=''

preparerIDP[0]='Spiros Georgaras <sng@hellug.gr>'
preparerIDP[1]='Spiros Georgaras <sng@hellug.gr>'

publisherP[0]='Spiros Georgaras <sng@hellug.gr>'
publisherP[1]='Spiros Georgaras <sng@hellug.gr>'

volLabelP[0]='Linux Rescue CD'
volLabelP[1]='Linux Backup CD'

Όπως βλέπετε, τα προφίλ μπορούν να ορίσουν όλες τις παραμέτρους εργασίας για μια συνεδρία δημιουργίας CD. Αν κάποια από τις παραμέτρους είναι κενή, θα χρησιμοποιηθεί η αντίστοιχη τιμή του αρχείου ρυθμίσεων. Αν και αυτή είναι κενή, θα ζητηθεί από το χρήστη να την εισάγει.

Για να χρησιμοποιήσετε το προφίλ Νο 1, πρέπει να εκτελέσετε την εντολή:

create-clonezilla-sysresccd -p 1

Για να δείτε τα προφίλ και να επιλέξετε κάποιο για χρήση, πρέπει να εκτελέσετε την εντολή:

create-clonezilla-sysresccd -s

Αρχική οθόνη [^]

Το create-clonezilla-sysresccd μπορεί να χρησιμοποιήσει μια εικόνα για εμφάνιση στην αρχική οθόνη του, μια εικόνα π.χ. με το λογότυπό σας και δεδομένα επικοινωνίας. Η προκαθορισμένη εικόνα είναι το αρχείο /root/.clonezilla-sysresccd/default-ocswp.png, ένα αρχείο png 32-bit, μεγέθους 640x480.

Μπορείτε να χρησιμοποιήσετε τη δική σας εικόνα ορίζοντάς την στο αρχείο:
        /root/.clonezilla-sysresccd/clonezilla-sysresccd.conf, παράμετρος splash
ή
        /root/.clonezilla-sysresccd/profiles.conf, παράμετρος splashP[x]
        Στη συνέχεια χρησιμοποιήστε το προφίλ Νο x για να δημιουργήσετε το CD σας

Παραμετροποίηση [^]

Εκτός από την επεξεργασία του αρχείου isolinux.cfg, ο χρήστης μπορεί επίσης να αφαιρέσει ή να προσθέσει ένα αρχείο εικόνας δισκέτας στο CD.

Τα αρχεία εικόνας δισκέτας βρίσκονται στο φάκελο /bootdisk του CD, που αντιστοιχεί στο φάκελο /root/tmp/clonezilla-sysresccd/bootdisk, κατά τη δημιουργία του αρχείου ISO. Το μόνο που χρειάζεται για την προσθήκη ενός χαρακτηριστικού στο CD, είναι η αντιγραφή ενός αρχείου εικόνας δισκέτας σε αυτό το φάκελο και η προσθήκη της αντίστοιχης καταχώρησης στο αρχείο cfg.

Παράδειγμα 1 [^]

Έστω ότι θέλετε να προσθέσετε ένα αρχείο εικόνας δισκέτας (myfloppy.img) στο τελικό CD. Εκτελείτε το πρόγραμμα και όταν σας ζητηθεί να αντιγράψετε επιπλέον αρχεία, αντιγράφετε το αρχείο εικόνας στο φάκελο /root/tmp/clonezilla-sysresccd/bootdisk. Στη συνέχεια ανοίγετε το αρχείο cfg που θα χρησιμοποιήσετε και δημιουργείτε μια νέα καταχώρηση, με αντιγραφή/επικόλληση, από μία υπάρχουσα καταχώρηση αρχείου εικόνας δισκέτας. Τελικά προσαρμόζετε τη νέα καταχώρηση ώστε να χρησιμοποιεί το νέο αρχείο εικόνας δισκέτας.

Αυτό μπορείτε να το κάνετε χρησιμοποιώντας την καταχώρηση του FreeDOS, την οποία μετατρέπετε όπως φαίνεται στον παρακάτω πίνακα.

label FreeDOS
    # MENU DEFAULT
    # MENU HIDE
    MENU LABEL FreeDOS
    # MENU PASSWD
    kernel memdisk
    append initrd=freedos.img
label MyFloppy
    # MENU DEFAULT
    # MENU HIDE
    MENU LABEL My floppy - added by me!!!
    # MENU PASSWD
    kernel memdisk
    append initrd=myfloppy.img

Τελικά επιστρέφετε στο πρόγραμμα, πατάτε ENTER, και το νέο αρχείο ISO θα περιέχει το νέο σας αρχείο εικόνας δισκέτας.

Για να αφαιρέσετε το FreeDOS από το τελικό CD, το μόνο που χρειάζεται να κάνετε είναι να διαγράψετε το αρχείο freedos.img από το φάκελο /root/tmp/clonezilla-sysresccd/bootdisk, και την αντίστοιχη καταχώρηση από το αρχείο cfg.

Κάποιος με τις κατάλληλες γνώσεις, θα μπορούσε να προσθέσει ένα ακόμη CD (π.χ. το Damn Small Linux).

Ένα τελευταίο πράγμα που ίσως θέλετε να κάνετε είναι να προσθέσετε κάποια αρχεία html ως βοήθεια για το χρήστη του CD.

Παράδειγμα 2 [^]

Ένα ενδιαφέρον χαρακτηριστικό είναι ότι μορεί να οριστεί η προκαθορισμένη καταχώρηση της λίστας εκκίνησης που θα ενεργοποιηθεί όταν παρέλθει το χρονικό περιθώριο που έχει τεθεί. Συνήθως ως προκαθορισμένο θέτω την εκκίνηση από τον πρώτο σκληρό δίσκο, για να αποφύγω τυχαία εκκίνηση κάποιας από τις δύο διανομές (σε περίπτωση που το CD έχει ξεχαστεί μέσα στο drive).

Αυτό μπορείτε να το πετύχετε κάνοντας την παρακάτω αλλαγή.

label disk1
    # MENU DEFAULT
    # MENU HIDE
    MENU LABEL Boot from the first hard disk
    # MENU PASSWD
    localboot 0x80
label disk1
    MENU DEFAULT
    # MENU HIDE
    MENU LABEL Boot from the first hard disk
    # MENU PASSWD
    localboot 0x80

Παράδειγμα 3 [^]

Ένα πράγμα που μπορείτε να κάνετε ακόμη, είναι να εισάγετε «κενές» καταχωρήσεις στη λίστα εκκίνησης οι οποίες θα εμφανίζονται ως διαχωριστικά για τις υπόλοιπες. Με αυτόν τον τρόπο είναι δυνατή μια ομαδοποίηση παρόμοιων καταχωρήσεων.

Με πρότυπο και πάλι την καταχώρηση του FreeDOS, οι απαιτούμενες αλλαγές φαίνονται στον παρακάτω πίνακα.

label FreeDOS
    # MENU DEFAULT
    # MENU HIDE
    MENU LABEL FreeDOS
    # MENU PASSWD
    kernel memdisk
    append initrd=freedos.img
label Empty
    # MENU DEFAULT
    # MENU HIDE
    MENU LABEL -
    # MENU PASSWD
    kernel empty.kernel
    append initrd=freedos.img

Ο χρησιμοποιούμενος πυρήνας empty.kernel δεν υπάρχει και έτσι αν επιλεγεί η καταχώρηση, θα εμφανιστεί και πάλι το μενού.


Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

Valid HTML 4.01 Transitional Valid CSS! [Valid RSS]

[Valid RSS]   Valid CSS!  Valid HTML 4.01 Transitional

[Valid RSS]   Valid CSS!  Valid HTML 4.01 Transitional

[Valid RSS]   Valid CSS!  Valid HTML 4.01 Transitional