Systemd

Το systemd (προφέρεται system d, σίστεμ ντι) είναι το πιο διαδεδομένο σύστημα εκκίνησης και διαχείρισης διεργασιών σε λειτουργικά συστήματα Linux. Η σταδιακή υιοθέτηση του systemd σαν το προεπιλεγμένο ή και το μόνο σύστημα εκκίνησης και διαχείρισης διεργασιών στις περισσότερες διανομές Linux άρχισε μια πολύ μεγάλη συζήτηση στην κοινότητα των χρηστών των διανομών, καθώς αρκετοί χρήστες διαφωνούν με την φιλοσοφία, τους τρόπους λειτουργίας ή/και τη διαχείριση του εγχειρήματος.

 Το systemd προέκυψε το 2010 όταν ο Lennart Poettering , τότε υπάλληλος της Red Hat, άρχισε να αναπτύσσει το systemd με σκοπό να αντιμετωπίσει διάφορα προβλήματα που παρουσιάζονταν στα τότε συστήματα εκκίνησης σε διανομές Linux. Κάποια από αυτά τα προβλήματα ήταν η έλλειψη παραλληλισμού και απλού συστήματος διαχείρισης εξαρτώμενων πακέτων λογισμικού, όπως και η κεντρική διαχείριση των προγραμμάτων που αρχίζουν την εκτέλεση τους κατά την εκκίνηση του υπολογιστή. Το σύστημα υιοθετήθηκε από διανομές Linux σχετικά γρήγορα. Μόλις από το 2011, η διανομή Fedora υιοθέτησε το systemd ως το προεπιλεγμένο πρόγραμμα εκκίνησης, αντικαθιστώντας το παλαιότερο SysVinit. Ένα χρόνο μετά την δημιουργία του, το systemd υποστήριζε μεταξύ άλλων την εκκίνηση και το σταμάτημα εφαρμογών μέσω Dbus, την επαναφορά προηγούμενων καταστάσεων συστήματος, την παρακολούθηση διεργασιών μέσω των cgroups του πυρήνα Linux, τον ορισμό εξειδικευμένων τοποθεσιών στο σύστημα για πρόσθεση και αφαίρεση υλικού (mounting και unmounting) και την λογική διαχείρισης εργασιών και προγραμμάτων με ένα σκεπτικό αλληλοεξαρτήσεων, κάτι που βοηθούσε στον έλεγχο του συστήματος κεντροποιημένα. Μάλιστα, το systemd ήταν συμβατό τα σενάρια SysV και άμεσα αντικαταστάσιμο με το SysVinit, καθώς λίγες αλλαγές έπρεπε να γίνουν από τους χρήστες για την μετάβαση από το ένα σύστημα στο άλλο. Μετά από την Fedora, η επόμενη διανομή η οποία υιοθέτησε το systemd ήταν η Arch Linux το 2012, από το SysVinit ξανά. Η δικαιολόγηση από τους προγραμματιστές για την αλλαγή ήταν ότι οι διαφωνίες για την μη υιοθέτηση του systemd δεν ήταν αρκετά σοβαρές για να αποτελέσουν τροχοπέδη. Ως παράδειγμα διαφωνιών δόθηκαν η αντιπάθεια που είχε σχηματιστεί για τον Lennart σε κάποιες μερίδες της κοινότητας, η ανάπτυξη του systemd σε μια γλώσσα προγραμματισμού διαφορετική από το bash (που θεωρούταν από κάποιους ως πιο απλό στην υλοποίηση), η διαφωνία με την αρχιτεκτονική του συστήματος αρχείων, η διαφωνία της χρήσης του λογισμικού Dbus και η διστακτικότητα από κάποια μέλη της κοινότητας απέναντι στο systemd λόγω του ότι οι λειτουργίες του ήταν πολύ πιο εκτεταμένες από το SysVinit, το μέγεθος του πολύ μεγαλύτερο. Αυτές οι ανησυχίες φάνηκαν στους προγραμματιστές του Arch Linux ότι εξέφραζαν την γενικότερη διστακτικότητα της κοινότητας απέναντι στον Lennart περισσότερο ως άτομο και λιγότερο την αντικειμενική κριτική του systemd ως λογισμικό. Οπότε, με παρόμοια έμφαση με τα θετικά χαρακτηριστικά του, η ομάδα των προγραμματιστών αποφάσισε την υιοθέτηση του systemd.Επόμενη ήταν η Debian GNU/Linux το 2014. Αυτή η αλλαγή στην Debian ήταν ίσως από της πιο διασπαστικές και πολυσυζητημένες αλλαγές, όχι μόνο στην κοινότητα της διανομής, αλλά και στην γενικότερη κοινότητα Linux. Οι επιλογές ήταν κυρίως ανάμεσα στο προαναφερθέν SysVinit, το Upstart Αρχειοθετήθηκε 2018-12-30 στο Wayback Machine., το OpenRC. Από αυτά επικράτησε τελικά το systemd. Αναφέρθηκε ότι πολλές διανομές όπως Arch Linux, Fedora, Mageia και OpenSUSE είχαν ήδη υιοθετήσει το systemd και αυτό γινόταν το πρότυπο της βιομηχανίας γρήγορα. Αποφασίστηκε δηλαδή ότι η γενικότερη κοινότητα είχε αρχίσει να περιμένει λειτουργείες που προσέφερε το systemd ως κάτι βασικό για ένα λειτουργικό σύστημα. Επίσης, τονίσθηκε ότι για την χρήση που αποσκοπεί η Debian, που είναι κυρίως προσωπικοί υπολογιστές και δευτερευόντως διακομιστές, το systemd προσέφερε στον μέσο χρήστη καλύτερη εμπειρία και αρκετό έλεγχο, χωρίς ταυτόχρονα να απαιτεί υπερβολικό χρόνο εκμάθησης.