Debian με Systemd ή Upstart;

dsyrmalis | Δευ, 10/28/2013 - 18:21 | 2' | 3

Ο δαίμονας (daemon) init ( initialization) είναι η πρώτη διεργασία που τρέχει μετά το φόρτωμα του πυρήνα κατα την εκκίνηση του συστήματος και παραμένει ενεργή μέχρι και το κλείσιμο του υπολογιστή μας.

Στην κοινότητα του Debian και συγκεκριμένα στη Debian-Devel mailing list υπάρχει προβληματισμός για το επόμενο βήμα και την αντικατάσταση του τωρινού init απο το Systemd ή το Upstart.

Τα πλεονεκτήματα της αλλαγής θα είναι τα εξής:

  • Περισσότερες δυνατότητες-λειτουργίες
  • Σταθερή υποστήριξη για προχωρημένα περιβάλλοντα (Boot/SAN)
  • Ομοιογένεια με άλλες διανομές (Ubuntu ή RHEL)
  • Ευκολότερο πακετάρισμα σε λογισμικό όπως το Gnome

Και το μειονέκτημα:

  • Πολύ δουλειά αφού μιλάμε για μια αρκετά μεγάλη αλλαγή σε μια διανομή με χιλιάδες πακέτα, εκδόσεις συν την συντήρηση κλπ.

Ίσως προβάδισμα να έχει το Upstart αφού υπάρχουν ήδη έτοιμα patch απο το Ubuntu. Ο υποφαινόμενος θεωρεί πως πρέπει να υιοθετηθεί αυτό που είναι πιο σταθερό και πιο απλό.

Σκέψεις υπάρχουν και για το πότε θα πραγματοποιηθούν οι αλλαγές. Μια πιθανότητα είναι η επόμενη έκδοση του Debian να είναι μεταβατική και στη μεθεπόμενη να γινεί οριστικά.

Δώσε αστέρια!
Σχόλια

για μια σχετική συζήτηση

εν ολίγης όπως το καταλαβαίνω
το debian είναι πολύ συντηρητικό εγχείρημα και δεν αποκλείεται να περιμένει και άλλο. Κάποια στιγμή όμως θα κάνει το βήμα προς το μέλλον. Το να παραμείνει αιωνίως στο αρχαίο init δεν γίνεται. Για να συνοψίσω:
α) αρχαίο init: είναι πλέον παρωχημένο
β) upstart: το χρησιμοποιούν τα ubunutu-οειδή και το chromeos
γ) systemd: όλες οι άλλες διανομές λίνουξ κινούνται εκεί. Θεωρείται τεχνολογικά πιο προηγμένο από το upstart αλλά και λιγότερο ώριμο. Δουλεύει μόνο με Linux (οπότε άλλοι πυρήνες όπως BSD που το debian υποστηρίζει έχουν πρόβλημα).

Οπότε είναι φυσικό να περιμένουμε από τις περισσότερες διανομές λίνουξ να διαλέγουν systemd αλλά η ιδιαιτερότητα τού debian καθιστά μια τέτοια επιλογή τώρα κάπως απίθανη (θα δούμε βέβαια, δεν ξέρω). Βλέπω τέσσερα σενάρια.
α) δεν κάνει τώρα την αλλαγή και περιμένει
β) επιλέγει τώρα upstart
γ) επιλέγει τώρα upstart αλλά διατηρεί την επιφύλαξη να ξαναλλάξει στο μέλλον
δ) επιλέγει τώρα systemd

 

 

H debian ένα απλό πραγματάκι αρκεί να κάνει όσο πιο γρήγορα γίνεται, να βγάλει το sysvinit από τα essential πακέτα, τίποτα άλλο. Έτσι κι αλλιώς το sysvinit δεν πληρεί τις προϋποθέσεις για να είναι στα essential και το ότι μπήκε εκεί μάλλον ήταν λάθος από την αρχή. Το ubuntu έχει βγάλει το init από τα essential εδώ και καιρό.

Αυτό το απλό πραγματάκι αν έκαναν, θα μπορούσε το μεγαλύτερο πρόβλημα να λυθεί οργανικά. Δηλαδή άπαξ και καθένας μπορεί να εγκαθιστά όποιο init γουστάρει χωρίς να τον πολεμά μετά ο package manager, σε 1-2 χρονάκια τα "init wars" θα έχουν τελειώσει και θα μιλήσουν τα νούμερα (και η δημοτικότητα αλλά και στην πράξη το ποια συστήματα δουλεύουν καλύτερα).

Το σημαντικό αυτή τη στιγμή είναι να μπορούμε να εγκαταστήσουμε ένα εναλλακτικό init χωρίς να πρέπει να πειράζουμε το kernel command line και χωρίς να μας πολεμάει ο package manager μετά ("δημιουργήσατε μια απίθανη κατάσταση" ...).

Βλ. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645540

Δε λέω ότι είναι τόσο δύσκολο πια να δουλέψει κάποιος το debian με systemd, αλλά σίγουρα είναι λίγο σπαστικό / ενοχλητικό αυτή τη στιγμή.

 

 

Τα πράγματα δεν είναι τόσο απλά. Το systemd χρησιμοποιεί πολλά ειδικά χαρακτηριστικά που υπάρχουν μόνο σε Linux συστήματα (πχ τα cgroups, udev, inotify και πολλά άλλα). Το debian υποστηρίζει πολλούς πυρήνες που απλά δεν είναι linux (πχ hurd).
Οπότε η ιοθέτηση του απο το debian σημαίνει πως είτε θα πρέπει να υπάρξει τρελή δουλεία για να προστεθούν αυτά τα χαρακτηριστικά, είτε να εγκαταλείψει τους εναλακτικούς πυρήνες, είτε να έχει πολλαπλά codebases.