systemd 259: Peamised muudatused ja süsteeminõuded

Viimane uuendus: 17 jaanuar 2026
  • systemd 259 toob sisse osalise musl-toe, suurema modulaarsuse libsystemd-s ja privileegimudeli, mida jõustatakse käsuga run0 --empower.
  • Nõuete latti tõstetakse: Linuxi kernel 5.10, glibc 2.34, OpenSSL 3.0.0 ja teised kaasaegsed teegid muutuvad kohustuslikeks miinimumideks.
  • Vananenud süsteemidest loobumine kiireneb: hüvasti jäetakse SysV skriptidega, TPM 1.2 toe lõpp, iptables'ist loobutakse ja nftables'i täielik kasutuselevõtt.
  • Need parandavad jälgitavust ja turvalisust vaikimisi püsiva päeviku, uute OOMKillsi mõõdikute ja mitmete kohanduste abil võrgus, konteinerites ja kodus.

systemd 259 süsteeminõuded

Systemd 259 stabiilse versioonina väljaandmine kujutab endast järjekordset pööret Linuxi ökosüsteemi ühes vastuolulisemas ja olulisemas komponendis. Me räägime teenuste käivitamise ja haldamise raamistikust, mis juba domineerib enamikus distributsioonides, ning see väljalase tugevdab veelgi tehniliste nõuete, turvalisuse ja pärandtehnoloogiatest loobumise osas kehtivaid nõudeid.

See värskendus tuleb pärast mitmekuulist intensiivset tööd ja keskendub kolmele põhivaldkonnale: ühilduvus uute C-teekidega, täiustatud turvalisus ja pärandkoodi puhastamine (SysV skriptid, TPM 1.2, iptables jne). See toob kaasa ka olulisi muudatusi privileegide haldamises run0-ga, mälu käitlemises systemd-oomd-ga, logide salvestamises ja libsystemd sisemise sõltuvusmudeli osas.

systemd 259 ja eksperimentaalne tugi muslile

Selle versiooni üks enim kõneainet pakkunud omadusi on see, et systemd 259 sisaldab esmakordselt osalist tuge C-standardi teeki musl . Seda teeki kasutatakse laialdaselt kergetes süsteemides, minimalistlikes konteinerites ja manussüsteemides, kus on soovitav lihtsus ja väiksem ressursikulu võrreldes glibc-ga.

Musl-i tugi lubatakse Mesoni ehitussüsteemi "libc" valiku määramisega väärtuseks "musl" . See integratsioon pole aga kaugeltki täielik: musl ei rakenda nimeteenuse vahetamise (NSS) mehhanismi, mis sunnib selle teeki kompileerimisel mitmed systemd osad keelama.

Täpsemalt öeldes, systemd 259 ehitamine musl-iga välistab võtmekomponendid nagu nss-systemd, nss-resolve, systemd-homed, systemd-userdbd ja systemd-nsresourced . Samuti pole saadaval valik DynamicUser ja võimalus käivitada systemd-nspawn ilma õigusteta, mis on eriti oluline konteinerkeskkondades, mis neid võimalusi suuresti vajavad.

Arendajad ise möönavad, et nad ei saa pikaajalist tuge garanteerida . Selle jätkumine sõltub kogukonna tegelikust huvist, puuduvaid funktsioone pakkuvate lisakihtide küpsusest ja selle teeki puudutavatest veateadetest. Kui nõudlus on väike või hooldus osutub liiga keeruliseks, poleks üllatav, kui seda tuge tulevastes versioonides üle vaadatakse.

See musl-i avatus on aga oluline sümboolsel tasandil: systemd-i oli aastaid kritiseeritud peaaegu eranditu glibc-st sõltuvuse pärast , mis muutis selle alternatiivsete distributsioonide ja väga minimalistlike stsenaariumide suhtes ebasõbralikuks. See samm ei lahenda kõike, kuid see murrab kuvandi süsteemist, mis on teiste C-teekide suhtes täielikult suletud.

run0 ja uus privileegimudel: alternatiiv sudole

Teine systemd 259 oluline omadus on utiliit run0, pakutud sudo moodsa ja turvalisema asendajanaSee tööriist oli juba systemd-runile ehitatud, kuid nüüd on sellel võtmefunktsioon: valik --empower.

Uus argument `--empower` võimaldab teil alustada seanssi kõrgendatud õigustega ilma oma UID-d root-iks muutmata . Traditsioonilise kasutajavahetuse asemel kasutab `run0` kerneli võimalusi (nt `CAP_SYS_ADMIN`), et anda täpselt need õigused, mis on vajalikud privilegeeritud toimingute tegemiseks, vähendades seeläbi täieliku root-kasutajaks saamise ohtu.

