Remastering σε Ubuntu CD

dimitris | Κυρ, 01/13/2008 - 23:05 | 8' | 2

Ένας εύκολος τρόπος για να κάνετε remastering ενός Live CD του Ubuntu είναι το UCK, (Ubuntu Customisation Kit), ένα σετ από σκριπτάκια που θα βρείτε στο
http://uck.sourceforge.net

Με τη διαδικασία που περιγράφουμε παρακάτω θα μπορέσετε να φτιάξετε ένα updated (ενημερωμένο) ISO image με τα τελευταία πακέτα του Ubuntu και πλήρως εξελληνισμένο, το οποίο μπορείτε να το χρησιμοποιήσετε για την εγκατάσταση του Ubuntu σε άλλους υπολογιστές, που δεν έχουν Διαδίκτυο.

ΣΥΣΤΑΤΙΚΑ
- Εγκατεστημένο Ubuntu
- CD με Ubuntu ανά χείρας
- Ισχυρός υπολογιστής (Athlon 64, Core 2 Duo, κλπ)
- 6 GB ελεύθερα στο home
- Τουλάχιστον 1 GB RAM
- uck_1.4_all.deb

ΑΝΑΛΥΤΙΚΑ
Καταρχήν, θα  πρέπει να έχετε εγκαταστήσει κάποια έκδοση του Ubuntu στον υπολογιστή σας και να δουλεύετε από αυτό. Γίνεται και σε άλλες διανομές, αλλά στο Ubuntu είναι πολύ πιο εύκολο.
Στη συνέχεια, κατεβάστε και εγκαταστήστε το αρχείο: uck_1.4_all.deb

Το πακέτο αυτό περιέχει το βασικό σκριπτ remaster-live-cd αλλά και το uck-gui, ένα κέλυφος για τη δημιουργία CDs του Ubuntu με συγκεκριμένες γλώσσες. Εμάς μας ενδιαφέρει εδώ το remaster-live-cd και με αυτό θα δουλέψουμε.

Κατόπιν, αντιγράψτε το ISO αρχείο του Ubuntu στο δίσκο σας, και συγκεκριμένα στο home σας. Το ISO θα το βρείτε είτε από το ubuntu.com είτε στο DVD του Linux Format. Αν έχετε ήδη το δισκάκι του Ubuntu, μπορείτε πολύ εύκολα να πάρετε την ISO εικόνα του δίνοντας από την κονσόλα την εντολή:
dd if=/dev/cdrom of=ubuntu-live-cd.iso

[Αντικαταστήστε ανάλογα το /dev/cdrom για τον υπολογιστή σας]

Στη συνέχεια δημιουργήστε ένα νέο φάκελο στο home που θα στεγάσει τα σκριπτάκια, έστω custom-dir:
cd ~
mkdir custom-dir


Στη συνέχεια κάντε copy/paste το παρακάτω σκριπτάκι και σώστε το με το όνομα customize μέσα στον φάκελο custom-dir που φτιάξατε προηγουμένως:


#!/bin/bash
#install greek  language packs

function prepare_install()
{
        apt-get update
        apt-get upgrade
}

function install_packages()
{
        apt-get install --assume-yes --force-yes '[email protected]'
}

function remove_packages()
{
        apt-get --purge remove --assume-yes --force-yes '[email protected]'
}

prepare_install
echo 'Installing language pack...'
install_packages language-pack-el language-pack-gnome-el language-support-el myspell-el  openoffice.org-l10n-el aspell-el

#Remove language packs apart from Greek and English.
echo 'Removing language packages...'
#NOTE: we first install language pack, then remove others as installing language pack might pull packages
#which were not previously present
echo 'Removing unnecessary language packages...'
LANGPACKS_CONCATENATED=el|en
REMOVED_PACKAGES=`dpkg-query --show | cut -f1 | grep -E '^(language-pack|language-support)' | grep -v -E '[-]($LANGPACKS_CONCATENATED)>'`
remove_packages $REMOVED_PACKAGES || failure 'Removing packages failed, error=$?'

echo 'Done'


Κατόπιν, κάντε το εκτελέσιμο με την εντολή:
chmod 755 ~/custom-dir/customise

και τέλος δώστε την εντολή:
sudo remaster-live-cd  <path-to-original-ubuntu.iso>   custom-dir

Για παράδειγμα:
sudo remaster-live-cd  ubuntu-live-cd.iso  custom-dir

Η διαδικασία είναι χρονοβόρα αλλά αυτόματη. Τι κάνει ακριβώς αυτό το σκριπτ;

Καταρχήν, αντιγράφει τα περιεχόμενα του ISO στο φάκελο ~/tmp/remaster-iso και αποσυμπιέζει το αρχείο filesystem.squashfs, το οποίο περιέχει το σύστημα αρχείων του Ubuntu, στο φάκελο ~/tmp/remaster-root .

