Etter litt over tre måneder med utvikling, lanseringen av den nye versjonen av systemd 259. Denne oppdateringen introduserer endringer i systemarkitekturen, og fremhever åpenheten for alternative standardbiblioteker, strengere rettighetshåndtering og strengere tekniske krav for fremtidige versjoner.
En av de mest omtalte bevegelsene i denne syklusen er overgangen til større modularitet og eliminering av eldre avhengigheter, noe som baner vei for et Linux-økosystem som definitivt beveger seg bort fra standardene fra tidligere tiår.
De viktigste nye funksjonene i systemd 259
Den nye systemd-versjonen 259 skiller seg ut som den første versjon som legger til delvis kompatibilitet med Musl, det populære C-standardbiblioteket i lette distribusjoner og innebygde miljøer. Denne integrasjonen Det administreres gjennom libc-alternativet i Meson-byggesystemet. Men fordi Musl ikke implementerer NSS-funksjonaliteten (Name Service Switch), forblir flere systemd-komponenter deaktivert i denne konfigurasjonen.
Blant de enebemerkelsesverdige fravær ved kompilering med Musl funnet nss-systemd, nss-resolve, systemd-homed, systemd-userdbd og DynamicUser-parameterenVidere er det ikke mulig å kjøre systemd-nspawn uten rettigheter under dette biblioteket. Utviklerne har advart om at opprettholdelse av denne støtten i fremtidige versjoner vil avhenge av fellesskapets etterspørsel og stabiliteten til eventuelle ytterligere kompatibilitetslag som utvikles.
En annen ny funksjon i den nye versjonen er i run0-verktøyet, designet som et moderne og trygt alternativ til sudo, som har mottatt det nye alternativet – styrke. Denne funksjonen Den lar deg logge inn med utvidede rettigheter. uten å måtte endre brukeridentifikatoren (UID) til root.
Bortsett fra det, i stedet for å delegere full kontroll gjennom brukerbytte bruker –empower kjernefunksjonsindikatorer, for eksempel CAP_SYS_ADMIN, å gi de strengt nødvendige tillatelsene å foreta privilegerte systemkall. I tillegg integreres de resulterende prosessene i en spesifikk gruppe som gir dem tilgang til Polkit-handlinger, noe som opprettholder en mer robust separasjon av rettigheter enn den tradisjonelle sudo-modellen.
Slutten på en æra: Farvel til System V og nye krav
systemd 259 markerer begynnelsen på slutten for kompatibilitet med System V-tjenesteskriptDet har blitt annonsert at eldre komponenter som systemd-sysv-generator, systemd-rc-local-generator og systemd-sysv-install vil bli fjernet permanent i neste versjon.
Sammen med denne oppryddingen av gammel kode, har minimumskravene til programvaren for systemd-økosystemet blitt betydelig hevet:
- Linux-kjernen: Minimumsversjon 5.10.
- Glibc: 2.34.
- OpenSSL: 3.0.0.
- Util-linux: 2.37.
- Annet: Python 3.9.0, cryptsetup 2.4.0 og libseccomp 2.4.0.
Modularitet og dynamisk lasting i libsystemd
Como en del av et initiativ for å redusere avhengighet direkte ved oppstart, libsystemd bruker nå dynamisk lasting via dlopen() For biblioteker som libacl, libblkid, libseccomp, libselinux og libmount, vil systemet bare laste disse bibliotekene inn i minnet når deres spesifikke funksjoner kreves av en prosess, noe som optimaliserer ressursbruken. I tillegg er libcap-funksjonalitet integrert direkte i libsystemd, noe som forenkler avhengighetskjeden.
El Standardkonfigurasjonen for logghåndtering er endret: journallagringsmodus (Journal) endres fra «automatisk» til «vedvarende», uavhengig av om /var/log/journal-katalogen eksisterte tidligere.
Innen nettverk og virtualisering:
- systemd-networkd og systemd-nspawn: Støtte for NAT-regler ved bruk av iptables er fjernet, og nftables er det eneste kompatible alternativet.
- systemd-løst: Den tillater nå bruk av lokale kroker (hooks) i /run/systemd/resolve.hook/ for å gripe inn i navneløsningsforespørsler.
- systemd-importert: Logikk for å jobbe med TAR-filer er integrert. Videre kan både `importd` og `machined` nå kjøres på brukernivå, noe som muliggjør bildehåndtering i brukerens lokale katalog (`~/.local/state/machines/`).
Andre innovasjoner
Det protokollbaserte API-et Varlink har fått forbedringer for å gi tilgang til tjenesteinnstillinger og foreta IPC-anrop. som for eksempel Reload() og Reexecute(). For systemadministratorer vil inkluderingen av OOMKills-egenskapen i tjenester være svært nyttig, da det vil tillate dem å spore hvor mange ganger en prosess ble avsluttet på grunn av mangel på minne direkte fra systemd-verktøyene.
Til slutt blir systemoppstartsprosessen mer moderne med fjerningen av støtte for TPM 1.2 i systemd-boot, og fokuset på all sikkerhetsinnsats er TPM 2.0-standarden.
Hvis du er interessert i å vite mer om det, kan du konsultere detaljer i følgende lenke.