Δημοσιεύτηκε: 24 Απρ 2014, 17:46
από Learner

Ο παρακάτω οδηγός αν και αναφέρεται και στην σταθερή έκδοση 14.04 LTS, αφορά τον systemd όπου είναι καθαρά πειραματικό πακέτο. Γι' αυτό το λόγο συμπεριλαμβάνεται στην ενότητα Ubuntu +1



Ο systemd είναι ο μελλοντικός system management daemon που θα διαχειρίζεται το boot του συστήματος, αντί του upstart που υπάρχει τώρα. Η ανακοίνωση, για όσους δεν την έχουν διαβάσει, έχει ήδη γίνει από τον Mark Shuttleworth στο blog του(αγγλικά). Όσοι θέλετε να το δοκιμάσετε από τώρα, υπάρχουν κάποια testing πακέτα που θα σας το επιτρέψουν.

Ο Martin Pitt στο blog του, αναφέρει την διαδικασία και την κάνω σχεδόν copy-paste (σε απλά ελληνικά) εδώ για όσους θέλουν να δοκιμάσουν.

Για την 14.04
Υπάρχει ένα αποθετήριο που περιέχει τα πακέτα του systemd και μπορείτε να προσθέσετε - ενεργοποιήσετε με τις παρακάτω εντολές σε ένα τερματικό
Κώδικας: Επιλογή όλων
sudo add-apt-repository ppa:pitti/systemd
sudo apt-get update
sudo apt-get dist-upgrade

Θα αντικατασταθούν κάποιες βιβλιοθήκες και πακέτα που είναι απαραίτητα για την χρήση του systemd.
Για την 14.10
Για όσους έχουν αναβαθμίσει ήδη στην 14.10 (development branch) μπορούν να χρησιμοποιήσουν τις παρακάτω εντολές, μέχρι τουλάχιστον να ενεργοποιηθεί το αποθετήριο και για την 14.10.
Κώδικας: Επιλογή όλων
echo "deb http://ppa.launchpad.net/pitti/systemd/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/pitti-systemd.list
sudo apt-key adv --recv-key --keyserver keyserver.ubuntu.com 99B656EA8683D8A2
sudo apt-get update
sudo apt-get dist-upgrade


Προσέξτε ότι η παραπάνω διαδικασία για την 14.10 θα αλλάξει μελλοντικά και ίσως να μην ισχύει. Η 14.10 προβλέπεται να έχει τον systemd από προ-επιλογή και τα πακέτα θα ανέβουν απευθείας στο αποθετήριο κάποια στιγμή.

Ακόμη όμως και μετά τις παραπάνω εντολές θα συνεχίσετε να κάνετε boot στο upstart. Για να δείτε το systemd θα πρέπει να επεξεργαστείτε (on the fly που λένε) μια γραμμή στο μενού του grub και συγκεκριμένα την γραμμή linux και να προσθέσετε το init=/lib/systemd/systemd
Αυτό το κάνουμε σχετικά εύκολα με το πλήκτρο e (edit) στο μενού του grub. Αφού φορτώσει το μενού του grub επιλέγουμε την διανομή (ubuntu - πρώτη επιλογή) και πατάμε το πλήκτρο e. Έπειτα, με τα βελάκια πάμε στην γραμμή που ξεκινά με linux και προσθέτουμε χειροκίνητα (γράφουμε) το init=/lib/systemd/systemd, μετά πατάμε F10 για να γίνει κατευθείαν boot στο Ubuntu μέσω του systemd.

Στην παρακάτω εικόνα, εκεί που δείχνει το βελάκι, μπορούμε να προσθέσουμε την γραμμή: init=/lib/systemd/systemd


Αυτή η αλλαγή δεν είναι μόνιμη, είναι προσωρινή και μόνον για ένα boot. Αυτό το κάνουμε για «λόγους ασφαλείας» σε περίπτωση που κάτι πάει στραβά και δεν κάνει boot το σύστημα, στην επόμενη επανεκκίνηση θα κάνουμε boot μέσω upstart κανονικά.

Για μόνιμη αλλαγή:
Αν όμως είμαστε ευχαριστημένοι από το systemd και θέλουμε να το κρατήσουμε, τότε πρέπει να επεξεργαστούμε το αρχείο /etc/default/grub και να προσθέσουμε την γραμμή(init=/lib/systemd/systemd) εκεί για να την κάνουμε μόνιμη.
Ανοίγοντας το αρχείο με έναν editor (εδώ χρησιμοποιώ τον gedit) βρίσκουμε την γραμμή GRUB_CMDLINE_LINUX_DEFAULT= και ανάμεσα στα εισαγωγικά προσθέτουμε και την γραμμή: init=/lib/systemd/systemd . Η γραμμή θα πρέπει να γίνει κάπως έτσι
Κώδικας: Επιλογή όλων
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash init=/lib/systemd/systemd"




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

και πλέον το systemd θα είναι μόνιμο.

Επιστροφή στο upstart και τα official πακέτα
Για να επιστρέψουμε στα official πακέτα της διανομής, θα πρέπει να χρησιμοποιήσουμε την ppa-purge από upstard mode.
Οπότε, αφαιρούμε την γραμμή init=/lib/systemd/systemd από τον grub. Ακολουθώντας παρόμοια διαδικασία όπως όταν την προσθέσαμε και κάνουμε μια επανεκκίνηση(αν δεν την έχουμε προσθέσει με τον μόνιμο τρόπο, τότε δεν χρειάζεται κάτι άλλο από μια επανεκκίνηση).

Πιθανών θα διαπιστώσουμε ότι δεν μπορούμε να συνδεθούμε σωστά στο Internet, αυτό είναι ένα πρόβλημα που θα διορθωθεί σύντομα. Ένα πρόβλημα που υπάρχει καθιστά αδύνατη την σωστή λειτουργία του resolv.conf, οπότε και δεν θα μπορούμε να δουλέψουμε με την ppa-purge. Αν διαπιστώσετε κάτι τέτοιο, εκτελείτε τις παρακάτω εντολές
Κώδικας: Επιλογή όλων
sudo rm /etc/resolv.conf
sudo ln -s  /run/resolvconf/resolv.conf /etc/resolv.conf
sudo resolvconf -u
sudo service network-manager restart

και θα πρέπει να είστε εντάξει.

Το παραπάνω πρόβλημα αναφέρθηκε και λύθηκε στο IRC, συζητώντας με τον Martin Pitt (pitti). Τα logs υπάρχουν εδώ(από 07:54 έως 09:11).

Τότε μπορείτε να τρέξετε τις παρακάτω εντολές για να απενεργοποιήστε το αποθετήριο και να επιστρέψετε στα official πακέτα.
Κώδικας: Επιλογή όλων
sudo ppa-purge ppa:pitti/systemd
sudo apt-get update