Lisaks rühmitatakse selle lähenemisviisiga algatatud protsessid loogilisse „volitusgruppi“, millel on juurdepääs laiale Polkiti hallatavale toimingute hulgale . Idee seisneb selles, et õiguste suurendamine on detailne ja kontrollitud, säilitades rangema eraldatuse kui traditsiooniline sudo, kus juurdepääs on sageli liiga lai.

See lähenemisviis on kooskõlas trendiga vältida võimaluse korral juurkasutaja otsest kasutamist , mis on kõrgelt hinnatud turvapõhimõte. run0 tegelikku tõhusust tuleb aga veel tootmises demonstreerida: peame vaatama, kuidas see integreerub iga distributsiooni poliitikatega, kuidas selle võimalusi praktikas konfigureeritakse ja kui hästi süsteemiadministratsioon uue töövooga kohaneb.

SysV init ja pärandpuhastuse toe lõpp

systemd 259 tähistab ka System V-stiilis teenuskriptide lõpliku lõpu algust . Ühilduvus nende klassikaliste mehhanismidega oli aastaid märgitud kui "kadumas" ja nüüd on kehtestatud selge ajakava nende eemaldamiseks.

  Ettevõtte varundamine: täielik juhend ettevõtete varundamiseks

See versioon teatab, et järgmist suuremat väljalaset silmas pidades Ajaloolised komponendid nagu systemd-sysv-generator, systemd-rc-local-generator ja systemd-sysv-install eemaldatakse.See tähendab, et skriptid /etc/init.d/ Systemd ei võta neid enam arvesse, mis lõpetab ligi kümme aastat kestnud ülemineku.

Administraatorite jaoks, kes ikka veel haldavad SysV skriptidel põhinevaid kohandatud teenuseid , tähendab see tööle asumist: kõik need skriptid tuleb inventuurida ja migreerida natiivsetesse systemd üksustesse (.service, .socket jne). Suured distributsioonid on selle ülemineku juba peaaegu täielikult läbinud, kuid kohandatud keskkondades või vanemates installides võivad mõned "reliikviad" taustal endiselt töötada.

See pärandipuhastusprotsess ei piirdu ainult SysV-ga. Systemd uuemad versioonid on juba eemaldanud toe klassikalistele meetoditele nagu `/forcefsck` ja `/fastboot` , asendades need kerneli parameetrite ja moodsamate volitusmehhanismidega. Versiooniga 259 on suund sama: vähem tagasiühilduvust vastutasuks hooldatavama ja järjepidevama koodibaasi eest.

Systemd miinimumnõuded 259: kernel, teegid ja keskkond

Üks muudatustest, millel võib olla vanematele süsteemidele suurim mõju, on systemd 259 käitamiseks vajalike minimaalsete tarkvaranõuete suurenemine. See versioon ei hooli enam väga vanast riistvarast ega pinudest ning liigub selgelt moodsate platvormide poole.

Systemd 259-s koondatud peamiste nõuete hulgas on: pühendumus kaasaegsetele platvormidele

  • Linuxi kerneli minimaalne versioon 5.10 (soovitusega minna vähemalt punktini 5.14).
  • glibc2.34 GNU standardteegi minimaalse versioonina.
  • Avage SSL 3.0.0 toetatud krüpteerimisfunktsioonide kohustusliku alusena.
  • util-linux 2.37 süsteemi põhifunktsioonide nõudena.
  • libxcrypt 4.4.0 paroolidega seotud krüptograafiliste funktsioonide haldamiseks.
  • cryptsetup 2.4.0 ja libseccomp 2.4.0 köite krüptimiseks ja süsteemikõnede filtreerimiseks.
  • Python 3.9.0 abivahendite minimaalse sõltuvusena.
  • Mõned märkmed mainivad ka elfutils 0.177 osana uuendatud sõltuvuste komplektist.

See kitsendamine tähendab, et väga vanad süsteemid või distributsioonid, mis klammerduvad kerneli harude külge enne versiooni 5.10, jäetakse automaatselt selle versiooni toetusest välja, kui nad ei uuenda oma alustehnoloogiat. Selle tulemusel saavutatakse homogeensem ökosüsteem, kus on vähem erijuhtumeid ja kompromisslahendusi.

Enamiku üldotstarbeliste lauaarvutite ja serverite distributsioonide puhul ei tohiks need nõuded probleemiks olla: tänapäevased LTS-i kerneli harud ületavad juba kaugelt 5.10 barjääri ja mainitud teegid on laialdaselt saadaval. Suurimad probleemid võivad tekkida manussüsteemides, seadmetes või väga konservatiivsetes installatsioonides, mida ei värskendata sageli.

