- Systemd 260 potpuno uklanja podršku za SysV init skripte, prisiljavajući korištenje izvornih .service jedinica i uklanjajući alate za kompatibilnost kao što je systemd-sysv-generator.
- Ova verzija podiže zahtjeve za kernelom na minimalno 5.10, preporučuje 5.14 i cilja na verziju 6.6 kako bi se iskoristile sve sigurnosne, mrežne i kontejnerske funkcije.
- Uključuje poboljšanja TPM2, izolaciju s PrivateUsers, nove mrežne opcije i prenosivost usluga putem systemd-networkd, systemd-portabled i alata kao što je systemd-mstack.
- Jača naprednu administraciju novim direktivama (MemoryTHP, CPUSchedulingPolicy ext), glagolima u systemctl-u i specifičnom dokumentacijom za doprinose potpomognute umjetnom inteligencijom.

Dolazak systemd 260 označava prekretnicu za Linux ekosistem. Ova nova verzija najraširenijeg init sistema i upravitelja usluga u modernim distribucijama dolazi s velikim promjenama, od kojih su neke revolucionarne, a utiču na sve, od kompatibilnosti sa starim softverom do načina upravljanja sigurnošću, umrežavanjem, kontejnerima, pa čak i integracijom AI agenata. Ako administrirate servere ili svakodnevno radite s Linuxom, ovo je jedna od onih verzija koje vrijedi pažljivo ispitati.
Pored naslova, glavni fokus je definitivno uklanjanje podrške za klasične SysV init skripte , što zatvara historijsko poglavlje u Linuxu i zahtijeva reviziju naslijeđenih servisa. Uz ovaj potez, systemd 260 uvodi nove uslužne programe, povećava minimalne zahtjeve za kernel, poboljšava integraciju s TPM2, jača izolaciju servisa, proširuje mogućnosti umrežavanja i kontejnera, te usavršava brojne detalje dizajnirane za desktop okruženja, servere i cloud implementacije.
Kraj podrške za SysV init: šta se mijenja u praksi
Jedna od najkomentiranijih novih funkcija systemd 260 je potpuno uklanjanje podrške za skripte za pokretanje u stilu System V, tipične skripte pohranjene u /etc/init.d/ koji su godinama bili osnova za pokretanje servisa na Linuxu. Ta podrška je odavno bila označena kao zastarjela i upozoravano je da će na kraju nestati; sada je taj trenutak došao.
Sa ovom verzijom, Komponente odgovorne za prevođenje SysV skripti u systemd jedinice su uklonjene.Komadi poput ovih nestaju systemd-sysv-generator, koji je generirao jedinice "u hodu" iz /etc/init.d, kao i systemd-sysv-install, pored ostalih elemenata kompatibilnosti kao što su systemd-rc-local-generator y rc-local.service, koji je podržavao klasičnu /etc/rc.local.
Ovo kretanje podrazumijeva da Bilo koji servis koji se i dalje oslanja isključivo na SysV skripte prestat će se ispravno pokretati nakon što distribucija usvoji systemd 260.osim ako nije kreirana izvorna jedinica .serviceU modernim infrastrukturama uticaj će biti relativno nizak, ali u okruženjima sa starim ili prilagođeno razvijenim softverom može doći do više od jednog iznenađenja ako se ne provede prethodna revizija.
U međuvremenu, neki Opcije sistema izgradnje Meson povezane sa SysV su označene kao zastarjele ili uklonjene.Parametri kao što su -Drc-local=, -Dsysvinit-path= y -Dsysvrcnd-path= Oni ostaju zastarjeli, dok opcije poput -Dintegration-tests= y -Dcryptolib= Oni direktno nestaju iz stabla kompajliranja, pojednostavljujući kodnu bazu.
U operativnom smislu, to također znači da systemd se sada fokusira isključivo na izvorne jedinicebez međuslojeva ili automatskog generiranja servisa iz naslijeđenih skripti. Poruka je sasvim jasna: ako nešto važno u vašem sistemu i dalje postoji kao skripta u /etc/init.d/Vrijeme je da se to eksplicitno migrira.
Zašto je SysV uklonjen: tehničko čišćenje i budućnost ekosistema
Odluka o uklanjanju podrške za SysV init nije bila proizvoljna. Iz perspektive projekta, održavanje naslijeđenog koda za praktično zastarjeli init mehanizam predstavljalo je teret koji je komplikovao održavanje i evoluciju okvira. Podrška za kompatibilnost godinama se smatrala naslijeđenom, a njena stvarna upotreba u glavnim distribucijama postajala je sve marginalnija.
Uklanjanjem ovog sloja, systemd smanjuje internu složenost i eliminira putanje izvršavanja koje je teško testirati i osigurati . S manje posebnih putanja za rukovanje naslijeđenim servisima, razvojni tim se može fokusirati na usavršavanje osnovnog nativnog mehanizma jedinica, poboljšanje sigurnosti, performansi i integracije s novim kernelom i API-jima korisničkog prostora.
Također postoji jasna komponenta usklađivanja sa trenutnim standardima upravljanja uslugama . Danas su gotovo sve glavne Linux distribucije prihvatile systemd kao svoj primarni init sistem i nude izvorne jedinice za svoje pakete. Održavanje SysV-a kao oslonca je, u praksi, podržavalo model pokretanja koji više nije odgovarao modernim metodama opisivanja zavisnosti, cgrupa, strukturiranih logova i kontrola resursa.
Sa stanovišta performansi, uklanjanje slojeva kompatibilnosti smanjuje opterećenje i izbjegava nepotrebne transformacije tokom pokretanja. Iako uticaj u milisekundama možda neće biti dramatičan, u visoko podešenim sistemima ili onima sa mnogo servisa, to može pomoći u održavanju predvidljivijeg ponašanja. Nadalje, korisno je znati kako izmijeniti vremensko ograničenje menija za pokretanje radi testiranja i validacije.
Za sistem administratore, praktična poruka je da SysV je sada historija u okruženjima zasnovanim na systemd-u.Moramo pretpostaviti da je referentni model jedinica .service, zajedno s drugim vrstama jedinica (utičnice, tajmeri, ciljevi itd.), i prilagoditi interne alate, dokumentaciju i obuku toj stvarnosti.
Kako provjeriti da li vaš sistem i dalje zavisi od SysV-a i šta učiniti
Prije nego što vaša distribucija pređe na systemd 260, toplo se preporučuje Provjerite da li još uvijek imate servise koji se oslanjaju na klasične skripte.Osnovna provjera uključuje popis sadržaja /etc/init.d/, gdje se tradicionalno nalaze ovi uvodni skripti:
ls /etc/init.d/
Ako tamo vidite skripte koje nemaju svoj ekvivalent u /etc/systemd/system ili na tipičnim rutama jedinica, To je jasan znak da ima posla koji treba obaviti.Nije dovoljno da skripta postoji: važno je da li se ona u praksi još uvijek koristi za pokretanje ili zaustavljanje servisa.
Još jedan koristan trik je traženje jedinica generiranih iz SysV-a u prethodnim verzijama systemd-a . Iako više ne postoje u verziji 260, ovo može biti korisno na trenutnim sistemima kako bi se identificiralo šta je pokvarilo nakon nadogradnje.
systemctl list-unit-files | grep generated
Ako ta naredba prikazuje servise označene kao "generirane", oni obično potiču iz naslijeđenih skripti. Preporučljivo ih je pronaći i planirati njihovu zamjenu izvornim jedinicama , po mogućnosti prije nego što nadogradnja verzije krene u produkciju.
Što se tiče migracije, brz pristup uključuje privremeno umotajte SysV skriptu unutar systemd jedinice, navodeći u ExecStart y ExecStop pozivi skripti s argumentima start y stopNije najelegantnije rješenje, ali vam omogućava da kupite vrijeme dok prepisujete uslugu na idiomatskiji način.
U srednjoročnom periodu, preporučeni tok djelovanja je definirajte jedinice koje direktno pozivaju binarnu ili glavnu komandu servisa, koristeći prednosti modernih direktiva kao što su Restart=Ograničenja resursa, integracija cgroup-a i napredne opcije sandbox-a, umjesto daljnjeg oslanjanja na naslijeđene skripte pune specifične logike.
Nove mogućnosti i ključne tehničke promjene u systemd 260
Iako nestanak SysV-a privlači mnogo pažnje, systemd 260 dolazi s dobrim brojem dodatnih novih funkcija koje pokrivaju sigurnost, umrežavanje, kernel, kontejnere, prenosivost servisa, pa čak i način na koji se sistemske informacije predstavljaju. To je posebno bogato izdanje u smislu internih promjena, dizajnirano da nastavi koristiti mogućnosti novijih kernela.
Jedna od važnih tačaka je povećanje minimalne podržane verzije kernela . Systemd 260 više ne radi na kernelima starim kao Linux 5.4: minimalna verzija je sada Linux 5.10 . Nadalje, sam projekat preporučuje korištenje barem Linuxa 5.14 i napominje da je kernel 6.6 idealan izbor ako želite u potpunosti iskoristiti sve funkcije u ovom izdanju.
Ovo povećanje zahtjeva nije trivijalno, jer prisiljava napuštanje distribucija ili okruženja koja su još uvijek vezana za vrlo stare kernele , što je uobičajeno u određenim poslovnim ili ugrađenim sistemima. Zauzvrat, omogućava systemd-u da iskoristi modernije API-je kernela, bolje iskoristi cgroups v2, implementira nove politike raspoređivanja i uključi sigurnosna poboljšanja koja jednostavno ne postoje u starijim serijama kernela.
Paralelno, a novo polje FANCY_NAME= u datoteci /etc/os-releaseOvo polje je slično onome koje je već poznato PRETTY_NAMEali s jedinstvenom karakteristikom da može uključivati ANSI sekvence i posebne znakove, poput emotikona. Systemd menadžer, systemd-hostnamed i alat hostnamectl Oni mogu prikazati ovu vrijednost kako bi ponudili vizualno privlačniji prikaz distribucije, posebno u interaktivnim interfejsima ili dijagnostičkim alatima.
Pored kozmetičkih poboljšanja, systemd 260 nastavlja produbljivati korištenje Varlinka kao komunikacijskog mehanizma i API-ja, proširujući svoje prisustvo na različite komponente. Ovo olakšava programsku interakciju sa sistemom, integraciju s vanjskim alatima i, općenito, strukturiraniji način ispitivanja i mijenjanja stanja servisa i resursa.
Također postoje poboljšanja u područjima kao što su Upravljanje resursima zasnovano na cgroups v2, optimizacija vremena pokretanja, bolje integracija s kontejnerima i virtualnim mašinama i poboljšanja u rukovanju trupcima putem journaldMeđutim, mnoge od ovih promjena su inkrementalne i primjetnije su u velikim ili visoko preciziranim implementacijama.
Sigurnost i izolacija: TPM2, PrivateUsers i nove memorijske politike
Na sigurnosnom planu, systemd 260 postiže napredak u nekoliko oblasti. Prvo, jača integraciju sa TPM2 , Trusted Platform Moduleom koji se nalazi na mnogim modernim UEFI matičnim pločama i uređajima. Ovi čipovi se koriste, između ostalog, za zaštitu ključeva za šifriranje i automatizaciju otključavanja diskova ili particija prilikom pokretanja sistema.
Tačnije udev sada uključuje novu ugrađenu funkciju pod nazivom tpm2_idOva funkcija omogućava automatsko izdvajanje i identifikaciju proizvođača i modela povezanih TPM2 uređaja tokom faze otkrivanja hardvera. Ove informacije se zatim mogu koristiti za specifičnije sigurnosne politike, skripte za reviziju ili alate za inventuru koji trebaju tačno znati koji TPM svaki računar ima.
Još jedno važno poboljšanje dolazi sa puna implementacija PrivateUsers=fullOvo je opcija izolacije koja omogućava mapiranje punog raspona korisničkih ID-ova unutar servisa. Ova promjena eliminira zaobilazno rješenje koje se koristi za ispravno otkrivanje ugniježđenih instanci systemd-a na osnovu verzija prije 257, pojednostavljujući ponašanje kada su prisutni kontejneri ili ugniježđena okruženja.
Za one koji nisu upoznati, PrivateUsers je sandbox funkcija koja izoluje korisnički prostor servisa , tako da procesi unutar njega vide drugačiju UID mapu od host sistema. Ovo jača izolaciju od eskalacije privilegija i pomaže u ograničavanju uticaja ranjivosti na određene servise.
Osim toga, systemd 260 uvodi nova direktiva o uslugama pod nazivom MemoryTHP=Ovo vam omogućava kontrolu korištenja Transparentnih ogromnih stranica (THP) na nivou jedinice. THP-ovi mogu poboljšati performanse u određenim memorijski intenzivnim radnim opterećenjima, ali mogu uzrokovati probleme i u drugima. Posjedovanje posebnog dugmeta za omogućavanje, onemogućavanje ili prilagođavanje njihovog ponašanja po servisu pomaže u mnogo efikasnijem podešavanju performansi bez potrebe za primjenom globalnih politika.
Šta je novo u systemd-logind, systemd-udevd i kontroli pristupa uređajima
U području upravljanja sesijama i uređajima, systemd 260 dodaje zanimljiv koncept pod nazivom "xaccess", implementirano u systemd-logind y systemd-udevdDo sada je logika bila da "uaccess", koji je dodjeljivao dozvole uređajima (na primjer, web kameri ili ulaznom uređaju) korisnicima sa sesijama u prvom planu na lokalnoj konzoli.
Novi xaccess mehanizam vam omogućava da delegirate pristup određenim uređajima posebno označenim sesijama , čak i kada korisnici nisu fizički prisutni na mašini. Tipičan slučaj upotrebe je davanje pristupa GPU uređajima za renderiranje lokalnim grafičkim sesijama koje koriste udaljeni korisnici koji nemaju povezano fizičko sjedište.
Ove sesije su konfigurisane pomoću entorno varijabla PAM XDG_SESSION_EXTRA_DEVICE_ACCESS=Ovo određuje koji dodatni uređaji trebaju biti odobreni sesiji prema ovoj logici. Ovo dopunjuje uaccess i pruža veću fleksibilnost u scenarijima udaljenog rada na radnoj površini, lagane virtualizacije, dijeljenih laboratorija ili udaljenog grafičkog pristupa.
Sveukupno, ove promjene imaju za cilj finiju, dinamičniju kontrolu nad tim ko može pristupiti kojem hardveru , bez oslanjanja isključivo na statičke grupe ili globalne dozvole. Ovo je posebno korisno u sistemima s više korisnika ili serverima s dijeljenim grafičkim procesorima (GPU), gdje je poželjna ravnoteža između sigurnosti i jednostavnosti korištenja.
systemd-networkd i ModemManager: Mobilne mreže i nove opcije povezivanja
Što se tiče umrežavanja, systemd 260 donosi neka zanimljiva poboljšanja. Najznačajnije je to što je systemd-networkd sada integriran s ModemManagerom koristeći protokol "simple connect" , što pojednostavljuje upravljanje mobilnim podatkovnim vezama (3G, 4G, 5G) direktno iz konfiguracije systemd-a.
U tu svrhu uveden je novi odjeljak. u konfiguracijskim datotekama mrežnog programa, koje prihvata parametre kao što su APN=, AllowedAuthenticationMechanisms=, User=, Password=, IPFamily=, AllowRoaming=, PIN=, OperatorId=, RouteMetric= y UseGateway=Ovo vam omogućava da deklarativno definišete kako treba uspostaviti mobilnu vezu, koje akreditive koristiti i kakvo ponašanje slijediti tokom roaminga, između ostalog.
Takođe, systemd-networkd proširuje opcije dostupne u datotekama .link za konfiguriranje Ethernet interfejsaMeđu novim direktivama su prilagođavanja kapaciteta kao što su ScatterGather=, ScatterGatherFragmentList=, TCPECNSegmentationOffload=, TCPMangleIdSegmentationOffload=, GenericReceiveOffloadList= y GenericReceiveOffloadUDPForwarding=koji omogućavaju mnogo detaljniju kontrolu optimizacija mreže niskog nivoa.
Još jedno značajno poboljšanje je to što Varlink i JSON interfejsi systemd-networkd-a sada mogu prijavljivati IP adrese u čovjeku čitljivom formatu stringova , pored postojećeg formata cjelobrojnog niza. Ovo uveliko pojednostavljuje stvari za eksterne alate i skripte koji ispituju status mreže, eliminišući glomazne konverzije.
Uzete zajedno, ove promjene jačaju poziciju systemd-networkd-a kao mrežnog menadžera sposobnog za rukovanje svime, od osnovnih konfiguracija servera do naprednih scenarija s mobilnim mrežama, finog podešavanja rasterećenja na modernim mrežnim karticama i integracije s vanjskim API-jima kao što je ModemManager.
Kontejneri, prenosivost usluga i novi alati
U području lagane virtualizacije i kontejnera, systemd 260 uvodi nekoliko značajnih poboljšanja. Jedno od najznačajnijih je dodavanje nova komandna linija pod nazivom systemd-mstackdizajniran za interaktivni rad s novom funkcionalnošću "mstack".
Karakteristika mstack vam omogućava da definišete OverlayFS strukturiranjem sadržaja direktorijuma. .mstack/ slijedeći određenu specifikaciju. Ova mogućnost je dio systemd-ovog napora da proširi svoje alate za kontejnerizaciju i sandboxing, uključujući podršku za preuzimanje i upravljanje OCI slikama putem systemd-importdU suštini, olakšava sastavljanje slojeva datotečnog sistema bez oslanjanja isključivo na eksterne alate.
Poboljšanja su također uvedena u systemd-vmspawnAlat je dizajniran za pokretanje virtuelnih mašina na integrirani način sa systemd-om. Među novim funkcijama ističu se sljedeće: podrška za registraciju mašina u systemd-machined unutar korisničke sesije, kao i mogućnost kreiranja efemernih mašina putem opcije --ephemeral, koji nestaju nakon što završe svoj posao.
Što se tiče systemd-portabled , koji je odgovoran za upravljanje prenosivim servisima zasnovanim na slikama, on sada dobija mogućnost pokretanja kao servis na nivou korisnika . To znači da korisnici bez administratorskih privilegija mogu pokretati i upravljati prenosivim servisima u svom prostoru, pod uslovom da koriste dovoljno noviji kernel i da je distribucija omogućila ovu opciju.
Nadalje, systemd-portabled sada može generirati politiku i popraviti sliku koja se koristi za prenosive usluge , blokirajući njene naknadne izmjene dok se ponovo ne prikači. Ovo pruža dodatni integritet i pouzdanost u okruženjima gdje je važno osigurati da se pokrenuta slika ne mijenja tiho.
Poboljšanja systemctl-a, raspoređivanja CPU-a i dokumentacije za AI
U interfejsu za upravljanje uslugama, U ovoj verziji, systemctl uključuje novi glagol pod nazivom enqueue-marked, koji interno poziva D-Bus metodu EnqueueMarkedJobs()Ova funkcija je dizajnirana za preciznije upravljanje poslovima označenim u redu čekanja systemd, dajući veću kontrolu naprednim alatima i skriptama za automatizaciju.
Također postoji poboljšanje u odjeljku za raspoređivanje CPU-a: Direktiva CPUSchedulingPolicy= sada priznaje vrijednost extšto omogućava planer SCHED_EXTOva nova vrsta raspoređivanja, koja se još uvijek pojavljuje u Linux ekosistemu, nudi veću fleksibilnost za posebna opterećenja i sisteme koji žele eksperimentirati s vanjskim politikama raspoređivanja.
Jedan zanimljiv, ali značajan detalj je da je projekat dodao specifičnu dokumentaciju za AI agente unutar systemd repozitorija . Cilj je pomoći botovima i scraperima zasnovanim na AI da bolje razumiju kod, stil programiranja, smjernice za doprinos i unutrašnje funkcionisanje projekta, smanjujući uobičajene nesporazume.
U vezi s tim, tim systemd-a Zahtijeva da doprinosi generirani uz pomoć umjetne inteligencije uključuju oznaku transparentnosti., kao oznaka co-developed-by u zakrpama, tako da postoje dokazi da su ove vrste alata korištene u razvoju koda. To je primjer kako se čak i tako niskonivojski projekat prilagođava stvarnosti generativne umjetne inteligencije.
Konačno, systemd-repart dodaje podršku za obavljanje osnovnih provjera integriteta na šifriranim volumenima , što je korisno u implementacijama gdje radite sa zaštićenim particijama ili slikama i želite provjeriti njihov status bez pribjegavanja složenijim vanjskim uslužnim programima.
Utjecaj na distribucije i preporuke za korisnike
Što se tiče samog uvođenja systemd 260, verzija će postepeno početi pristizati u glavne distribucije tokom prve polovine godine nakon integracije, obično kroz razvojne grane ili izdanja s postupnim izdanjima. Distribucije poput Arch Linuxa i openSUSE Tumbleweeda obično prilično brzo usvajaju ove verzije.
Nasuprot tome, distribucije s fiksnim ciklusom i LTS izdanja obično zahtijevaju više vremena za uključivanje glavne verzije systemd-a, posebno ako promjena narušava kompatibilnost sa starijom tehnologijom poput SysV init-a. Projekti poput Fedore, na primjer, obično ne ažuriraju glavnu verziju systemd-a unutar istog stabilnog ciklusa izdanja, već umjesto toga rezerviraju te promjene za novije verzije distribucije.
Za prosječnog korisnika desktop računara, ažuriranje systemd-a rijetko se čini kritičnim , jer distribucije brinu o objedinjavanju svega tako da se ništa "ne pokvari". Međutim, uvijek postoje entuzijasti koji žele najnoviju verziju po svaku cijenu, i u tim slučajevima najbolje je odlučiti se za distribucije s postupnim izdanjem ili testne repozitorije, prihvatajući rizik.
U produkcijskim okruženjima, preporuka je jasna: revizija naslijeđenih usluga, pregled skripti u /etc/init.d/Testna migracija na izvorne systemd jedinice u okruženjima za pripremu i temeljito provjerite ponašanje prije implementacije na kritične mašine. Preskakanje ovog koraka može rezultirati neuspjehom pokretanja servisa, kvarovima šifriranog lanca pokretanja ili problemima s mrežom u naprednim konfiguracijama.
Ukratko, systemd 260 predstavlja veliki skok ka homogenijem i modernijem Linux ekosistemu , ali također zahtijeva napuštanje praksi i komponenti koje postoje već decenijama. Oni koji unaprijed planiraju tranziciju imat će mnogo lakše iskustvo kada distribucije pređu na novu verziju i ova verzija postane novi temelj njihovih sistema.
Strastveni pisac o svijetu bajtova i tehnologije općenito. Volim dijeliti svoje znanje kroz pisanje, a to je ono što ću raditi na ovom blogu, pokazivati vam sve najzanimljivije stvari o gadžetima, softveru, hardveru, tehnološkim trendovima i još mnogo toga. Moj cilj je pomoći vam da se krećete u digitalnom svijetu na jednostavan i zabavan način.
Indeks
- 1 Kraj podrške za SysV init: šta se mijenja u praksi
- 2 Zašto je SysV uklonjen: tehničko čišćenje i budućnost ekosistema
- 3 Kako provjeriti da li vaš sistem i dalje zavisi od SysV-a i šta učiniti
- 4 Nove mogućnosti i ključne tehničke promjene u systemd 260
- 5 Sigurnost i izolacija: TPM2, PrivateUsers i nove memorijske politike
- 6 Šta je novo u systemd-logind, systemd-udevd i kontroli pristupa uređajima
- 7 systemd-networkd i ModemManager: Mobilne mreže i nove opcije povezivanja
- 8 Kontejneri, prenosivost usluga i novi alati
- 9 Poboljšanja systemctl-a, raspoređivanja CPU-a i dokumentacije za AI
- 10 Utjecaj na distribucije i preporuke za korisnike
