Na iets meer dan drie maanden ontwikkeling, de lancering van de nieuwe versie van systeem 259. Deze update introduceert wijzigingen in de systeemarchitectuur, waarbij de nadruk ligt op de openheid voor alternatieve standaardbibliotheken, strenger privilegebeheer en striktere technische vereisten voor toekomstige versies.
Een van de meest besproken ontwikkelingen in deze cyclus is de overgang naar meer modulariteit en het elimineren van verouderde afhankelijkheden, waarmee de weg wordt vrijgemaakt voor een Linux-ecosysteem dat zich definitief losmaakt van de standaarden van de afgelopen decennia.
Belangrijkste nieuwe kenmerken van systemd 259
De nieuwe systemd-versie 259 valt op omdat deze de eerste versie die gedeeltelijke compatibiliteit met Musl toevoegt, de populaire C-standaardbibliotheek in lichtgewicht distributies en embedded omgevingen. Deze integratie Dit wordt beheerd via de libc-optie in het Meson-buildsysteem. Omdat Musl echter geen NSS-functionaliteit (Name Service Switch) implementeert, blijven verschillende systemd-componenten in deze configuratie uitgeschakeld.
Onder de eenOpvallende afwezigheden bij het samenstellen met Musl gevonden nss-systemd, nss-resolve, systemd-homed, systemd-userdbd en de DynamicUser-parameterBovendien is het niet mogelijk om systemd-nspawn zonder beheerdersrechten uit te voeren onder deze bibliotheek. De ontwikkelaars hebben gewaarschuwd dat het behouden van deze ondersteuning in toekomstige versies afhankelijk zal zijn van de vraag vanuit de community en de stabiliteit van eventuele extra compatibiliteitslagen die worden ontwikkeld.
Een andere nieuwe functie van de nieuwe versie is in het run0-hulpprogramma, ontworpen als een modern en veilig alternatief voor sudo, dat heeft ontvangen de nieuwe optie – empower. Deze functie: Het stelt je in staat om in te loggen met verhoogde bevoegdheden. zonder dat de gebruikers-ID (UID) hoeft te worden gewijzigd naar root.
Daarnaast, in plaats van de volledige controle te delegeren Via gebruikerswisseling maakt –empower gebruik van kernelmogelijkheidsindicatoren, zoals CAP_SYS_ADMIN. om de strikt noodzakelijke vergunningen te verlenen om geprivilegieerde systeemoproepen te doen. Bovendien worden de resulterende processen geïntegreerd in een specifieke groep die hen toegang geeft tot Polkit-acties, waardoor een robuustere scheiding van privileges wordt gewaarborgd dan bij het traditionele sudo-model.
Het einde van een tijdperk: vaarwel aan Systeem V en nieuwe eisen.
systemd 259 markeert het begin van het einde voor compatibiliteit met de System V-servicescriptsEr is aangekondigd dat in de volgende versie verouderde componenten zoals systemd-sysv-generator, systemd-rc-local-generator en systemd-sysv-install permanent zullen worden verwijderd.
Naast deze opschoning van oude code zijn de minimale softwarevereisten voor het systemd-ecosysteem aanzienlijk verhoogd:
- Linux-kernel: Minimale versie 5.10.
- Glibc: 2.34.
- OpenSSL: 3.0.0.
- Util-linux: 2.37.
- Overige vereisten: Python 3.9.0, cryptsetup 2.4.0 en libseccomp 2.4.0.
Modulariteit en dynamisch laden in libsystemd
Como onderdeel van een initiatief om afhankelijkheden te verminderen direct bij de opstart, libsystemd maakt nu gebruik van dynamisch laden via dlopen(). Voor bibliotheken zoals libacl, libblkid, libseccomp, libselinux en libmount laadt het systeem deze bibliotheken alleen in het geheugen wanneer hun specifieke functies door een proces nodig zijn, waardoor het resourcegebruik wordt geoptimaliseerd. Bovendien is de functionaliteit van libcap direct in libsystemd geïntegreerd, wat de afhankelijkheidsketen vereenvoudigt.
El De standaardconfiguratie voor de logverwerking is gewijzigd: de journaalopslagmodus (Nieuws) verandert van "automatisch" naar "permanent"ongeacht of de map /var/log/journal al eerder bestond.
Op het gebied van netwerken en virtualisatie:
- systemd-networkd en systemd-nspawn: De ondersteuning voor NAT-regels met iptables is verwijderd, waardoor nftables de enige compatibele optie is.
- systemd-opgelost: Het maakt nu gebruik van lokale hooks (hooks) in /run/systemd/resolve.hook/ mogelijk om in te grijpen bij naamresolutieverzoeken.
- systemd-geïmporteerd: De logica voor het werken met TAR-bestanden is nu standaard geïntegreerd. Bovendien kunnen zowel `importd` als `machined` nu op gebruikersniveau worden uitgevoerd, waardoor imagebeheer mogelijk is in de lokale map van de gebruiker (`~/.local/state/machines/`).
Andere innovaties
De protocolgebaseerde API Varlink heeft verbeteringen ondergaan waardoor toegang tot service-instellingen en het maken van IPC-gesprekken mogelijk is. zoals Reload() en Reexecute(). Voor systeembeheerders is het toevoegen van de OOMKills-eigenschap aan services erg handig, omdat ze hiermee rechtstreeks vanuit systemd-tools kunnen bijhouden hoe vaak een proces is beëindigd vanwege een gebrek aan geheugen.
Tot slot wordt het opstartproces van het systeem gemoderniseerd door de ondersteuning voor TPM 1.2 in systemd-boot te verwijderen, waardoor alle beveiligingsinspanningen zich richten op de TPM 2.0-standaard.
Als u er meer over wilt weten, kunt u de details in de volgende link.