Δημοσιεύτηκε: 24 Ιούλ 2008, 19:31
από The_Mentor
Θυμάμαι κάποια στιγμή τον Bullgr που ανέφερε πως μετά από κάποια πειράματα που έκανε στον υπολογιστή του (κάτι που συνηθίζει), έστειλε το ubuntu στα θυμαράκια, περνώντας μια υπέροχη νύχτα επανεγκαταστάσεων, και υποθέτω πως μια τέτοια λύση είναι ιδανική για όσους ενδιαφέρονται να έχουν ένα λειτουργικό σύστημα ΑΚΡΙΒΩΣ όπως την στιγμή που πήραν αντίγραφο των πακέτων τους (δείτε το σαν μια εξαιρετική λύση backup).

Τί ακριβώς κάνει αυτή η μέθοδος;
Παίρνει σε ένα αρχείο τη λίστα με τα εγκατεστημένα πακέτα, ώστε μετά από την εγκατάσταση του λειτουργικού μπορούμε με απλό apt-get να τα ξανά-εγκαταστήσουμε ώστε να έχουμε τα πακέτα που δουλεύαμε στον υπολογιστή μας ακριβώς σαν να μην άλλαξε τίποτε.

Προσοχή!!! Σε αυτές (αλλά και σε άλλες περιπτώσεις παρόμοιες όπου διαχειριζόμαστε πακέτα) καλό είναι να πράττουμε τις ενέργειες σε όμοια λειτουργικά, δηλαδή από Hardy σε Hardy. Αν δεν υπάρχουν αλλαγές σε εκδόσεις των πακέτων (πράγμα απίθανο) πιθανόν να δουλέψει και με διαφορετικά version πχ απο Dapper σε Hardy. Προσωπικά, δε θα το έκανα!!!

1η ενέργεια είναι να πάρουμε μια λίστα με τα εγκατεστημένα πακέτα απο το σύστημά μας.
Tip: Η λίστα που παίρνουμε χρειάζεται μια απλή μορφοποίηση μιας και στην αρχική της μορφή έχει δίπλα σε κάθε πακέτο το status "install" και μετά την κάνουμε export σε ένα αρχείο, το package_list:


Κώδικας: Επιλογή όλων
sudo dpkg --get-selections | grep '[[:space:]]install$' | awk '{print $1}' > package_list


Χρειαζόμαστε επίσης και το /etc/apt/sources.list μιας και εκεί βρίσκονται όλα τα repositories που έχουμε ενεργοποιήσει (αν δεν έχουμε τα ίδια repositories ο file manager θα προσπαθεί να βρει πακέτα που δεν θα υπάρχουν).
Αυτά τα 2 τα βάζουμε σε ένα usb stick και είμαστε σχεδόν έτοιμοι.

Στο νέο μας σύστημα λοιπόν αντικαθιστούμε την source.list με αυτή που έχουμε από το παλαιό. Μετά μένει να την ανανεώσουμε με:

Κώδικας: Επιλογή όλων
sudo apt-get update


και μετά εισάγουμε την λίστα με τα πακέτα μας

Κώδικας: Επιλογή όλων
cat package_list | xargs sudo apt-get install


Μόλις τελειώσει, είμαστε έτοιμοι...




Σαν λύση Backup

Δημιουργούμε ένα script file
Κώδικας: Επιλογή όλων
$!/bin/sh

dpkg --get-selections | grep '[[:space:]]install$' | awk '{print $1}' > package_list


και το κάνουμε εκτελέσιμο με

Κώδικας: Επιλογή όλων
sudo chmod a+x /etc/cron.daily/package_list


Όπως βλέπετε το έχουμε βάλει και στο cron.daily ώστε να παίρνει καθημερινά backup την λίστα των πακέτων μας...