Κυριακή, 7 Αυγούστου 2011

Offline Package Management με το apt-offline

Τώρα το καλοκαιράκι πολύς κόσμος θα πάει στα εξοχικά του κλπ κάποια από τα οποία δεν έχουν πρόσβαση στο διαδίκτυο. Πώς εγκαθιστούμε debian/ubuntu πακέτα σε τέτοιους offline / απομακρυσμένους υπολογιστές;

Υπάρχουν πολλά projects που φιλοδοξούν να δώσουν λύση σε αυτό το πρόβλημα όπως το Keryx, το deb-downloader, το sushi-huh κλπ αλλά η προσωπική μου προτίμηση είναι το apt-offline. Δυστυχώς δε φαίνεται να υπάρχει κάποιος οδηγός στα ελληνικά γι αυτό, πράγμα που ελπίζω να καλύψει αυτό το post.

Ας θεωρήσουμε το εξής σενάριο: Έχουμε 2 υπολογιστές τον ubuntu-online και ubuntu-offline, και οι 2 τρέχουν vanilla εγκατάσταση ubuntu natty (11.04). Ο πρώτος έχει πρόσβαση στο δίκτυο και ο δεύτερος όχι. Θέλουμε να εγκαταστήσουμε στον ubuntu-offline το metapackage ubuntu-restricted-extras (ώστε να μπορούμε να βλέπουμε ταινίες κλπ) καθώς και τις τελευταίες αναβαθμίσεις (ισοδύναμο του apt-get upgrade).

Τα βήματα που μπορούμε να κάνουμε είναι τα παρακάτω:

Βήμα 1ο: Δημιουργία εικονικής μηχανής στον ubuntu-online.

Στον ubuntu-online φτιάχνουμε μία εικονική μηχανή την οποία "στήνουμε" με ακριβώς τον ίδιο τρόπο με τον ubuntu-offline (έκδοση διανομής, sources.list κλπ). Εγκαθιστούμε το apt-offline στο VM.
sudo apt-get install apt-offline
Βήμα 2ο: Προετοιμασία της λίστας πακέτων

Στο VM επίσης, τρέχουμε τα εξής:
sudo apt-offline set --install-packages \
ubuntu-restricted-extras --update --upgrade offline.sig
sudo apt-offline get offline.sig \
--no-checksum --bundle offline-pkgs.zip
Μετακινούμε το offline-pkgs (π.χ., μέσω shared folder) στον host (ubuntu-online) και το τοποθετούμε
σε ένα π.χ., usb stick. Επίσης κατεβάζουμε το apt-offline deb από το host και το τοποθετούμε επίσης στο stick. Για να το κάνουμε αυτό πάμε στο http://packages.ubuntu.com/natty/apt-offline (αντικαταστήστε το natty με τη δική σας έκδοση αν χρειάζεται) και κάνουμε κλικ εκεί που λέει "all" (όπως φαίνεται στην εικόνα).


Βήμα 3ο: Εγκατάσταση στον offline υπολογιστή

Μεταφέρουμε το stickάκι με το offline-pkgs.zip και apt-offline*.deb στον ubuntu-offline υπολογιστή και τρέχουμε με τη σειρά:
sudo dpkg -i apt-offline*.deb
sudo apt-offline install offline-pkgs.zip
sudo apt-get install ubuntu-restricted-extras

Και τελειώσαμε! Τη διαδικασία αυτή (πλην της εγκατάστασης του apt-offline) απλά την επαναλαμβάνουμε στο επόμενο ταξίδι μας στο εξοχικό μας για να μεταφέρουμε τα τελευταία updates και τυχόν extra προγράμματα.

Περιορισμοί

Μερικά προβληματάκια/περιορισμοί που μπορεί να προκύψουν με αυτή τη μέθοδο είναι π.χ., το θέμα με τα πακέτα τύπου "flashplugin-installer" τα οποία κάνουν το πραγματικό κατέβασμα και εγκατάσταση του πακέτου κατά τη διάρκεια του install script. Επίσης η πρόσθεση επιπλέον "πηγών" από τις καθορισμένες, όπως ppa κλπ μπορεί να είναι λίγο ενόχληση, αλλά και στα 2 αυτά προβλήματα βοηθάει η ύπαρξη του βοηθητικού VM, το οποίο λειτουργεί ως "ενδιάμεσο σύστημα" ("staging").

Καλές διακοπές!









Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου