Δημοσιεύτηκε: 10 Αύγ 2012, 09:38
από fkol k4

Κάθε οδηγός (όπως αυτός) αλλά και κάθε θέμα, υπάρχει η δυνατότητα να προστίθεται στα αγαπημένα σας θέματα του λογαριασμού σας στο forum, ώστε ή να ανατρέχετε εύκολα σε αυτό ανεξάρτητα από το αν υπάρχει ή όχι στους σελιδοδείκτες του browser σας, ή να το βρίσκετε αμέσως για να το προτείνετε σε κάποιον άλλο χρήστη. Δείτε εδώ πως μπορείτε να κάνετε κάτι τέτοιο.


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

Κάποιες λοιπόν από αυτές τις διανομές, αναγνωρίζονται από τον Grub με κοινό όνομα.
Για παράδειγμα, το Xubuntu και το Voyager Linux αναγνωρίζονται από τον Grub ως Ubuntu. Χωρίς να είμαι απόλυτα σίγουρος γι αυτό, νομίζω πως το ίδιο ισχύει και για τις διανομές Kubuntu και Lubuntu και ίσως και για κάποιες άλλες ακόμα.

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

Κάνοντας λοιπόν την ενημέρωση του Grub με την εντολή
Κώδικας: Επιλογή όλων
sudo update-grub
, στην επόμενη επανεκκίνηση θα δούμε πως οι διαφορετικές διανομές μας έχουν το ίδιο όνομα.

Ίσως να μην είναι σοβαρό πρόβλημα μιας και πάντα μπορούμε να ξεχωρίσουμε για ποια διανομή πρόκειται από το διαμέρισμα στο οποίο έχει εγκατασταθεί (πχ /dev/sda1. /dev/sda2 κτλ), είναι όμως σπαστικό να βλέπεις στον Grub την ίδια καταχώρηση συνέχεια.

Μία λύση είναι να αλλάξουμε με το χέρι τις καταχωρήσεις του Grub στο αρχεία /boot/grub/grub.cfg, για παράδειγμα να αλλάξουμε την καταχώρηση
Κώδικας: Επιλογή όλων
menuentry "Ubuntu, με Linux 3.2.0-27-generic (on /dev/sda2)"
σε
Κώδικας: Επιλογή όλων
menuentry "Voyager με Linux 3.2.0-27-generic (on /dev/sda2)"


Αυτό θα διορθώσει το πρόβλημα μέχρι την επόμενη ενημέρωση του Grub αλλά τότε θα εμφανιστεί ξανά, οπότε χρειαζόμαστε μια πιο μόνιμη λύση.
Η διαδικασία που θα ακολουθήσουμε, χωρίζεται σε 2 βήματα:

  1. Βήμα 1ο: Αλλάζουμε το όνομα με το οποίο ο Grub της διανομής μας αναγνωρίζει την ίδια μας τη διανομή.
    Ο Grub αναγνωρίζει τη διανομή μας σύμφωνα με τη μεταβλητή GRUB_DISTRIBUTOR, η οποία βρίσκεται στο αρχείο /etc/default/grub.
    Δίνοντας την εντολή
    Κώδικας: Επιλογή όλων
    gksudo gedit /etc/default/grub
    θα εμφανιστούν τα περιεχόμενα του αρχείου που περιέχει τη ρύθμιση αυτή.
    Η προεπιλεγμένη για το Ubuntu τιμή, είναι
    Κώδικας: Επιλογή όλων
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

    Τη γραμμή αυτή μπορούμε να την μετατρέψουμε σε
    Κώδικας: Επιλογή όλων
    GRUB_DISTRIBUTOR="Το όνομα που θέλουμε"

    Προσέξτε πως στη 2η γραμμή χρησιμοποιούνται διπλά εισαγωγικά και όχι μονά όπως στην 1η, αυτό έχει σημασία. Αν δεν αλλάξετε και τα εισαγωγικά, τότε θα πάρετε μήνυμα σφάλματος και η αλλαγή δεν θα γίνει


    Έτσι, αφού δώσουμε την εντολή
    Κώδικας: Επιλογή όλων
    sudo update-grub
    η διανομή μας πλέον θα αναγνωρίζεται με το όνομα που θέλουμε.

  2. Βήμα 2ο: Αλλάζουμε το όνομα με το οποίο ο Grub άλλων διανομών αναγνωρίζει τη διανομή μας.
    Όταν ο Grub ψάχνει για τις υπόλοιπες διανομές, διαβάζει το όνομά τους από το αρχείο /etc/lsb-release της κάθε μιας από αυτές.
    Δίνοντας την εντολή
    Κώδικας: Επιλογή όλων
    gksudo gedit /etc/lsb-release
    , θα εμφανιστούν τα περιεχόμενα του αρχείου που περιέχει τα δεδομένα της ονομασίας της διανομής. Στην περίπτωση του Voyager Linux για παράδειγμα θα εμφανιστούν τα στοιχεία
    Κώδικας: Επιλογή όλων
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=12.04
    DISTRIB_CODENAME=precise
    DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"

    Οπότε ο Grub των άλλων διανομών διαβάζει το Voyager μας ως Ubuntu 12.04 LTS.
    Αυτό λοιπόν που μας ενδιαφέρει, είναι να αλλάξουμε την τιμή της μεταβλητής DISTRIB_DESCRIPTION που βρίσκεται στην 4η γραμμή.
    Αλλάζουμε λοιπόν την τιμή της, κάνοντας το αρχείο ως εξής:
    Κώδικας: Επιλογή όλων
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=12.04
    DISTRIB_CODENAME=precise
    DISTRIB_DESCRIPTION="Voyager 12.04 LTS"

    Έτσι, η διανομή θα αναγνωρίζεται στο εξής ως Voyager και θα ξεχωρίζει στο μενού του Grub.

Το ίδιο μπορούμε να κάνουμε και σε μια standard έκδοση του Ubuntu που έχουμε ως "πειραματόζωο", αντικαθιστώντας τα ονόματα όπως μας βολεύει, ώστε να ξεχωρίζουμε τις δύο διανομές μεταξύ τους.

Τα παραπάνω ισχύουν σε Ubuntu-based διανομές. Για άλλες διανομές τα αρχεία πιθανώς να είναι διαφορετικά. Για παράδειγμα, στις παρακάτω διανομές ισχύει:


  • Για το Sabayon Linux, ο Grub διαβάζει το αρχείο /etc/gentoo-release
  • Για τη Fedora, υπάρχουν τα αρχεία etc/fedora-release και /etc/os-release

Creative Commons License
Η εργασία υπάγεται στην άδεια Creative Commons Αναφορά-Μη εμπορική χρήση-Παρόμοια διανομή 3.0 Ελλάδα