Täiustatud turvalisus: TPM 2.0, krüptimine ja seadmepiirangud

Turvalisuse valdkonnas kiirendab systemd 259 oma arengut mitme olulise otsusega. Kõige nähtavam on see, et systemd-boot ja systemd-stub loobuvad lõplikult TPM 1.2 toetamisest , nii et nüüdsest peetakse võrdlusstandardiks ainult TPM 2.0.

See muudatus tähendab, et süsteemid, mis tuginesid turvalise alglaadimise poliitikate või krüpteerimisvõtmete haldamiseks TPM 1.2- le, peavad oma riistvara uuendama (näiteks emaplaadi vahetamise teel), kui nad soovivad neid funktsioone systemd-boot'i uuemate versioonidega edasi kasutada. Paljudel Linuxi töölaua kasutajatel on TPM ja turvaline alglaadimine keelatud, seega ei pruugi nad muudatust isegi märgata, kuid see võib mõjutada ettevõtte- või kõrge turvalisusega keskkondi.

Varasemates versioonides, näiteks systemd 258, oli selles valdkonnas juba tehtud olulisi muudatusi: OpenSSL-ist sai ainus krüpteerimisteegi, mida toetasid systemd-resolved ja systemd-importd , jättes välja alternatiivid nagu GnuTLS ja libgcrypt. Kõik see viitab konsolideerumisele väiksema ja paremini kontrollitud krüptograafiliste tööriistade komplekti ümber.

Samuti harus 258 kehtestati tty/pts-ile rangemad vaikimisi juurdepääsupiirangud : sõlmed luuakse õigustega 0600, mitte õigustega 0620, mis takistab teistel kasutajatel meie terminalidesse kirjutamist. See on veel üks näide sellest, kuidas systemd on juba mõnda aega madala taseme detaile peenhäälestanud, mis kokku tugevdavad süsteemi üldist turvalisust.

libsystemd on modulaarsem ja dünaamiliselt laaditav.

Suurema efektiivsuse ja väiksema sõltuvuskoormuse saavutamiseks toob systemd 259 kaasa olulisi muudatusi libsystemd ja teiste süsteemiteekide suhtluses . Eesmärk on vältida kõike algusest peale ülekandmist, laadides seda ainult vajadusel.

  Kali Linux: milleks see on mõeldud ja kuidas selle funktsioone ära kasutada

Täpsemalt öeldes kasutab libsystemd nüüd dlopen() funktsiooni selliste teekide nagu libacl, libblkid, libseccomp, libselinux ja libmount dünaamiliseks laadimiseks . See tähendab, et need sõltuvused ei ole kompileerimise ajal jäigalt seotud ega laadita neid alati mällu: need aktiveeritakse ainult siis, kui konkreetne funktsioon neid vajab.

Sama mehhanism funktsiooniga `dlopen()` kehtib ka Linuxi auditeerimissüsteemi ja PAM-iga integreerimise kohta . Sel viisil saab systemd käivitamise ja normaalse töö lihtsustada keskkondades, mis ei vaja kõiki neid komponente samaaegselt.

Teisest küljest on libcapi teegi poolt varem pakutud funktsionaalsus otse libsystemd-sse integreeritud . See kõrvaldab täiendava välise sõltuvuse, lihtsustades ehitusahelat ja vähendades võimalikke rikkeid või ühildumatusi.

Üldiselt pakub see lähenemisviis paremat modulaarsust ning väiksemat mälu ja kettaruumi , eriti süsteemides, kus on vaja kiiret käivitusaega ja tihedalt pakitud teenuste komplekti.

Võrgu ja konteineri muudatused: hüvasti iptables, tere nftables

Võrgustamise ja virtualiseerimise valdkond läbib samuti olulisi muudatusi. Alates systemd versioonist 259 ei toeta systemd-networkd ja systemd-nspawn enam NAT-reeglite loomist iptables/libiptc abil . Ainsaks toetatud tulemüüri taustaprogrammiks saab nftables.

See mõjutab otseselt systemd-nspawn abil hallatavaid konteinereid, mis tuginesid NAT-ile iptables'i kaudu , samuti systemd-networkd-s defineeritud võrke, mis kasutasid aadresside teisendamise reegleid klassikalise taustaprogrammiga. Väljalaskekandidaatide testides täheldati NAT-i funktsionaalsuse vaikseid tõrkeid kuni kogu konfiguratsiooni migreerimiseni nftables'i.

