Το Debian επιστρέφει στην υποστήριξη πολλαπλών συστημάτων init

Sam Hartman, Επικεφαλής του έργου Debian, δοκιμασμένος να κατανοήσουν τις διαφωνίες που σχετίζονται με την παράδοση του πακέτου elogind ως μέρος της διανομής. Τον Ιούλιο, η ομάδα που είναι υπεύθυνη για την προετοιμασία των κυκλοφοριών μπλοκαριστεί συμπερίληψη του elogind στον κλάδο δοκιμών, καθώς αυτό το πακέτο έρχεται σε διένεξη με το libsystemd.

Υπενθυμίζουμε ότι elogind παρέχει τις διεπαφές που απαιτούνται για την εκτέλεση του GNOME χωρίς εγκατάσταση του systemd. Το έργο ιδρύθηκε ως ένα fork του systemd-login, τοποθετήθηκε σε ξεχωριστή συσκευασία και απελευθερώθηκε από τη σύνδεση με τα συστατικά του systemd. Μεταξύ άλλων, το elogind παρέχει τη δική του έκδοση της βιβλιοθήκης libelogind, η οποία αναλαμβάνει μια σειρά από λειτουργίες που προσφέρονται στο libsystemd και αντικαθιστά αυτήν τη βιβλιοθήκη κατά την εγκατάσταση.

Οι λόγοι για τον αποκλεισμό ήταν μια σύγκρουση με το πακέτο systemd και ο κίνδυνος αντικατάστασης του libsystemd με ένα εναλλακτικό libelogind, το οποίο είναι εντελώς ασύμβατο με τη βιβλιοθήκη πηγής σε επίπεδο ABI.
Οι ετικέτες του πακέτου elogind έρχονται σε διένεξη με τις βιβλιοθήκες systemd, αλλά είναι εγγενώς σχεδιασμένο να λειτουργεί μόνο χωρίς systemd και η διένεξη με το systemd είναι στην πραγματικότητα ευεργετική επειδή αποτρέπει την εγκατάσταση του elogind κατά λάθος. Από την άλλη πλευρά, στην τρέχουσα μορφή του, οι προσπάθειες μέσω APT να ενημερώσουν τη διαμόρφωση από systemd στην έκδοση με sysvinit και elogind καταλήγουν σε κατεστραμμένο σύστημα με το APT να μην λειτουργεί. Αλλά ακόμα κι αν εξαλειφθεί αυτή η αδυναμία, η μετάβαση από το systemd στο elogind παραμένει αδύνατη χωρίς τη διαγραφή ήδη εγκατεστημένων περιβαλλόντων χρήστη.

Οι προγραμματιστές του elogind ήταν προτείνεται προσαρμόζει το elogind ώστε να λειτουργεί πάνω από το τυπικό σύστημα libpam, χωρίς να χρησιμοποιεί το δικό του επίπεδο libpam-elogind. Η μετάβαση του elogind στο libpam-systemd παρεμποδίζεται από την έλλειψη υποστήριξης για την έννοια των slices, αλλά οι προγραμματιστές του elogind δεν θέλουν να επιτύχουν πλήρη συμμόρφωση με το API και να επαναλάβουν ακριβώς όλες τις δυνατότητες του systemd, καθώς το elogind παρέχει μόνο ελάχιστες λειτουργικότητα για την οργάνωση των συνδέσεων χρηστών και δεν στοχεύει στην αναπαραγωγή όλων των υποσυστημάτων του συστήματος.

Η επίλυση των περιγραφόμενων τεχνικών προβλημάτων θα πρέπει να επιλυθεί στο επίπεδο αλληλεπίδρασης μεταξύ της ομάδας απελευθέρωσης και των συντηρητών elogind και systemd, αλλά ο επικεφαλής του έργου αναγκάστηκε να παρέμβει επειδή οι ομάδες δεν μπορούσαν να συμφωνήσουν, η κοινή εργασία εξελίχθηκε σε αντιπαράθεση και η λύση στο Το πρόβλημα έφτασε σε αδιέξοδο, στο οποίο κάθε πλευρά είχε δίκιο με τον δικό της τρόπο. Σύμφωνα με τον Sam Hartman, η κατάσταση πλησιάζει σε μια κατάσταση που απαιτεί γενική επίλυση (GR), στην οποία η κοινότητα θα αποφασίσει για εναλλακτικά συστήματα για init και υποστήριξη για sysvinit με elogind.

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

Αυτήν τη στιγμή βρίσκεται ήδη στο αποθετήριο συσσωρευμένος 1033 πακέτα που παρέχουν μονάδες υπηρεσιών για systemd, αλλά δεν περιλαμβάνουν σενάρια init.d. Για να λυθεί αυτό το πρόβλημα προσφέρεται παρέχει αρχεία υπηρεσίας από προεπιλογή, αλλά προετοιμάζει ένα πρόγραμμα χειρισμού που θα αναλύει αυτόματα εντολές από αυτά τα αρχεία και θα δημιουργεί σενάρια init.d με βάση αυτά.

Εάν η κοινότητα αποφασίσει ότι το Debian έχει αρκετή υποστήριξη για ένα μόνο σύστημα init, δεν μπορούμε πλέον να ανησυχούμε για το sysvinit και το elogind και να επικεντρωθούμε μόνο στα αρχεία μονάδας και στο systemd. Αυτή η απόφαση θα επηρεάσει αρνητικά τις θύρες που δεν χρησιμοποιούν τον πυρήνα Linux (Debian GNU / Hurd, Debian GNU / NetBSD и Debian GNU / kFreeBSD), αλλά δεν υπάρχουν ακόμα τέτοιες θύρες στο κύριο αρχείο και δεν έχουν την κατάσταση υποστηρίζεται επίσημα.

Η σύνδεση με το systemd θα καταστήσει επίσης πολύ πιο δύσκολη την αλλαγή της κατεύθυνσης της διανομής στο μέλλον και θα περιορίσει τον περαιτέρω πειραματισμό στον τομέα της προετοιμασίας και της διαχείρισης υπηρεσιών. Η διατήρηση του elogind σε μορφή εργασίας είναι πολύ πιο εύκολη από το να το διαγράψετε και μετά να προσπαθήσετε να το προσθέσετε ξανά. Κάθε επιλογή απόφασης έχει πλεονεκτήματα και μειονεκτήματα, επομένως θα απαιτηθεί πλήρης συζήτηση όλων των θετικών και μειονεκτημάτων πριν από την ψηφοφορία.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο