- Το systemd 259 εισάγει μερική υποστήριξη για το musl, μεγαλύτερη αρθρωσιμότητα στο libsystemd και ένα μοντέλο δικαιωμάτων που επιβάλλεται με το run0 --empower.
- Ο πήχης των απαιτήσεων ανεβαίνει: Ο πυρήνας Linux 5.10, το glibc 2.34, το OpenSSL 3.0.0 και άλλες σύγχρονες βιβλιοθήκες καθίστανται υποχρεωτικές ελάχιστες απαιτήσεις.
- Η απόσυρση από τα legacy scripts επιταχύνεται: αντίο στα SysV scripts, τέλος της υποστήριξης του TPM 1.2, εγκατάλειψη των iptables και πλήρης υιοθέτηση των nftables.
- Βελτιώνουν την παρατηρησιμότητα και την ασφάλεια με μόνιμο ημερολόγιο από προεπιλογή, νέες μετρήσεις OOMKills και πολλαπλές προσαρμογές σε δίκτυα, κοντέινερ και οικιακά περιβάλλοντα.
Η κυκλοφορία του systemd 259 ως σταθερής έκδοσης αντιπροσωπεύει μια ακόμη ανατροπή σε ένα από τα πιο αμφιλεγόμενα και ουσιαστικά στοιχεία του οικοσυστήματος Linux. Μιλάμε για το πλαίσιο για την εκκίνηση και τη διαχείριση υπηρεσιών που ήδη κυριαρχεί στις περισσότερες διανομές, και αυτή η έκδοση σφίγγει περαιτέρω τα εμπόδια όσον αφορά τις τεχνικές απαιτήσεις, την ασφάλεια και την εγκατάλειψη παλαιών τεχνολογιών.
Αυτή η ενημέρωση έρχεται μετά από αρκετούς μήνες εντατικής εργασίας και εστιάζει σε τρεις κύριους τομείς: συμβατότητα με νέες βιβλιοθήκες C, βελτιωμένη ασφάλεια και καθαρισμό παλαιού κώδικα (scripts SysV, TPM 1.2, iptables, κ.λπ.). Εισάγει επίσης σημαντικές αλλαγές στη διαχείριση δικαιωμάτων με το run0, στον χειρισμό μνήμης με το systemd-oomd, στην αποθήκευση αρχείων καταγραφής και στο εσωτερικό μοντέλο εξάρτησης του libsystemd.
systemd 259 και πειραματική υποστήριξη για musl
Ένα από τα πιο πολυσυζητημένα χαρακτηριστικά αυτής της έκδοσης είναι ότι το systemd 259 ενσωματώνει, για πρώτη φορά, μερική υποστήριξη για την τυπική βιβλιοθήκη musl της C. Αυτή η βιβλιοθήκη χρησιμοποιείται ευρέως σε ελαφριά συστήματα, μινιμαλιστικά κοντέινερ και ενσωματωμένα περιβάλλοντα, όπου επιθυμείται η απλότητα και η μειωμένη κατανάλωση πόρων σε σύγκριση με το glibc.
Η υποστήριξη για το musl ενεργοποιείται ορίζοντας την επιλογή "libc" του συστήματος δημιουργίας Meson σε "musl" . Ωστόσο, αυτή η ενσωμάτωση απέχει πολύ από το να είναι ολοκληρωμένη: το musl δεν εφαρμόζει τον μηχανισμό Name Service Switch (NSS), ο οποίος επιβάλλει την απενεργοποίηση αρκετών τμημάτων του systemd κατά τη μεταγλώττιση σε αυτήν τη βιβλιοθήκη.
Συγκεκριμένα, η δημιουργία του systemd 259 με musl εξαιρεί βασικά στοιχεία όπως τα nss-systemd, nss-resolve, systemd-homed, systemd-userdbd και systemd-nsresourced . Η επιλογή DynamicUser και η δυνατότητα εκτέλεσης του systemd-nspawn χωρίς δικαιώματα δεν είναι επίσης διαθέσιμες, κάτι που είναι ιδιαίτερα σημαντικό σε περιβάλλοντα κοντέινερ που βασίζονται σε μεγάλο βαθμό σε αυτές τις δυνατότητες.
Οι ίδιοι οι προγραμματιστές αναγνωρίζουν ότι δεν μπορούν να εγγυηθούν μακροπρόθεσμη υποστήριξη . Η συνέχισή της θα εξαρτηθεί από το πραγματικό ενδιαφέρον της κοινότητας, την ωριμότητα των πρόσθετων επιπέδων που παρέχουν τις λειτουργίες που δεν διαθέτει το musl και τις αναφορές σφαλμάτων που αφορούν συγκεκριμένα αυτήν τη βιβλιοθήκη. Εάν η ζήτηση είναι χαμηλή ή η συντήρηση αποδειχθεί πολύ περίπλοκη, δεν θα ήταν έκπληξη αν αυτή η υποστήριξη αναθεωρούνταν σε μελλοντικές εκδόσεις.
Ωστόσο, αυτό το άνοιγμα στο musl είναι σημαντικό σε συμβολικό επίπεδο: το systemd είχε επικριθεί εδώ και χρόνια για την σχεδόν αποκλειστική εξάρτησή του από το glibc , γεγονός που το καθιστούσε μη φιλικό προς εναλλακτικές διανομές και πολύ μινιμαλιστικά σενάρια. Αυτό το βήμα δεν λύνει τα πάντα, αλλά σπάει την εικόνα ενός συστήματος εντελώς κλειστού σε άλλες βιβλιοθήκες C.
run0 και το νέο μοντέλο δικαιωμάτων: μια εναλλακτική λύση στο sudo
Ένα άλλο σημαντικό χαρακτηριστικό του systemd 259 είναι η χρησιμότητα run0, που προτείνεται ως μια σύγχρονη και ασφαλέστερη αντικατάσταση του sudoΑυτό το εργαλείο είχε ήδη κατασκευαστεί στο systemd-run, αλλά τώρα αποκτά μια βασική δυνατότητα: την επιλογή --empower.
Το νέο όρισμα `--empower` σάς επιτρέπει να ξεκινήσετε μια συνεδρία με αυξημένα δικαιώματα χωρίς να αλλάξετε το UID σας σε root . Αντί για έναν παραδοσιακό διακόπτη χρήστη, το `run0` αξιοποιεί τις δυνατότητες του πυρήνα (όπως το `CAP_SYS_ADMIN`) για να παραχωρήσει με ακρίβεια τα δικαιώματα που απαιτούνται για την εκτέλεση προνομιούχων ενεργειών, μειώνοντας την έκθεση σε περίπτωση που γίνει κάποιος root.
Επιπλέον, οι διεργασίες που ξεκινούν με αυτήν την προσέγγιση ομαδοποιούνται σε μια λογική ομάδα "εξουσιοδότησης" με πρόσβαση σε ένα ευρύ σύνολο ενεργειών που διαχειρίζεται το Polkit . Η ιδέα είναι ότι η αύξηση των προνομίων είναι λεπτομερής και ελεγχόμενη, διατηρώντας έναν αυστηρότερο διαχωρισμό από αυτόν που προσφέρεται συνήθως από το παραδοσιακό sudo, όπου η πρόσβαση συχνά είναι πολύ μεγάλη.
Αυτή η προσέγγιση ευθυγραμμίζεται με την τάση αποφυγής της άμεσης χρήσης του χρήστη root όποτε είναι δυνατόν , μια πολύτιμη αρχή ασφαλείας. Ωστόσο, η πραγματική αποτελεσματικότητα του run0 πρέπει ακόμη να αποδειχθεί στην παραγωγή: θα πρέπει να δούμε πώς ενσωματώνεται με τις πολιτικές κάθε διανομής, πώς διαμορφώνονται οι δυνατότητές του στην πράξη και πόσο καλά προσαρμόζεται η διαχείριση του συστήματος στη νέα ροή εργασίας.
Λήξη υποστήριξης για το SysV init και τον καθαρισμό παλαιού τύπου
Το systemd 259 σηματοδοτεί επίσης την αρχή του οριστικού τέλους για τα σενάρια υπηρεσιών τύπου System V. Η συμβατότητα με αυτούς τους κλασικούς μηχανισμούς είχε επισημανθεί ως "καθ' οδόν προς την κατάργησή της" εδώ και χρόνια και τώρα έχει καθοριστεί ένα σαφές χρονοδιάγραμμα για την αφαίρεσή τους.
Αυτή η έκδοση ανακοινώνει ότι, ενόψει της επόμενης μεγάλης κυκλοφορίας, Τα ιστορικά στοιχεία όπως τα systemd-sysv-generator, systemd-rc-local-generator και systemd-sysv-install θα καταργηθούν.Δηλαδή, τα σενάρια στο /etc/init.d/ Δεν θα λαμβάνονται πλέον υπόψη από το systemd, γεγονός που τερματίζει μια μετάβαση που διήρκεσε σχεδόν μια δεκαετία.
Για τους διαχειριστές που εξακολουθούν να διατηρούν προσαρμοσμένες υπηρεσίες που βασίζονται σε σενάρια SysV , αυτό σημαίνει ότι πρέπει να ξεκινήσουν τη δουλειά: όλα αυτά τα σενάρια πρέπει να απογραφούν και να μετεγκατασταθούν σε εγγενείς μονάδες systemd (.service, .socket, κ.λπ.). Οι μεγάλες διανομές έχουν ήδη ολοκληρώσει σχεδόν ολόκληρη αυτήν τη μετάβαση, αλλά σε προσαρμοσμένα περιβάλλοντα ή παλαιότερες εγκαταστάσεις, ορισμένα "relics" ενδέχεται να εξακολουθούν να εκτελούνται στο παρασκήνιο.
Αυτή η διαδικασία καθαρισμού παλαιού τύπου δεν περιορίζεται στο SysV. Οι πρόσφατες εκδόσεις του systemd έχουν ήδη καταργήσει την υποστήριξη για κλασικές μεθόδους όπως το `/forcefsck` και το `/fastboot` , αντικαθιστώντας τες με παραμέτρους πυρήνα και πιο σύγχρονους μηχανισμούς πιστοποίησης. Με την έκδοση 259, η κατεύθυνση είναι η ίδια: λιγότερη συμβατότητα με παλαιότερες εκδόσεις σε αντάλλαγμα για μια πιο συντηρήσιμη και συνεπή βάση κώδικα.
Ελάχιστες απαιτήσεις systemd 259: πυρήνας, βιβλιοθήκες και περιβάλλον
Μία από τις αλλαγές που μπορούν να έχουν τον μεγαλύτερο αντίκτυπο σε παλαιότερα συστήματα είναι η αύξηση των ελάχιστων απαιτήσεων λογισμικού για την εκτέλεση του systemd 259. Αυτή η έκδοση δεν ενδιαφέρεται πλέον για πολύ παλιό υλικό ή στοίβες και σαφώς στρέφεται προς τις σύγχρονες πλατφόρμες.
Μεταξύ των βασικών απαιτήσεων που ενοποιούνται στο systemd 259 είναι: η δέσμευση για σύγχρονες πλατφόρμες
- Πυρήνας Linux τουλάχιστον 5.10 (με σύσταση να πάει τουλάχιστον στο 5.14).
- glibc 2.34 ως μια ελάχιστη έκδοση της τυπικής βιβλιοθήκης GNU.
- Ανοίξτε το SSL 3.0.0 ως υποχρεωτική βάση για τις υποστηριζόμενες λειτουργίες κρυπτογράφησης.
- util-linux 2.37 ως απαίτηση για τις βασικές λειτουργίες του συστήματος.
- libxcrypt 4.4.0 για τη διαχείριση κρυπτογραφικών λειτουργιών που σχετίζονται με κωδικούς πρόσβασης.
- cryptsetup 2.4.0 και libseccomp 2.4.0 για κρυπτογράφηση τόμων και φιλτράρισμα κλήσεων συστήματος.
- Python 3.9.0 ως ελάχιστη εξάρτηση από βοηθητικά εργαλεία.
- Ορισμένες σημειώσεις αναφέρουν επίσης elfutils 0.177 ως μέρος του ενημερωμένου συνόλου εξαρτήσεων.
Αυτή η αυστηροποίηση σημαίνει ότι πολύ παλιά συστήματα ή διανομές που προσκολλώνται σε κλάδους πυρήνα πριν από την έκδοση 5.10 εξαιρούνται αυτόματα από την υποστήριξη για αυτήν την έκδοση, εκτός εάν ενημερώσουν την υποκείμενη τεχνολογία τους. Σε αντάλλαγμα, επιτυγχάνεται ένα πιο ομοιογενές οικοσύστημα, με λιγότερες ειδικές περιπτώσεις και συμβιβαστικές λύσεις.
Για τις περισσότερες διανομές γενικής χρήσης για επιτραπέζιους υπολογιστές και διακομιστές, αυτές οι απαιτήσεις δεν θα πρέπει να αποτελούν πρόβλημα: οι σύγχρονοι κλάδοι πυρήνα LTS υπερβαίνουν ήδη κατά πολύ το φράγμα 5.10 και οι βιβλιοθήκες που αναφέρθηκαν είναι ευρέως διαθέσιμες. Τα μεγαλύτερα προβλήματα μπορούν να προκύψουν σε ενσωματωμένα συστήματα, συσκευές ή πολύ συντηρητικές εγκαταστάσεις που δεν ενημερώνονται συχνά.
Βελτιωμένη ασφάλεια: TPM 2.0, κρυπτογράφηση και περιορισμοί συσκευών
Στον τομέα της ασφάλειας, το systemd 259 επιταχύνει την πρόοδό του με αρκετές σημαντικές αποφάσεις. Η πιο εμφανής είναι ότι τα systemd-boot και systemd-stub εγκαταλείπουν οριστικά την υποστήριξη για το TPM 1.2 , έτσι ώστε από τώρα και στο εξής μόνο το TPM 2.0 να θεωρείται το πρότυπο αναφοράς.
Αυτή η αλλαγή σημαίνει ότι τα συστήματα που βασίζονταν στο TPM 1.2 για τη διαχείριση πολιτικών ασφαλούς εκκίνησης ή κλειδιών κρυπτογράφησης θα πρέπει να αναβαθμίσουν το υλικό τους (για παράδειγμα, αλλάζοντας τη μητρική πλακέτα) εάν θέλουν να συνεχίσουν να χρησιμοποιούν αυτές τις λειτουργίες με τις νεότερες εκδόσεις του systemd-boot. Πολλοί χρήστες επιτραπέζιων υπολογιστών Linux έχουν απενεργοποιήσει το TPM και την Ασφαλή εκκίνηση, επομένως ενδέχεται να μην παρατηρήσουν καν την αλλαγή, αλλά θα μπορούσε να έχει αντίκτυπο σε εταιρικά περιβάλλοντα ή περιβάλλοντα υψηλής ασφάλειας.
Σε προηγούμενες εκδόσεις, όπως το systemd 258, είχαν ήδη γίνει σημαντικές προσαρμογές σε αυτόν τον τομέα: Το OpenSSL έγινε η μόνη βιβλιοθήκη κρυπτογράφησης που υποστηρίζεται από τα systemd-resolved και systemd-importd , αφήνοντας εκτός εναλλακτικές λύσεις όπως το GnuTLS και το libgcrypt. Όλα αυτά υποδηλώνουν μια ενοποίηση γύρω από ένα μικρότερο, πιο ελεγχόμενο σύνολο κρυπτογραφικών εργαλείων.
Επίσης, στον κλάδο 258, εισήχθησαν αυστηρότεροι προεπιλεγμένοι περιορισμοί πρόσβασης για το tty/pts : οι κόμβοι δημιουργούνται με δικαιώματα 0600 αντί για 0620, εμποδίζοντας άλλους χρήστες να γράφουν στα τερματικά μας. Αυτό είναι ένα ακόμη παράδειγμα του πώς το systemd βελτιώνει τις λεπτομέρειες χαμηλού επιπέδου εδώ και αρκετό καιρό, οι οποίες, όταν συνδυάζονται, ενισχύουν τη συνολική ασφάλεια του συστήματος.
Το libsystemd είναι πιο αρθρωτό και φορτωμένο δυναμικά.
Επιδιώκοντας μεγαλύτερη αποτελεσματικότητα και μειωμένο φόρτο εξαρτήσεων, το systemd 259 εισάγει ριζικές αλλαγές στον τρόπο με τον οποίο το libsystemd αλληλεπιδρά με άλλες βιβλιοθήκες συστήματος . Στόχος είναι να αποτραπεί η μεταφορά όλων των δεδομένων από την αρχή, αντίθετα να φορτώνονται μόνο όταν χρειάζεται.
Συγκεκριμένα, το libsystemd χρησιμοποιεί πλέον την dlopen() για τη δυναμική φόρτωση βιβλιοθηκών όπως libacl, libblkid, libseccomp, libselinux και libmount . Αυτό σημαίνει ότι αυτές οι εξαρτήσεις δεν είναι άκαμπτα συνδεδεμένες κατά τη στιγμή της μεταγλώττισης ούτε φορτώνονται πάντα στη μνήμη: ενεργοποιούνται μόνο όταν τις απαιτεί μια συγκεκριμένη συνάρτηση.
Ο ίδιος μηχανισμός με την `dlopen()` ισχύει και για την ενσωμάτωση με το υποσύστημα ελέγχου Linux και το PAM . Με αυτόν τον τρόπο, η εκκίνηση και η κανονική λειτουργία του systemd μπορούν να είναι πιο απλές σε περιβάλλοντα που δεν απαιτούν όλα αυτά τα στοιχεία ταυτόχρονα.
Από την άλλη πλευρά, η λειτουργικότητα που παρείχε προηγουμένως η βιβλιοθήκη libcap έχει ενσωματωθεί απευθείας στο libsystemd . Αυτό εξαλείφει μια άλλη εξωτερική εξάρτηση, απλοποιώντας την αλυσίδα κατασκευής και μειώνοντας πιθανά σημεία αποτυχίας ή ασυμβατότητας.
Σε γενικές γραμμές, αυτή η προσέγγιση παρέχει καλύτερη αρθρωσιμότητα και μικρότερο αποτύπωμα μνήμης και δίσκου , ειδικά σε συστήματα όπου επιδιώκονται γρήγοροι χρόνοι εκκίνησης και ένα πυκνά συσκευασμένο σύνολο υπηρεσιών.
Αλλαγές δικτύου και κοντέινερ: αντίο iptables, γεια σου nftables
Ο τομέας δικτύωσης και εικονικοποίησης υφίσταται επίσης σημαντικές αλλαγές. Ξεκινώντας με το systemd 259, τα systemd-networkd και systemd-nspawn δεν υποστηρίζουν πλέον τη δημιουργία κανόνων NAT χρησιμοποιώντας το iptables/libiptc . Το μόνο υποστηριζόμενο backend του firewall είναι το nftables.
Αυτό επηρεάζει άμεσα τα κοντέινερ που διαχειρίζονται με το systemd-nspawn και βασίζονταν στο NAT μέσω του iptables , καθώς και τα δίκτυα που ορίζονται στο systemd-networkd και χρησιμοποιούν κανόνες μετάφρασης διευθύνσεων με το κλασικό backend. Σε δοκιμές με υποψήφιες εκδόσεις, παρατηρήθηκαν σιωπηλές αποτυχίες στη λειτουργικότητα του NAT μέχρι να μετεγκατασταθεί ολόκληρη η διαμόρφωση στο nftables.
Πέρα από τη μετάφραση των διευθύνσεων, Το systemd-resolved αποκτά τη δυνατότητα χρήσης τοπικών hooks en /run/systemd/resolve.hook/Αυτές οι εντολές εκτελούνται κάθε φορά που εκτελείται ένα ερώτημα τοπικής ανάλυσης ονόματος. Αυτό ανοίγει την πόρτα σε προηγμένες προσαρμογές DNS και συγκεκριμένη λογική από τον διαχειριστή.
Στον τομέα της εισαγωγής και διαχείρισης εικόνων, Το systemd-importd ενσωματώνει εγγενή λογική για εργασία με αρχεία TAR, βασιζόμενο στο libarchive από το βοηθητικό πρόγραμμα GNU tar. Επιπλέον, τόσο το systemd-importd όσο και το systemd-machined μπορούν πλέον να εκτελεστούν σε λειτουργία χρήστη, διαχειριζόμενοι εικόνες συστήματος που τοποθετούνται σε ~/.local/state/machines/.
Για τον έλεγχο αυτών των λειτουργιών, το βοηθητικό πρόγραμμα importctl προσθέτει τις επιλογές "--user" και "--system" , επιτρέποντάς σας να επιλέξετε εύκολα εάν θα λειτουργήσετε στο περιβάλλον χρήστη ή σε επίπεδο συστήματος. Αυτή η προσέγγιση είναι χρήσιμη για περιβάλλοντα ανάπτυξης και δοκιμών όπου δεν θέλετε να τροποποιήσετε την καθολική διαμόρφωση του μηχανήματος.
Μόνιμη καταγραφή σε ημερολόγιο από προεπιλογή και διαχείριση χώρου στο δίσκο
Μια άλλη αλλαγή με πρακτικό αντίκτυπο είναι η τροποποίηση του προεπιλεγμένη λειτουργία αποθήκευσης ημερολογίου, το υποσύστημα καταγραφής του systemd. Μέχρι τώρα, η «αυτόματη» συμπεριφορά εξαρτιόταν από την ύπαρξη ή όχι του καταλόγου. /var/log/journal.
Με το systemd 259, η προεπιλεγμένη λειτουργία γίνεται "persistent ", ανεξάρτητα από το αν ο φάκελος υπήρχε προηγουμένως. Αυτό σημαίνει ότι το ημερολόγιο θα αποθηκεύεται μόνιμα στο δίσκο από προεπιλογή, αντί να αποθηκεύεται σε πτητική μνήμη RAM.
Αυτή η απόφαση έχει πλεονεκτήματα και μειονεκτήματα. Αφενός, απλοποιεί σημαντικά την αντιμετώπιση προβλημάτων , καθώς τα αρχεία καταγραφής επιβιώνουν μετά από επανεκκινήσεις χωρίς να απαιτείται κάποια ειδική ενέργεια από τον διαχειριστή. Από την άλλη πλευρά, σε ενσωματωμένα συστήματα, ελαφριά κοντέινερ ή περιβάλλοντα με πολύ περιορισμένο χώρο αποθήκευσης, μπορεί να οδηγήσει σε σημαντική αύξηση της χρήσης του δίσκου.
Σε αυτά τα σενάρια, θα είναι πιο σημαντικό από ποτέ να προσαρμόσετε τις πολιτικές εναλλαγής και μεγέθους του χρονικού διαστήματος ή ακόμα και να επιβάλετε μια διαφορετική λειτουργία αποθήκευσης, εάν θέλετε να αποφύγετε την υπερβολική φθορά (για παράδειγμα, σε μνήμες flash με περιορισμένους κύκλους εγγραφής).
systemd-oomd, παρακολούθηση OOM και έλεγχος πόρων
Η διαχείριση μνήμης και τα σενάρια "Εκτός Μνήμης" λαμβάνουν επίσης σημαντικές βελτιώσεις. Το στοιχείο systemd-oomd, υπεύθυνο για την αντιμετώπιση καταστάσεων ανεπαρκούς μνήμης , ενσωματώνει νέες ιδιότητες για να παρέχει μεγαλύτερη ορατότητα.
Συγκεκριμένα, οι ιδιότητες OOMKills και ManagedOOMKills είναι πλέον διαθέσιμες για υπηρεσίες , οι οποίες καταγράφουν τον αριθμό των διεργασιών που τερματίστηκαν από τον πυρήνα ή από το ίδιο το systemd-oomd λόγω ανεπαρκούς μνήμης. Αυτές οι πληροφορίες είναι προσβάσιμες απευθείας χρησιμοποιώντας εργαλεία systemd, διευκολύνοντας την επακόλουθη ανάλυση συμβάντων.
Όταν μια διεργασία ξεφεύγει από τον έλεγχο και αρχίζει να «καταβροχθίζει» τη μνήμη RAM σε σημείο που να θέτει σε κίνδυνο το σύστημα , αυτές οι μετρήσεις σάς επιτρέπουν να δείτε με μια ματιά ποιες μονάδες έχουν επηρεαστεί, πόσες φορές έχει ενεργοποιηθεί ο μηχανισμός OOM και ποια στοιχεία προκαλούν τη μεγαλύτερη πίεση στη μνήμη.
Για τους διαχειριστές περιβαλλόντων υψηλού φόρτου εργασίας ή συστημάτων με πολύ περιορισμένους πόρους, αυτή η μεγαλύτερη δυνατότητα παρατήρησης του OOM είναι ιδιαίτερα χρήσιμη, καθώς βοηθά στον εντοπισμό υπηρεσιών μικρού μεγέθους ή διαρροών μνήμης που προηγουμένως μπορεί να περνούσαν απαρατήρητες.
Άλλες αξιοσημείωτες βελτιώσεις στο systemd 259
Εκτός από τις σημαντικές αλλαγές που αναφέρθηκαν παραπάνω, το systemd 259 διαθέτει πολλές βελτιώσεις και μικρές τροποποιήσεις διάσπαρτες σε όλο το οικοσύστημα . Πολλές είναι αρκετά τεχνικές, αλλά αξίζει να τις εξετάσετε επειδή μαζί αποτελούν μια σημαντική αλλαγή.
Μεταξύ των νέων χαρακτηριστικών του API, Η διεπαφή που βασίζεται στο πρωτόκολλο Varlink επεκτείνεται για να επιτρέψετε την πρόσβαση στη διαμόρφωση της υπηρεσίας και να εκτελέσετε κλήσεις IPC όπως Reload() y Reexecute()Προστίθενται επίσης συγκεκριμένες κλήσεις για τον χειρισμό των λειτουργιών systemd-repart, systemd-resolved και systemd-networkd.
Στον τομέα της διαμόρφωσης και των μονάδων, έχει εισαχθεί η επιλογή ExecReloadPost , η οποία επιτρέπει την εκτέλεση εντολών αμέσως μετά την επαναφόρτωση της διαμόρφωσης μιας υπηρεσίας. Επιπλέον, τα αρχεία διαμόρφωσης που τελειώνουν σε ".ignore" απορρίπτονται πλέον αυτόματα , ένα απλό κόλπο για την απενεργοποίηση αρχείων χωρίς να χρειάζεται να τα διαγράψετε ή να τα μετονομάσετε δραστικά.
Οι προσωρινές μονάδες αποκτούν ιδιοκτησία Περιγραφέας αρχείου RootDirectory, το οποίο ορίζει τον περιγραφέα αρχείου που αντιστοιχεί στον ριζικό κατάλογο, και προστίθεται μια νέα επιλογή Διαδρομή ονόματος χρήστη, το οποίο σας επιτρέπει να συνδέσετε μια μονάδα δίσκου με έναν χώρο ονομάτων χρήστη καθορίζοντας μια διαδρομή στο /procΣτο systemd-nspawn, εμφανίζεται η οδηγία Διαδρομή χώρου ονόματος στην ενότητα από τα αρχεία .nspawn για να υποδείξετε τον χώρο ονομάτων δικτύου που θα χρησιμοποιηθεί.
Άλλα εξαρτήματα όπως Τα systemd-sysext και systemd-confext ενσωματώνουν αποκλειστικά αρχεία διαμόρφωσης en /etc/systemd/systemd-sysext.conf y /etc/systemd/systemd-confext.confΜεταβλητές περιβάλλοντος SYSTEMD_SYSEXT_OVERLAYFS_MOUNT_OPTIONS y SYSTEMD_CONFEXT_OVERLAYFS_MOUNT_OPTIONS Σας επιτρέπουν να προσαρμόσετε τις επιλογές τοποθέτησης για επικαλύψεις.
Στον κόσμο του udev, προστίθεται η επιλογή ΕΠΙΛΟΓΕΣ=»dump-json» στο systemd-udevd Για να εμφανίσετε την τρέχουσα κατάσταση ενός συμβάντος σε μορφή JSON, η συνάρτηση net_id Παράγει προβλέψιμα ονόματα για ασύρματες διεπαφές σε συστήματα με DeviceTree και δημιουργεί συμβολικούς συνδέσμους. /dev/gpio/by-id/... για συσκευές GPIO.
Η ενότητα χρήστη και λογαριασμού ενισχύεται επίσης: Η βάση δεδομένων χρήστη περιλαμβάνει ένα πεδίο UUIDΤο βοηθητικό πρόγραμμα userdbctl υποστηρίζει την επιλογή "-uuid" για αναζήτηση με βάση αυτό το αναγνωριστικό, και homectl update Πλέον υποστηρίζει την εντολή "--recovery-key" για την προσθήκη κλειδιών ανάκτησης σε υπάρχοντες λογαριασμούς.
Στο systemd-homed, οι επιλογές "--prompt-shell" και "--prompt-groups" ενσωματώνονται κατά την πρώτη εκκίνηση χρησιμοποιώντας το systemd-homed-firstboot.service, και στο systemd-firstboot, το "--prompt-keymap-auto" φαίνεται να ζητά την αντιστοίχιση πληκτρολογίου όταν χρησιμοποιείται η τοπική κονσόλα κατά την πρώτη εκκίνηση.
El Ο διαχειριστής εκκίνησης systemd-boot προσθέτει τη δυνατότητα ορισμού του επιπέδου λεπτομέρειας του αρχείου καταγραφής. με παράμετρο log-level en loader.conf ή με το πεδίο SMBIOS io.systemd.boot.loglevelΕπιπλέον, ενοποιούνται αυστηρότερες απαιτήσεις για partitions όπως το XBOOTLDR, τα οποία πρέπει πλέον να βρίσκονται σε VFAT, σύμφωνα με ό,τι ήδη απαιτείται από το ESP στα σύγχρονα συστήματα UEFI.
Σε προηγμένο επίπεδο δικτύωσης, το systemd-networkd προσθέτει τις επιλογές EmitDomain και Domain για τον διακομιστή DHCP και υλοποιεί έναν ελεγκτή που καθορίζει τα ονόματα κεντρικών υπολογιστών που εκδίδονται μέσω DHCP χρησιμοποιώντας ανάλυση DNS. Εν τω μεταξύ, το systemd-modules-load φορτώνει τις μονάδες πυρήνα παράλληλα , μειώνοντας τους χρόνους εκκίνησης σε συστήματα με πολλά προγράμματα οδήγησης.
Τέλος, στην ενότητα ακεραιότητας, το systemd-integrity-setup προσθέτει υποστήριξη για τους αλγόριθμους HMAC-SHA256, PHMAC-SHA256 και PHMAC-SHA512 , επεκτείνοντας το εύρος των διαθέσιμων κρυπτογραφικών επιλογών για την προστασία της ακεραιότητας του συστήματος.
Με όλες αυτές τις αλλαγές, το systemd 259 εδραιώνει τη θέση του ως μια εξαιρετικά τεχνική, απαιτητική και σαφώς προσανατολισμένη στο μέλλον έκδοση . Ωθεί τους χρήστες να εγκαταλείψουν παλαιότερες τεχνολογίες όπως το SysV init, το iptables και το TPM 1.2, ενισχύει την ασφάλεια και τον έλεγχο των πόρων, βελτιώνει την εσωτερική αρθρωτή δομή και ανοίγει την πόρτα σε νέες διαμορφώσεις με το musl, έστω και μερικώς και υπό όρους. Για τους τελικούς χρήστες σε διανομές point-release, πολλά από αυτά τα νέα χαρακτηριστικά θα περάσουν σχεδόν απαρατήρητα. Για τους διαχειριστές και τα έργα που χρησιμοποιούν συνεχώς την πιο πρόσφατη έκδοση, είναι καιρός να ελέγξουν προσεκτικά τα σενάρια, τις μονάδες και τις απαιτήσεις υλικού πριν κάνουν τη μετάβαση.
