Pēc trīs mēnešu izstrādes pieejams tika izlaists sistēmas pārvaldnieks systemd 261. Galvenie uzlabojumi: sagatavošanās API atbalstam vecuma verifikācijai, Kexec Handover un Live Update Orchestration apakšsistēmu atbalsts, lai restartētu bez stāvokļa zuduma, IMDS (Instance Metadata Service) apakšsistēma, funkcionalitāte drošas ielādes nodrošināšanai sistēmās bez fiziska TPM (Trusted Platform Module), systemd-sysinstall komponents ar instalētāja realizāciju.
Starp izmaiņas jaunajā laidienā:
- Pievienots jauns komponents systemd-sysinstall ar vienkārša operētājsistēmas instalētāja realizāciju, kuru var pārvaldīt no komandrindas vai caur interaktīvo teksta saskarni. systemd-sysinstall funkcionalitāte ir veidota balstoties uz jau esošajām systemd iespējām: disku partionēšanas konfigurēšanai tiek izmantots systemd-repart, kodola uzstādīšanai un ielādes izvēlnes ģenerēšanai izmanto komandu «bootctl link», ielādētāja uzstādīšanai systemd-boot — komandu «bootctl install», sākotnējai konfigurēšanai uzstādītajā sistēmā (piemēram, valodas un tastatūras izkārtojuma izvēlē) — systemd-creds.
- Sagatavojoties prasību īstenošanai likumos par API iekļaušanu OS vecuma pārbaudes verifikācijai datu bāzē userdb tika pievienots birthDate lauks ar lietotāja datumu. Pievienotais lauks tiks izmantots izstrādājamajā portālā xdg-desktop-portal un AccountsService pakalpojumu sniegšanai, lai piešķirtu lietojumprogrammām informāciju par lietotāja vecuma kategoriju caur D-Bus interfeisu org.freedesktop.AgeVerification1 vai org.freedesktop.ParentalControls. Vecuma iestatīšanai utilītē homectl ir pievienota opcija —birth-date.
- PID1 apstrādē ir pievienots atbalsts Linux kodola apakšsistēmām LUO Live Update Orchestration (KHO) un Kexec Handover (), kas ļauj pilnvērtīgi restartēt un atjaunināt kodolu, nepārtraucot darbu un nezaudējot sistēmas, ierīču un procesu stāvokli.nodrošina iespējas palaist jauno kodolu no vecā, nezaudējot sistēmas stāvokli, un Kexec Handover īsteno ierīču un operatīvās atmiņas stāvokļa saglabāšanu, kā arī nodrošina nepārtrauktību operācijās, kas saistītas ar DMA un pārtraukumu apstrādi. Live Update Orchestration systemd tiek ieviesta iespēja saglabāt failu descriptorus pirms kexec izsaukuma un tos atjaunot pēc kodola restartēšanas caur kexec. unit failos arī var izveidot savus sesijas.
Systemd nodrošināja iespēju saglabāt failu descriptorus pirms kexec izsaukuma un to atjaunošanu pēc kodola restartēšanas caur kexec sistēmiskajos un lietotāja vienībās. Vienību ietvaros ir iespējams izveidot arī savus seansus. Live Update Orchestration, saglabāti un atjaunojami, veicot kexec. Lai ieslēgtu failu aprakstītāju krātuves stāvokļa saglabāšanu, jāizmanto opcija FileDescriptorStorePreserve=yes. - Ieviesta apakšsistēma systemd-imdsd, nodrošinot Varlink IPC balstītu API, lai vietējās programmas varētu piekļūt IMDS (Instance Metadata Service) pakalpojumiem, ko piedāvā dažādi mākoņu pakalpojumu sniedzēji. IMDS ļauj virtuālajām mašīnām iegūt informāciju par mākoņu vidi, piemēram, var iegūt informāciju par tīkla konfigurāciju, ģeogrāfisko atrašanās vietu, CPU tipu un krātuves izmēru. Systemd-imdsd nodrošina gan zema līmeņa API piekļuve atsevišķām laukiem, gan augsta līmeņa saskarni pieprasījumu izpildei pēc tipiskiem atslēgām, kas atbilst specifiskām atslēgām, kas raksturīgas konkrētām mākoņu platformām. Lai mijiedarbotos ar systemd-imdsd, pievienota utilīta systemd-imds, kas ļauj importēt laukus no IMDS vietējā lietotāju sistēmā.
Lai atpazītu mākoņu platformas, pamatojoties uz informāciju no SMBIOS, un noteiktu pašreizējā mezglā pieejamo IMDS funkcionalitāti, pievienota jauna datubāze hwdb.d/40-imds.hwdb. Ieviesta Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS un Vultr mākoņu platformu atpazīšana. Pieejams systemd-imds-generator apstrādātājs automātiskai pakalpojuma pievienošanai, lai iegūtu datus, izmantojot IMDS, ja tiek atklāta atbalstīta mākoņu platforma. Var izveidot universālas attēlus, kas atbalsta IMDS izmantošanu, palaižot mākoņu vidēs, bet spēj strādāt arī bez IMDS. - No systemd-stub ievieš funkcionalitāti boot secret, kas ļauj ģenerēt atslēgu, pamatojoties uz EFI mainīgo, kas tiek glabāts nepiekļūstamā operētājsistēmas jomā un inicializēts ar nejaušu vērtību. Initrd atslēga tiek nodota caur failu /.extra/boot-secret. Piedāvātā iespēja var būt nepieciešama, lai iegūtu sistēmai specifisku nejaušu atslēgu, lai pārbaudītu sākšanas procesu vai šifrēšanu sistēmās bez aparatūras TPM (Trusted Platform Module).
- Pievienots service systemd-tpm2-swtpm.service emulatora TPM čipu palaišanai swtpm (Programmatūras TPM emulator), ko var izmantot, lai automātiski atsāktu programmatūras TPM īstenojumu drošai startēšanai sistēmās bez aparatūras TPM. Programmatūras TPM darbojas lietotāja telpā un nesniedza tādu pašu aizsardzības līmeni kā aparatūras TPM, tomēr dažādās situācijās tā lietošana ir pamatota salīdzinājumā ar darbu bez TPM. Piemēram, programmatūras TPM var iegūt šifrēšanas atslēgu apgabaliem, izmantojot jauno funkcionalitāti «boot secret», un izmantot, lai saglabātu savu stāvokli ESP (EFI sistēmas nodalījumā) diskā. Lai automātiski ieslēgtu programmatūras TPM, ir piedāvāta komandrindas parametra opcija systemd.tpm2_software_fallback.
- Ievērots stabils un novietots vietnē /usr/bin components systemd-sysupdate, kas paredzēts automātiskai atpazīšanai, lejupielādei un atjauninājumu instalēšanai, izmantojot atomāro sadalīšanas mehānismu, failu vai direktoriju aizstāšanai (izmanto divus neatkarīgus sadalījumus/failus/direktorijas, no kuriem viens satur pašreizējo darbojošo resursu, bet otrā tiek uzstādīts nākamais atjauninājums, pēc tam sadalījumi/faili/direktorijas tiek apmainīti).
- No systemd-resolved realizēta iespēja pārrakstīt vai norādīt jaunus DNS ierakstus, izvietojot failus JSON formātā direktorijās systemd/resolve/static.d/. Atšķirībā no /etc/hosts jaunajos failos var ne tikai sasaistīt IP adreses ar hostu nosaukumiem, bet arī definēt resursu DNS RR ierakstus, kas atšķiras no «A» un «AAAA». Turklāt systemd-resolved ir pievienoti DNS keša izmēra iestatījumi: DNSCacheSize, MulticastDNSCacheSize un LLMNRCacheSize.
- Pievienota rīku komanda ‘storagectl’ lai pārbaudītu glabāšanas ierīces un pārvaldītu bloku ierīču un failu sistēmu savienojumu.
- Saskaņā ar inizatīvas atkarību samazinājumu libsystemd, realizēta dinamiska bibliotēku ielāde libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk un libcryptsetup, izmantojot dlopen() izsaukumu situācijās, kad to funkcijas patiešām nepieciešamas.
- No systemd-tmpfiles pievienots karogs —inline, ļaujot nosaka direktīvas komandrindā bez konfigūru failu izveides tmpfiles.d/ un bez iestatījumu nosūtīšanas caur STDIN. Pievienota jauna direktīvu veids k/K, lai noteiktu capabilities. Pievienots konfigurācijas fails tmpfiles.d/root.conf, kas nosaka piekļuves tiesības 0555 (-r-xr-xr-x) uz saknes direktoriju (/) aizsardzībai pret nepareizu tiesību norādīšanu dinamiski veidojot saknes failu sistēmu.
- Rīkā bootctl nodrošināta systemd-boot ielādes programmatūras dublēšana un vecās versijas ierakstīšana UEFI kā rezerves startēšanas opcija.
- No systemd-vmspawn pievienota atbalsts tiešai kodola ielādei, neizmantojot UEFI aparatūru. Ieviesta opcija —firmware-features, lai selektīvi ieslēgtu vai izslēgtu noteiktas aparatūras funkcijas. Pievienots režīms —console=headless, lai palaistu virtuālo mašīnu bez konsoles un ekrāna. Pievienota opcija —image-disk-type, lai izvēlētos VM izmantoto bloka krātuves veidu (virtio-blk, virtio-scsi, nvme, scsi-cd). Pievienota opcija —coco (Confidential Computing), lai ieslēgtu virtuālo mašīnu atmiņas šifrēšanas režīmu, izmantojot AMD SEV-SNP tehnoloģiju.
- No systemd-hostnamed un /etc/machine-info pievienota atbalsts nejaušu tagu pievienošanai esošai sistēmai, izmantojot parametru Tags. Iestatītie tagi var tikt lietoti selektīvai iestatījumu piemērošanai, pārbaudot ar nosacījumu ConditionMachineTag.
- Pievienoti iestatījumi EventLoopRateLimitIntervalSec un EventLoopRateLimitBurst, kas ierobežo notikumu apstrādes cikla intensitāti PID1, lai atbrīvotu CPU resursus gadījumā, ja ir notikusi cikliskā apstrāde.
- Servisa pārvaldniekā ieviests iestatījums MinimumUptimeSec, lai noteiktu minimālo sistēmas darbības laiku (noklusējumā 15 sekundes). Ja šajā laikā tiek uzsākta izslēgšanās vai restartēšana, izstrādāšanas posmā tiek pievienots atbilstošs atliktais laiks.
- Unit-iem ieviesti jauni iestatījumi CPUSetPartition, lai iestatītu cpuset sadalījuma veidu cgroup (root, isolated, member), RestrictFileSystemAccess, lai atļautu izpildāmā faila palaišanu tikai ar digitālo parakstu pārbauditiem failiem, izmantojot dm-verity, un CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec, lai saņemtu paziņojumus par augstu slodzi uz CPU un ievadi/izvadi.
- Paplašināts metrikas saraksts, ko sniedz rīks systemd-report. Piemēram, pievienotas fiziskās atmiņas lieluma un aktīvo CPU kodolu informācija, dati par SMBIOS un /etc/machine-info lauku saturu, informācija par Confidential Computing atbalstu un TPM2 mikroshēmu ražotāja dati.
- No systemd-oomd īstenota noteikumu izveide procesu filtrēšanai, kad sistēmā trūkst atmiņas. Noteikumus var norādīt direktorijā /etc/systemd/oomd/rules.d/ vai servisa unit-ās, izmantojot OOMRule direktīvu.
- No systemd-socket-proxy Pievienota PROXY protokola atbalsts, kas atbilst pirmajai haproxy protokola versijai.
- No systemd-networkd Ieviesta jauna sd-dhcp-relay backend DHCP relejiem. [DHCPServer] sadaļā novecojušas iestatījumi – BindToInterface, RelayTarget, RelayAgentCircuitId un RelayAgentRemoteId, kurus tagad jāaizstāj ar DHCPRelay parametru [Network] sadaļā un jaunu iestatījumu sēriju [DHCPRelay] sadaļā un networkd.conf failā. Pievienota komanda networkctl dhcp-lease INTERFACE, lai saglabātu IP adreses piesaistes (DHCP lease) informācijas izsistīšanu.
- Uz utilītu systemd-nspawn pievienota opcija —restrict-address-families, kā arī .nspawn failos iestatījums RestrictAddressFamilies, lai ierobežotu kontēnerā izmantoto adresu saimes soketus. Nākamajos laidienos pēc noklusējuma tiks atļautas tikai AF_INET, AF_INET6 un AF_UNIX adresu saimes.
- Atbalsts vecajai udev datubāzes formātam (0.x versija) ir pārtraukts. Dinamiska atjaunināšana no systemd versijām līdz laidienam 247 (opennet.ru) vairs netiek atbalstīta.
- Veidojot ar musl C bibliotēku, tagad nepieciešama vismaz musl 1.2.6 versija.
Papildus var atzīmēt izlaidums projekta liberated-systemd 261, systemd izstrādājuma forks, kas ir atbrīvots no koda, ko var izmantot lietotāju izsekošanai. Ieteiktajā izlaidumā izmaiņas ietver koda noņemšanu, kas pievieno userdb laukam birthDate ar lietotāja dzimšanas datumu, kā arī homectl utilītē jaunā opcija —birth-date lietotāja vecuma iestatīšanai.
Avots: linux.org.ru