Κατόπιν κάνει chroot στα αποσυμπιεσμένα περιεχόμενα του filesystem.squashfs (με απλά λόγια: κάνει το Ubuntu  που τρέχετε να πιστεύει ότι τα αρχεία του βρίσκονται στο ~/tmp/remaster-root) και εκτελεί εκεί τα παρακάτω βήματα:
- update & upgrade στα πακέτα
- εγκατάσταση πακέτων εξελληνισμού
- διαγραφή όλων των υπολοίπων γλωσσών από το CD

Κατά τη διάρκεια των βημάτων αυτών, εσείς απλώς καααααθεστε. Θα σας ζητήσει μόνο να επιβεβαιώσετε ότι θέλετε να κατεβούν όλα τα πακέτα του apt-get upgrade. Ανάλογα με το αρχικό ISO αυτό μπορεί να πάρει ΠΟΛΥ ώρα. Στην περίπτωσή μας, μια και χρησιμοποιήσαμε beta έκδοση του Feisty, έπρεπε να κατεβούν 288 πακέτα...

Στη συνέχεια το script συμπιέζει ξανά τα περιεχόμενα του squashfs αρχείου. Αυτή η διαδικασία παίρνει ΠΑΡΑ ΠΟΛΥ ΩΡΑ και καλά θα κάνετε να έχετε αρκετά ισχυρό σύστημα με πολύ μνήμη. Στη δοκιμή μας, χρησιμοποιήσαμε ένα Core 2 Duo με 1GB και η δημιουργία του filesystem.squashfs πήρε περίπου 20 λεπτά. Όλη η διαδικασία, μαζί με το κατέβασμα των περίπου 250 αρχείων, πήρε πάνω από 2 ώρες. Να ένα στιγμιότυπο από τη δημιουργία (συμπίεση) του filesystem.squashfs:



Η διαδικασία αυτή δοκιμάστηκε με το CD του Feisty Fawn Beta. Στο φάκελο  ~/tmp/remaster-new-files  δημιουργήθηκε ένα ενημερωμένο ISO με ελληνικά out-of-the-box, το οποίο πρώτα δοκιμάσαμε με το Qemu ότι παίζει και μετά το κάψαμε στο δισκάκι μας...

Σημειώστε ότι το νέο ISO ήταν λίγο πάνω από τα 700MB (το γράψαμε με overburn άνετα από το K3B 1.0). Αυτό δεν είναι πρόβλημα, αν θέλετε να το κάψετε σε DVD. Σε αυτήν την περίπτωση, μπορείτε μάλιστα να εγκαταστήσετε και το πακέτο kubuntu-desktop προσθέτοντας απλά στο αρχείο customise την εντολή
sudo apt-get install kubuntu-desktop

μετά την εντολή sudo apt-get upgrade. Έτσι θα έχετε και το Ubuntu και το Kubuntu σε ένα DVD.

Αν πάλι θέλετε το ISO να χωράει σε ένα DVD, απλώς διαγράψτε από την γραμμή install_packages κάποια από τα πακέτα: language-pack-el language-pack-gnome-el language-support-el myspell-el  openoffice.org-l10n-el aspell-el που πιάνουν χώρο ή πειραματιστείτε ακόμα περισσότερο με τα πακέτα που μπορείτε να αφαιρέσετε...

Περισσότερες πληροφορίες, για αυτό το έξοχο προγραμματάκι, μπορείτε να διαβάσετε στην τεκμηρίωση του UCK:
http://svn.sourceforge.net/viewvc/*checkout*/uck/trunk/uck/d ocs/index.html


dimitris2007-4-8 0:44:46

Φόρουμ
Δώσε αστέρια!
Σχόλια

Το remaster-live-cd μπορεί να κάνει πολύ περισσότερα πράγματα, εκτός από την απλή αναβάθμιση της διανομής. Μπορείτε να αλλάξετε τα modules του πυρήνα, να αλλάξετε γραφικό θέμα, κά. Όλα αυτά γίνονται μέσω αντίστοιχων scripts που δημιουργείτε στο φάκελο custom-dir.

Παραδείγματα τέτοιων scripts θα βρείτε στο tarball του UCK, που μπορείτε να κατεβάσετε από την ιστοσελίδα του (δείτε αρχικό ποστ).



Αν θέλετε να αλλάξετε το ίδιο το remaster-live-cd θα το βρείτε στο /usr/bin. Αν θέλετε να πειράξετε τις ιδιότητες του τελικού ISO, πρέπει να ανοίξετε το αρχείο /usr/lib/uck/remaster-live-cd.sh και να πάτε στο τέλος του όπου βρίσκεται η εντολή mkiso...
dimitris2007-4-8 1:22:12

ΩΡΕΟ ΕΡΓΑΛΕΙΟ ΧΩΡΙΣ ΝΑ ΧΡΕΙΑΖΕΤΑΙ SCRIPTAKIA ΑΠΟ ΓΡΑΦΙΚΟ ΠΕΡΙΒΑΛΩΝ ΕΙΝΑΙ TO RECONSTRUCTOR. ΔΟΥΛΕΥΕΙ ΜΕ ΤΟ 7.04 ΚΑΙ ΠΡΕΠΕΙ ΝΑ ΔΟΥΛΕΥΕΙ ΚΑΙ ΜΕ ΤΟ 7.10.

reconstructor.aperantis.com/