Lisaks aadresside tõlkimisele systemd-resolved omandab võimaluse kasutada kohalikke konksusid en /run/systemd/resolve.hook/Neid käske täidetakse iga kord, kui teostatakse kohaliku nime lahendamise päring. See avab ukse DNS-i täpsematele kohandustele ja administraatori spetsiifilisele loogikale.

Piltide impordi ja haldamise valdkonnas systemd-importd sisaldab TAR-failidega töötamiseks natiivset loogikat, tuginedes GNU tar utiliidi libarchive'ile. Lisaks saab nii systemd-importd kui ka systemd-machined nüüd käivitada kasutajarežiimis, hallates süsteemikujutisi, mis on paigutatud ~/.local/state/machines/.

Nende režiimide juhtimiseks lisab utiliit importctl valikud "--user" ja "--system" , mis võimaldavad teil hõlpsalt valida, kas tegutseda kasutaja kontekstis või süsteemi tasandil. See lähenemisviis on kasulik arendus- ja testimiskeskkondades, kus te ei soovi masina globaalset konfiguratsiooni muuta.

Vaikimisi püsiv päeviku pidamine ja kettaruumi haldamine

Teine praktilise mõjuga muudatus on ... muutmine. Vaikimisi päeviku salvestusrežiim, systemd logimise alamsüsteem. Seni sõltus „automaatne” käitumine kataloogi olemasolust või puudumisest. /var/log/journal.

systemd 259 puhul saab vaikerežiimiks „püsiv ”, olenemata sellest, kas kaust oli varem olemas või mitte. See tähendab, et päevik salvestatakse vaikimisi jäädavalt kettale, mitte muutumatusse muutmällu.

Sellel otsusel on plusse ja miinuseid. Ühelt poolt lihtsustab see oluliselt tõrkeotsingut , kuna logid jäävad taaskäivituste järel ellu ilma administraatorilt erilisi samme nõudmata. Teisest küljest võib see manussüsteemides, kergetes konteinerites või väga piiratud salvestusruumiga keskkondades kaasa tuua ketta kasutuse olulise suurenemise.

Sellistes olukordades on olulisem kui kunagi varem kohandada ajakirja rotatsiooni ja suuruse reegleid või isegi sundida kasutama teistsugust salvestusrežiimi, kui soovite vältida liigset kulumist (näiteks piiratud kirjutamistsüklitega välkmälude puhul).

systemd-oomd, OOM jälgimine ja ressursside kontroll

Mäluhaldus ja mälu otsa saamise stsenaariumid on samuti oluliselt täiustatud. Komponent systemd-oomd, mis reageerib ebapiisava mälu korrale , sisaldab uusi omadusi parema nähtavuse tagamiseks.

Täpsemalt öeldes on atribuudid OOMKills ja ManagedOOMKills nüüd saadaval teenuste jaoks , mis salvestavad kerneli või systemd-oomd enda poolt ebapiisava mälu tõttu lõpetatud protsesside arvu. Sellele teabele pääseb otse juurde systemd tööriistade abil, mis hõlbustab hilisemat intsidentide analüüsi.

Kui protsess väljub kontrolli alt ja hakkab RAM-i "õgima" nii palju, et see ohustab süsteemi , võimaldavad need mõõdikud teil lühidalt näha, millised seadmed on mõjutatud, mitu korda on OOM-mehhanism käivitunud ja millised komponendid põhjustavad kõige rohkem mälukoormust.

  Mis on IT-teenuste haldamine?

Suure koormusega keskkondade või väga nappide ressurssidega süsteemide administraatoritele on see parem OOM-i jälgimise võime eriti kasulik, kuna see aitab tuvastada halvasti suurusega teenuseid või mälulekkeid, mis varem võisid märkamata jääda.

Muud märkimisväärsed täiustused systemd 259-s

Lisaks eespool mainitud suurematele muudatustele on systemd 259 täis arvukalt täiustusi ja väiksemaid kohandusi, mis on hajutatud üle kogu ökosüsteemi . Paljud neist on üsna tehnilised, kuid tasub neid üle vaadata, sest kokku moodustavad need olulise muudatuse.

API uute funktsioonide hulgas on Varlinki protokollil põhinevat liidest laiendatakse et lubada juurdepääs teenuse konfiguratsioonile ja teostada IPC-kõnesid, näiteks Reload() y Reexecute()Samuti on lisatud spetsiifilised kõned systemd-repart, systemd-resolved ja systemd-networkd funktsioonide haldamiseks.

