lëshimi i menaxherit të sistemit systemd 250

Pas pesë muajsh zhvillimi, u prezantua lëshimi i menaxherit të sistemit systemd 250. Publikimi i ri prezantoi aftësinë për të ruajtur kredencialet në formë të koduar, zbatoi verifikimin e ndarjeve GPT të zbuluara automatikisht duke përdorur një nënshkrim dixhital, përmirësoi informacionin rreth shkaqeve të vonesave kur fillimi i shërbimeve dhe opsionet e shtuara për kufizimin e aksesit të shërbimit në sisteme të caktuara skedarësh dhe ndërfaqe rrjeti, ofrohet mbështetje për monitorimin e integritetit të ndarjes duke përdorur modulin e integritetit dm dhe shtohet mbështetje për përditësimin automatik të sd-boot.

Ndryshimet kryesore:

  • Mbështetje e shtuar për kredencialet e koduara dhe të vërtetuara, të cilat mund të jenë të dobishme për ruajtjen e sigurt të materialeve të ndjeshme si çelësat SSL dhe fjalëkalimet e aksesit. Deshifrimi i kredencialeve kryhet vetëm kur është e nevojshme dhe në lidhje me instalimin ose pajisjet lokale. Të dhënat kodohen automatikisht duke përdorur algoritme simetrike të kriptimit, çelësi për të cilin mund të gjendet në sistemin e skedarëve, në çipin TPM2 ose duke përdorur një skemë kombinimi. Kur shërbimi fillon, kredencialet deshifrohen automatikisht dhe bëhen të disponueshme për shërbimin në formën e tij normale. Për të punuar me kredencialet e koduara, është shtuar programi 'systemd-creds' dhe janë propozuar për shërbime cilësimet LoadCredentialEncrypted dhe SetCredentialEncrypted.
  • sd-cung, ekzekutuesi EFI që lejon firmuerin EFI të ngarkojë kernelin Linux, tani mbështet nisjen e kernelit duke përdorur protokollin LINUX_EFI_INITRD_MEDIA_GUID EFI. Gjithashtu në sd-stub është shtuar aftësia për të paketuar kredencialet dhe skedarët sysext në një arkiv cpio dhe transferimin e këtij arkiv në kernel së bashku me initrd (skedarët shtesë vendosen në drejtorinë /.extra/). Kjo veçori ju lejon të përdorni një mjedis initrd të pandryshueshëm të verifikueshëm, të plotësuar me sysexts dhe të dhëna të koduara të vërtetimit.
  • Specifikimi i ndarjeve të zbulueshme është zgjeruar ndjeshëm, duke ofruar mjete për identifikimin, montimin dhe aktivizimin e ndarjeve të sistemit duke përdorur GPT (GUID Partition Tables). Krahasuar me lëshimet e mëparshme, specifikimi tani mbështet ndarjen rrënjë dhe ndarjen /usr për shumicën e arkitekturave, duke përfshirë platformat që nuk përdorin UEFI.

    Ndarjet e zbulueshme shtojnë gjithashtu mbështetje për ndarjet, integriteti i të cilave verifikohet nga moduli dm-verity duke përdorur nënshkrimet dixhitale PKCS#7, duke e bërë më të lehtë krijimin e imazheve të diskut plotësisht të vërtetuara. Mbështetja e verifikimit është e integruar në shërbime të ndryshme që manipulojnë imazhet e diskut, duke përfshirë systemd-nspawn, systemd-sysext, systemd-dissect, shërbimet RootImage, systemd-tmpfiles dhe systemd-sysusers.

  • Për njësitë që kërkojnë një kohë të gjatë për t'u nisur ose për t'u ndalur, përveç shfaqjes së një shiriti progresi të animuar, është e mundur të shfaqet informacioni i statusit që ju lejon të kuptoni se çfarë saktësisht po ndodh me shërbimin në këtë moment dhe cili shërbim është menaxheri i sistemit. aktualisht në pritje për të përfunduar.
  • U shtua parametri DefaultOOMScoreAdjust në /etc/systemd/system.conf dhe /etc/systemd/user.conf, i cili ju lejon të rregulloni pragun e vrasësit të OOM për memorie të ulët, i zbatueshëm për proceset që fillon sistemi për sistemin dhe përdoruesit. Si parazgjedhje, pesha e shërbimeve të sistemit është më e lartë se ajo e shërbimeve të përdoruesve, d.m.th. Kur ka memorie të pamjaftueshme, probabiliteti i ndërprerjes së shërbimeve të përdoruesit është më i lartë se ai i sistemit.
  • U shtua cilësimi RestrictFileSystems, i cili ju lejon të kufizoni aksesin e shërbimeve në lloje të caktuara të sistemeve të skedarëve. Për të parë llojet e disponueshme të sistemeve të skedarëve, mund të përdorni komandën "systemd-analize filesystems". Për analogji, është zbatuar opsioni RestrictNetworkInterfaces, i cili ju lejon të kufizoni aksesin në ndërfaqe të caktuara të rrjetit. Zbatimi bazohet në modulin BPF LSM, i cili kufizon aksesin e një grupi procesesh në objektet e kernelit.
  • U shtua një skedar i ri konfigurimi /etc/integritytab dhe mjeti systemd-integritysetup që konfiguron modulin e integritetit dm për të kontrolluar integritetin e të dhënave në nivel sektori, për shembull, për të garantuar pandryshueshmërinë e të dhënave të koduara (Authenticated Encryption, siguron që një bllok të dhënash të ketë nuk është modifikuar në mënyrë rrethrrotullimi) . Formati i skedarit /etc/integritytab është i ngjashëm me skedarët /etc/crypttab dhe /etc/veritytab, përveç se integriteti dm përdoret në vend të dm-crypt dhe dm-verity.
  • Është shtuar një skedar i ri njësie systemd-boot-update.service, kur të aktivizohet dhe të instalohet ngarkuesi sd-boot, systemd do të përditësojë automatikisht versionin e ngarkuesit sd-boot, duke e mbajtur gjithmonë të përditësuar kodin e ngarkuesit. Vetë sd-boot tani është ndërtuar si parazgjedhje me mbështetje për mekanizmin SBAT (UEFI Secure Boot Advanced Targeting), i cili zgjidh problemet me revokimin e certifikatës për UEFI Secure Boot. Përveç kësaj, sd-boot ofron mundësinë për të analizuar cilësimet e nisjes së Microsoft Windows për të gjeneruar saktë emrat e ndarjeve të nisjes me Windows dhe për të shfaqur versionin e Windows.

    sd-boot ofron gjithashtu mundësinë për të përcaktuar një skemë ngjyrash në kohën e ndërtimit. Gjatë procesit të nisjes, shtoi mbështetje për ndryshimin e rezolucionit të ekranit duke shtypur tastin "r". U shtua çelësi i nxehtë "f" për të shkuar te ndërfaqja e konfigurimit të firmuerit. U shtua një modalitet për të nisur automatikisht sistemin që korrespondon me artikullin e menusë të zgjedhur gjatë nisjes së fundit. U shtua aftësia për të ngarkuar automatikisht drejtuesit EFI të vendosur në drejtorinë /EFI/systemd/drivers/ në seksionin ESP (EFI System Partition).

  • Përfshihet një skedar i ri njësie factory-reset.target, i cili përpunohet në systemd-logind në një mënyrë të ngjashme me operacionet e rindezjes, fikjes, pezullimit dhe hibernimit dhe përdoret për të krijuar mbajtës për kryerjen e rivendosjes së fabrikës.
  • Procesi i zgjidhur nga sistemi tani krijon një fole shtesë dëgjimi në 127.0.0.54 përveç 127.0.0.53. Kërkesat që vijnë në 127.0.0.54 ridrejtohen gjithmonë në një server DNS në rrjedhën e sipërme dhe nuk përpunohen në nivel lokal.
  • Ofroi mundësinë për të ndërtuar systemd-importd dhe systemd-resolved me bibliotekën OpenSSL në vend të libgcrypt.
  • U shtua mbështetje fillestare për arkitekturën LoongArch të përdorur në procesorët Loongson.
  • systemd-gpt-auto-generator ofron mundësinë për të konfiguruar automatikisht ndarjet e këmbimit të përcaktuara nga sistemi, të koduara nga nënsistemi LUKS2.
  • Kodi i analizimit të imazhit GPT i përdorur në programet systemd-nspawn, systemd-dissect dhe të ngjashme zbaton aftësinë për të deshifruar imazhet për arkitektura të tjera, duke lejuar që systemd-nspawn të ​​përdoret për të ekzekutuar imazhe në emulatorë të arkitekturave të tjera.
  • Kur inspekton imazhet e diskut, systemd-dissect tani shfaq informacione rreth qëllimit të ndarjes, si p.sh. përshtatshmëria për nisje nëpërmjet UEFI ose ekzekutimi në një kontejner.
  • Fusha "SYSEXT_SCOPE" është shtuar në skedarët system-extension.d/, duke ju lejuar të tregoni shtrirjen e imazhit të sistemit - "initrd", "system" ose "portable".
  • Një fushë "PORTABLE_PREFIXES" është shtuar në skedarin os-release, i cili mund të përdoret në imazhet portative për të përcaktuar prefikset e skedarëve të njësive të mbështetura.
  • systemd-logind prezanton cilësime të reja HandlePowerKeyLongPress, HandleRebootKeyLongPress, HandleSuspendKeyLongPress dhe HandleHibernateKeyLongPress, të cilat mund të përdoren për të përcaktuar se çfarë ndodh kur disa çelësa mbahen të shtypur për më shumë se 5 sekonda (për shembull, konfiguroni me shpejtësi, duke shtypur tastin në pritje për të shkuar në , dhe kur mbahet poshtë, do të shkojë në gjumë) .
  • Për njësitë, janë implementuar cilësimet StartupAllowedCPUs dhe StartupAllowedMemoryNodes, të cilat ndryshojnë nga cilësimet e ngjashme pa prefiksin Startup në atë që ato aplikohen vetëm në fazën e nisjes dhe mbylljes, gjë që ju lejon të vendosni kufizime të tjera të burimeve gjatë nisjes.
  • U shtua [Kushti|Assert][Memory|CPU|IO]Kontrollet e presionit që lejojnë që aktivizimi i njësisë të anashkalohet ose të dështojë nëse mekanizmi PSI zbulon një ngarkesë të madhe në memorie, CPU dhe I/O në sistem.
  • Kufiri maksimal i paracaktuar i inode është rritur për ndarjen /dev nga 64k në 1M dhe për ndarjen /tmp nga 400k në 1M.
  • Për shërbimet është propozuar një cilësim ExecSearchPath, i cili bën të mundur ndryshimin e shtegut për kërkimin e skedarëve të ekzekutueshëm të nisur përmes cilësimeve si ExecStart.
  • U shtua cilësimi RuntimeRandomizedExtraSec, i cili ju lejon të futni devijime të rastësishme në afatin kohor të RuntimeMaxSec, i cili kufizon kohën e ekzekutimit të një njësie.
  • Është zgjeruar sintaksa e cilësimeve RuntimeDirectory, StateDirectory, CacheDirectory dhe LogsDirectory, në të cilat duke specifikuar një vlerë shtesë të ndarë me dy pika, tani mund të organizoni krijimin e një lidhjeje simbolike në një direktori të caktuar për organizimin e aksesit përgjatë disa shtigjeve.
  • Për shërbimet, cilësimet TTYRows dhe TTYColumns ofrohen për të vendosur numrin e rreshtave dhe kolonave në pajisjen TTY.
  • U shtua cilësimi ExitType, i cili ju lejon të ndryshoni logjikën për përcaktimin e përfundimit të një shërbimi. Si parazgjedhje, systemd monitoron vetëm vdekjen e procesit kryesor, por nëse caktohet ExitType=cgroup, menaxheri i sistemit do të presë që procesi i fundit në cgroup të përfundojë.
  • Implementimi i systemd-cryptsetup i mbështetjes TPM2/FIDO2/PKCS11 tani është ndërtuar gjithashtu si një shtojcë kriptetup, duke lejuar që komanda normale e cryptsetup të përdoret për të zhbllokuar një ndarje të koduar.
  • Trajtuesi TPM2 në systemd-cryptsetup/systemd-cryptsetup shton mbështetje për çelësat kryesorë RSA përveç çelësave ECC për të përmirësuar përputhshmërinë me çipat jo-ECC.
  • Opsioni token-timeout është shtuar në /etc/crypttab, i cili ju lejon të përcaktoni kohën maksimale për të pritur për një lidhje token PKCS#11/FIDO2, pas së cilës do t'ju kërkohet të vendosni një fjalëkalim ose një çelës rikuperimi.
  • systemd-timesyncd zbaton cilësimin SaveIntervalSec, i cili ju lejon të ruani periodikisht kohën aktuale të sistemit në disk, për shembull, për të zbatuar një orë monotonike në sistemet pa një RTC.
  • Opsionet janë shtuar në programin systemd-analyze: "--image" dhe "--root" për të kontrolluar skedarët e njësisë brenda një imazhi të caktuar ose direktoriumi rrënjësor, "--rekursive-errors" për marrjen parasysh të njësive të varura kur një gabim zbulohet, "--offline" për të kontrolluar veçmas skedarët e njësive të ruajtura në disk, "—json" për dalje në formatin JSON, "—qetë" për të çaktivizuar mesazhet e parëndësishme, "—profile" për t'u lidhur me një profil portativ. Është shtuar gjithashtu komanda inspect-elf për analizimin e skedarëve bazë në formatin ELF dhe aftësia për të kontrolluar skedarët e njësisë me një emër të caktuar njësie, pavarësisht nëse ky emër përputhet me emrin e skedarit.
  • systemd-networkd ka zgjeruar mbështetjen për autobusin e Rrjetit të Zonës së Kontrolluesit (CAN). Cilësimet e shtuara për të kontrolluar modalitetet CAN: Loopback, OneShot, PresumeAck dhe ClassicDataLengthCode. U shtua TimeQuantaNSec, PropagationSegment, PhaseBufferSegment1, PhaseBufferSegment2, SyncJumpWidth, DataTimeQuantaNSec, DataPropagationSegment, DataPhaseBufferSegment1, DataPhaseBufferSegment2 dhe opsionet e kontrollit DataPhaseBufferSegmentXNUMX dhe DataSyncJumpWidth në seksionin e SinkronizimitANT. ndërfaqe.
  • Systemd-networkd ka shtuar një opsion Label për klientin DHCPv4, i cili ju lejon të konfiguroni etiketën e adresës së përdorur kur konfiguroni adresat IPv4.
  • systemd-udevd për "ethtool" zbaton mbështetje për vlera të veçanta "max" që vendosin madhësinë e buferit në vlerën maksimale të mbështetur nga hardueri.
  • Në skedarët .link për systemd-udevd tani mund të konfiguroni parametra të ndryshëm për kombinimin e përshtatësve të rrjetit dhe lidhjen e mbajtësve të harduerit (offload).
  • systemd-networkd ofron skedarë të rinj. 80-80rd-tunnel.network për të përcaktuar tunelet që krijohen automatikisht kur marrin një përgjigje DHCP me opsionin 6RD.
  • Systemd-networkd dhe systemd-udevd kanë shtuar mbështetjen për përcjelljen e IP-së përmes ndërfaqeve InfiniBand, për të cilat seksioni "[IPoIB]" është shtuar në skedarët systemd.netdev dhe përpunimi i vlerës "ipoib" është zbatuar në llojin vendosjen.
  • systemd-networkd siguron konfigurimin automatik të rrugës për adresat e specifikuara në parametrin AllowedIPs, të cilat mund të konfigurohen përmes parametrave RouteTable dhe RouteMetric në seksionet [WireGuard] dhe [WireGuardPeer].
  • systemd-networkd ofron gjenerim automatik të adresave MAC të pandryshueshme për ndërfaqet batadv dhe bridge. Për të çaktivizuar këtë sjellje, mund të specifikoni MACAddress=none në skedarët .netdev.
  • Një cilësim WakeOnLanPassword është shtuar në skedarët .link në seksionin "[Link]" për të përcaktuar fjalëkalimin kur WoL funksionon në modalitetin "SecureOn".
  • Cilësimet e shtuara AutoRateIngress, CompensationMode, FlowIsolationMode, NAT, MPUBytes, PriorityQueueingPreset, FirewallMark, Wash, SplitGSO dhe UseRawPacketSize në seksionin "[CAKE]" të skedarëve .network për të përcaktuar parametrat e mekanizmit të menaxhimit të rrjetit CAKE (Common Enhanque) .
  • U shtua një cilësim IgnoreCarrierLoss në seksionin "[Network]" të skedarëve .network, duke ju lejuar të përcaktoni se sa kohë duhet të prisni përpara se të reagoni ndaj humbjes së sinjalit të operatorit.
  • Systemd-nspawn, homectl, machinectl dhe systemd-run kanë zgjeruar sintaksën e parametrit "--setenv" - nëse specifikohet vetëm emri i ndryshores (pa "="), vlera do të merret nga ndryshorja përkatëse e mjedisit (për për shembull, kur specifikoni "--setenv=FOO" vlera do të merret nga ndryshorja e mjedisit $FOO dhe do të përdoret në variablin mjedisor me të njëjtin emër të vendosur në kontejner).
  • systemd-nspawn ka shtuar një opsion "--suppress-sync" për të çaktivizuar thirrjet e sistemit sync()/fsync()/fdatasync() kur krijoni një kontejner (i dobishëm kur shpejtësia është përparësi dhe ruajtja e objekteve të ndërtimit në rast dështimi nuk është e rëndësishme, pasi ato mund të rikrijohen në çdo kohë).
  • Është shtuar një bazë të dhënash e re hwdb, e cila përfshin lloje të ndryshme të analizuesve të sinjalit (multimetra, analizues protokolli, oshiloskopë, etj.). Informacioni rreth kamerave në hwdb është zgjeruar me një fushë me informacion në lidhje me llojin e kamerës (të rregullt ose infra të kuqe) dhe vendosjen e lenteve (para ose pas).
  • Gjenerimi i aktivizuar i emrave të ndërfaqes së rrjetit që nuk ndryshojnë për pajisjet netfront të përdorura në Xen.
  • Analiza e skedarëve bazë nga programi systemd-coredump bazuar në bibliotekat libdw/libelf tani kryhet në një proces të veçantë, i izoluar në një mjedis sandbox.
  • systemd-importd ka shtuar mbështetje për variablat e mjedisit $SYSTEMD_IMPORT_BTRFS_SUBVOL, $SYSTEMD_IMPORT_BTRFS_QUOTA, $SYSTEMD_IMPORT_SYNC, me të cilat mund të çaktivizoni gjenerimin e nënndarjeve Btrfs, si dhe të konfiguroni sinkronizimin dhe diskronizimin.
  • Në systemd-journald, në sistemet e skedarëve që mbështesin modalitetin copy-on-write, modaliteti COW ri-aktivizohet për ditarët e arkivuar, duke i lejuar ato të kompresohen duke përdorur Btrfs.
  • systemd-journald zbaton dedublikim të fushave identike në një mesazh të vetëm, i cili kryhet në fazën para vendosjes së mesazhit në ditar.
  • U shtua opsioni "--show" në komandën e mbylljes për të shfaqur mbylljen e planifikuar.

Burimi: opennet.ru

Shto një koment