Konfiguratsiooni ja ühikute valdkonnas on lisatud valik ExecReloadPost , mis võimaldab käske käivitada kohe pärast teenuse konfiguratsiooni uuesti laadimist. Lisaks kustutatakse nüüd automaatselt konfiguratsioonifailid , mis lõpevad laiendiga ".ignore" – see on lihtne nipp failide keelamiseks ilma neid kustutamata või drastiliselt ümber nimetamata.

Ajutised üksused saavad omandiõiguse Juurkataloogi failikirjeldaja, mis määratleb juurkataloogile vastava failikirjeldaja ja lisatakse uus valik Kasutajanimeruumi tee, mis võimaldab teil draivi kasutajanimeruumiga linkida, määrates tee /procSystemd-nspawnis kuvatakse direktiiv Nimeruumi tee jaotises .nspawn-failidest, et näidata kasutatavat võrgu nimeruumi.

Muud komponendid, näiteks systemd-sysext ja systemd-confext sisaldavad spetsiaalseid konfiguratsioonifaile en /etc/systemd/systemd-sysext.conf y /etc/systemd/systemd-confext.confKeskkonnamuutujad SYSTEMD_SYSEXT_OVERLAYFS_MOUNT_OPTIONS y SYSTEMD_CONFEXT_OVERLAYFS_MOUNT_OPTIONS Need võimaldavad teil reguleerida ülekatte kinnitusvalikuid.

Udevi maailmas on see valik lisatud VALIKUD=»dump-json» systemd-udevd-sse Sündmuse praeguse oleku kuvamiseks JSON-vormingus funktsioon net_id See genereerib DeviceTree-ga süsteemides traadita liideste jaoks ennustatavaid nimesid ja loob sümboolseid linke. /dev/gpio/by-id/... GPIO-seadmete jaoks.

Kasutaja ja konto jaotist tugevdatakse samuti: Kasutajaandmebaas sisaldab UUID-väljaUtiliit userdbctl toetab selle identifikaatori järgi otsimiseks valikut "-uuid" ja homectl update Nüüd toetab see olemasolevatele kontodele taastevõtmete lisamiseks valikut "--recovery-key".

systemd-homedis lisatakse valikud "--prompt-shell" ja "--prompt-groups" esimese käivitamise ajal, kasutades systemd-homed-firstboot.service'i, ning systemd-firstbootis küsib "--prompt-keymap-auto" esimesel käivitamisel kohaliku konsooli kasutamisel klaviatuuri kaarti.

El Systemd-boot alglaadimishaldur lisab võimaluse määrata logi detailsuse taset. koos parameetriga log-level en loader.conf või SMBIOS-väljaga io.systemd.boot.loglevelLisaks konsolideeritakse rangemaid nõudeid sellistele partitsioonidele nagu XBOOTLDR, mis peavad nüüd olema VFAT-vormingus, kooskõlas sellega, mida ESP-lt juba tänapäevastes UEFI-süsteemides nõutakse.

Täiustatud võrgutasemel lisab systemd-networkd DHCP-serverile valikud EmitDomain ja Domain ning rakendab kontrolleri, mis määrab DNS-eraldusvõime abil DHCP kaudu väljastatud hostinimed. Samal ajal laadib systemd-modules-load kerneli mooduleid paralleelselt , vähendades paljude draiveritega süsteemide käivitusaega.

Lõpuks lisab systemd-integrity-setup terviklikkuse osas toe HMAC-SHA256, PHMAC-SHA256 ja PHMAC-SHA512 algoritmidele , laiendades süsteemi terviklikkuse kaitsmiseks saadaolevate krüptograafiliste valikute valikut.

Kõigi nende muudatustega kindlustab systemd 259 oma positsiooni väga tehnilise, nõudliku ja selgelt tulevikku suunatud versioonina . See sunnib kasutajaid loobuma vananenud tehnoloogiatest nagu SysV init, iptables ja TPM 1.2, tugevdab turvalisust ja ressursside kontrolli, parandab sisemist modulaarsust ning avab ukse uutele konfiguratsioonidele musl-iga, ehkki osaliselt ja tingimuslikult. Punktväljaannetega distributsioonide lõppkasutajate jaoks jäävad paljud neist uutest funktsioonidest peaaegu märkamatuks; administraatoritel ja projektidel, kes pidevalt uusimat versiooni kasutavad, on aeg enne üleminekut hoolikalt üle vaadata skriptid, ühikud ja riistvaranõuded.

systemd 259 tugi muslile
Seotud artikkel:
systemd 259: tugi musl-i, turvalisuse ja võtmemuudatustele