Ma hope o ʻekolu mahina o ka hoʻomohala ʻana loaʻa ka hoʻokuʻu ʻana o ka luna ʻōnaehana ʻōnaehana 261ʻO nā hoʻololi koʻikoʻi e pili ana i: ka hoʻomākaukau ʻana no ke kākoʻo ʻana i ka API hōʻoia makahiki, ke kākoʻo no nā ʻōnaehana Kexec Handover a me Live Update Orchestration no ka hoʻomaka hou ʻana me ka ʻole o ka nalowale ʻana o ke kūlana, ka ʻōnaehana IMDS (Instance Metadata Service), ka hana no ka pale ʻana i ka boot ma nā ʻōnaehana me ka ʻole o kahi TPM kino (Trusted Platform Module), a me ka ʻāpana systemd-sysinstall me kahi hoʻokō mea hoʻonoho.
Ma waena o loli i ka hoʻokuʻu hou:
- Ua hoʻohui ʻia kahi ʻāpana hou hoʻokomo ʻōnaehana systemd me ka hoʻokō ʻana o kahi mea hoʻonohonoho ʻōnaehana hana maʻalahi e hiki ke hoʻokele ʻia mai ka laina kauoha a i ʻole ma o kahi interface kikokikona interactive. Hoʻokumu ʻia ka hana o systemd-sysinstall mai nā hiki systemd e kū nei: hoʻohana ia ʻōnaehana-repart, e hoʻouka i ka kernel a hana i ka papa kuhikuhi boot - ke kauoha "loulou bootctl"e hoʻouka i ka bootloader ʻōnaehana-boot — ke kauoha "bootctl install" no ka hoʻonohonoho mua ʻana o ka ʻōnaehana i hoʻokomo ʻia (no ka laʻana, ke koho ʻana i ka locale a me ka hoʻonohonoho keyboard) — nā hōʻoia ʻōnaehana.
- I ka hoʻomākaukau ʻana no ka hoʻokō ʻana i nā koi nā kānāwai E pili ana i ka hoʻohui ʻana o ka API i loko o ka OS no ka hōʻoia ʻana o ka makahiki ma ka waihona ʻikepili userdb Ua hoʻohui ʻia ke kahua birthDate e hōʻike i ka lā hānau o ka mea hoʻohana. Hiki ke hoʻohana ʻia kēia kahua ma ka xdg-desktop-portal (i hoʻomohala ʻia no nā hoʻolaha) a me ka lawelawe AccountsService e hāʻawi i nā noi me ka ʻike e pili ana i ka māhele makahiki o ka mea hoʻohana ma o ka org.freedesktop.AgeVerification1 a i ʻole org.freedesktop.ParentalControls D-Bus interface. Ua hoʻohui ʻia ke koho --birth-date i ka pono homectl no ka hoʻonohonoho ʻana i ka makahiki.
- I ka mea lawelawe PID1 Ua hoʻohui ʻia ke kākoʻo no nā ʻōnaehana liʻiliʻi Linuxnā ʻiʻo LUO (Hoʻonohonoho Hoʻohou Ola) a KHO (Kexec Handling), e ʻae ana iā ʻoe e hoʻomaka hou a hōʻano hou i ka kernel me ka ʻole o ka hoʻōki ʻana i ka hana a me ka ʻole o ka nalowale ʻana o ke kūlana o ka ʻōnaehana, nā polokalamu a me nā kaʻina hana. KHO hāʻawi i ka hiki ke holo i kahi kernel hou mai ka mea kahiko me ka ʻole o ka nalowale ʻana o ke kūlana ʻōnaehana, a LUO hoʻokō i ka mālama ʻana i ke kūlana o nā polokalamu a me RAM, a hōʻoia pū kekahi i ka hoʻomau ʻana o nā hana e pili ana iā DMA a me ka hana hoʻopilikia.
Ma ka systemd, loaʻa i nā ʻāpana ʻōnaehana a me nā mea hoʻohana i ka hiki ke mālama i nā wehewehe faila ma mua o ke kāhea ʻana iā kexec a hoʻihoʻi iā lākou ma hope o ka hoʻomaka hou ʻana o ka kernel ma o kexec. Hiki i nā ʻāpana ke hana i kā lākou mau kau ponoʻī. LUO, mālama ʻia a hoʻihoʻi ʻia i ka wā o ka hoʻokō ʻana o kexec. No ka hoʻā ʻana i ka waihona wehewehe faila e mālama i ka mālama ʻana i ke kūlana, e hoʻohana i ka hoʻonohonoho FileDescriptorStorePreserve=yes. - Ua hoʻokō ʻia ka ʻōnaehana liʻiliʻi ʻōnaehana-imdsd, e hāʻawi ana i kahi API Varlink IPC-based no nā polokalamu kūloko e komo i nā lawelawe IMDS (Instance Metadata Service) i hāʻawi ʻia e nā mea lawelawe ao like ʻole. ʻAe ʻo IMDS i nā mīkini virtual e loaʻa ka ʻike e pili ana i ke kaiapuni ao, e like me ka hoʻonohonoho pūnaewele, ka wahi ʻāina o ka node, ke ʻano CPU, a me ka nui o ka waihona. Hāʻawi ʻo systemd-imdsd i kahi API haʻahaʻa no ke komo ʻana i nā kahua pākahi a me kahi interface kiʻekiʻe no ka nīnau ʻana e nā kī maʻamau i hoʻopaʻa ʻia i nā kī kikoʻī o ka paepae. Ua hoʻohui ʻia ka pono systemd-imdsd, e ʻae ana i ka lawe ʻana mai i nā kahua IMDS i loko o ka ʻōnaehana moʻokāki kūloko, e launa pū me systemd-imdsd.
Ua hoʻohui ʻia kahi waihona ʻikepili hou, ʻo hwdb.d/40-imds.hwdb, e ʻike i nā kahua ao e pili ana i ka ʻike SMBIOS a hoʻoholo i ka hana IMDS i loaʻa ma ke kikowaena o kēia manawa. ʻO nā kahua ao i ʻike ʻia e komo pū ana me Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS, a me Vultr. Loaʻa ka mea lawelawe systemd-imds-generator no ka hoʻololi ʻakomi ʻana i ka lawelawe no ka loaʻa ʻana o ka ʻikepili ma o IMDS i ka wā e holo ana ma kahi kahua ao i kākoʻo ʻia. Hiki ke hana ʻia nā kiʻi honua e kākoʻo ana i ka IMDS i ka wā e holo ana i nā wahi ao, akā hiki nō hoʻi ke hana me ka ʻole o IMDS. - В ʻōnaehana-stub Ua hoʻokō ʻia ka hana huna Boot, e ʻae ana i ka hana ʻana o kahi kī e pili ana i kahi loli EFI i mālama ʻia ma kahi i hiki ʻole ke komo i ka ʻōnaehana hana a hoʻomaka ʻia me kahi waiwai kaulele. Hoʻouna ʻia ke kī i ka initrd ma o ka faila /.extra/boot-secret. Pono paha kēia hiʻohiʻona e hana i kahi kī kaulele kikoʻī no ka ʻōnaehana no ka hōʻoia boot a i ʻole ka hoʻopāʻālua ma nā ʻōnaehana me ka ʻole o kahi lako TPM (Trusted Platform Module).
- Ua hoʻohui ʻia ka systemd-tpm2-swtpm.service e holo i ka emulator chip TPM swtpm (Software TPM Emulator), hiki ke hoʻohana ʻia e hoʻihoʻi aunoa i kahi hoʻokō TPM polokalamu no ka hoʻomaka palekana ma nā ʻōnaehana me ka ʻole o kahi TPM lako. Hana kahi polokalamu TPM ma kahi mea hoʻohana a ʻaʻole hāʻawi i ka pae like o ka pale e like me ka TPM lako, akā i kekahi mau kūlana ua kūpono kona hoʻohana ʻana i ka hoʻohālikelike ʻia me ka hana ʻole o kahi TPM. No ka laʻana, hiki i kahi polokalamu TPM ke loaʻa i kahi kī hoʻopāʻālua mahele me ka hoʻohana ʻana i ka hana "boot secret" hou a hoʻohana i ka ESP (EFI System Partition) ma ka disk e mālama i kona kūlana. Ua manaʻo ʻia ka parameter laina kauoha kernel systemd.tpm2_software_fallback no ka hoʻā ʻana i kahi polokalamu TPM.
- Ua haʻi ʻia he paʻa a waiho ʻia i loko o ka ʻāpana /usr/bin/ hoʻohou ʻōnaehana systemd-sys, i hoʻolālā ʻia e ʻike koke, hoʻoiho a hoʻouka i nā mea hou me ka hoʻohana ʻana i kahi ʻano atomika no ka hoʻololi ʻana i nā ʻāpana, nā faila a i ʻole nā papa kuhikuhi (ʻelua mau ʻāpana/faila/papa kuhikuhi kūʻokoʻa i hoʻohana ʻia, ʻo kekahi o ia mau mea e loaʻa ana ke kumuwaiwai e holo nei, a ʻo kekahi kahi e hoʻokomo ʻia ai ka mea hou aʻe, ma hope o ka hoʻololi ʻia ʻana o nā ʻāpana/faila/papa kuhikuhi).
- В hoʻoholo ʻōnaehana Ua hoʻokō ʻia ka hiki ke wehewehe hou a kuhikuhi paha i nā moʻolelo DNS hou ma ke kau ʻana i nā faila JSON i loko o nā papa kuhikuhi systemd/resolve/static.d/. ʻAʻole e like me /etc/hosts, ʻaʻole hiki i kēia mau faila hou ke hoʻopaʻa wale i nā helu wahi IP i nā inoa kikowaena akā wehewehe pū i nā moʻolelo DNS RR kumuwaiwai ʻē aʻe ma mua o "A" a me "AAAA." Eia kekahi, kākoʻo ʻo systemd-resolved i nā hoʻonohonoho nui cache DNS: DNSCacheSize, MulticastDNSCacheSize, a me LLMNRCacheSize.
- Hoʻohui ʻia ka pono hanamālama ʻana'no ka nānā ʻana i nā polokalamu mālama a me ka hoʻokele ʻana i ka pilina o nā polokalamu poloka a me nā ʻōnaehana faila.
- I loko nā hoʻolālā No ka hōʻemi ʻana i nā hilinaʻi, hoʻouka ikaika ʻo libsystemd i nā waihona puke libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk, a me libcryptsetup ma ke kāhea ʻana iā dlopen() i nā kūlana kahi e pono ai kā lākou mau hana.
- В systemd-tmpfiles Ua hoʻohui ʻia ka hae --inline, e ʻae ana i nā kuhikuhi e hoʻonohonoho ʻia ma ka laina kauoha me ka ʻole o ka hana ʻana i nā faila hoʻonohonoho ma tmpfiles.d/ a me ka ʻole o ka hoʻouna ʻana i nā hoʻonohonoho ma o STDIN. Ua hoʻohui ʻia kahi ʻano hou o ke kuhikuhi k/K no ka hoʻonohonoho ʻana. nā mea hikiUa hoʻohui ʻia ka faila hoʻonohonoho tmpfiles.d/root.conf, kahi e hoʻonohonoho ai i nā kuleana komo i 0555 (-r-xr-xr-x) no ka papa kuhikuhi kumu (/) e pale aku i ka wehewehe ʻana i nā kuleana hewa i ka wā e hana ana i ka ʻōnaehana faila kumu.
- I ka pono bootctl Ua hōʻoia ʻia ua mālama ʻia kahi kope kope o ka bootloader systemd-boot a ua hoʻopaʻa inoa ʻia ka mana kahiko ma UEFI ma ke ʻano he koho boot backup.
- В ʻōnaehana-vmspawn Ua hoʻohui ʻia ke kākoʻo no ka hoʻomaka pololei ʻana o ka kernel me ka ʻole o ka hoʻohana ʻana i ka firmware UEFI. Ua hoʻokō i ke koho --firmware-features no ka hoʻā ʻana a i ʻole ka hoʻopau ʻana i nā hiʻohiʻona firmware pākahi. Ua hoʻohui ʻia ke ʻano --console=headless no ka hoʻomaka ʻana i kahi mīkini virtual me ka ʻole o kahi console a pale paha. Ua hoʻohui ʻia ke koho --image-disk-type no ke koho ʻana i ke ʻano mālama poloka i hoʻohana ʻia ma ka VM (virtio-blk, virtio-scsi, nvme, a i ʻole scsi-cd). Ua hoʻohui ʻia ke koho --coco (Confidential Computing) no ka hoʻā ʻana i ka hoʻopāʻālua hoʻomanaʻo mīkini virtual me ka hoʻohana ʻana i ka ʻenehana AMD SEV-SNP.
- В ʻōnaehana-hostname Ua hoʻohui ʻia ke kākoʻo no ka hoʻopili ʻana i nā lepili maʻamau i ka ʻōnaehana o kēia manawa i /etc/machine-info me ka hoʻohana ʻana i ka palena Tags. A laila hiki ke hoʻohana ʻia kēia mau lepili e hoʻopili koho i nā hoʻonohonoho, i hōʻoia ʻia e ka hōʻike ConditionMachineTag.
- Ua hoʻohui ʻia nā hoʻonohonoho EventLoopRateLimitIntervalSec a me EventLoopRateLimitBurst e kaupalena i ka wikiwiki o ka loop hana hanana ma PID1 e hoʻokuʻu i nā kumuwaiwai CPU i ka hihia o ka loop.
- I kēia manawa, hoʻokomo ka luna lawelawe i kahi hoʻonohonoho MinimumUptimeSec no ka hoʻonohonoho ʻana i ka manawa hana liʻiliʻi loa o ka ʻōnaehana (15 kekona ma ka paʻamau). Inā hoʻomaka ʻia kahi pani a reboot paha ma mua o ka hala ʻana o kēia manawa, hoʻohui ʻia kahi lohi like i ka pae hope loa.
- Ua hoʻokō ʻia nā hoʻonohonoho hou no nā ʻāpana: CPUSetPartition no ka hoʻonohonoho ʻana i ke ʻano mahele cpuset i cgroup (root, isolated, member), RestrictFileSystemAccess no ka ʻae ʻana i nā faila hiki ke hoʻokō ʻia i hōʻoia ʻia e ka pūlima kikohoʻe me ka hoʻohana ʻana i ka dm-verity e holo, a me CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec no ka loaʻa ʻana o nā leka hoʻomaopopo e pili ana i ke kiʻekiʻe o ka CPU a me ka ukana I/O.
- Ua hoʻonui ʻia ka papa inoa o nā metrika i hāʻawi ʻia e ka pono. hōʻike-systemdEia kekahi laʻana, ua hoʻohui ʻia ka ʻike e pili ana i ka nui o ka hoʻomanaʻo kino a me nā ʻiole CPU hana, ka ʻikepili e pili ana i nā ʻike o nā kahua SMBIOS a me /etc/machine-info, ka ʻike e pili ana i ke kākoʻo no ke ʻano Confidential Computing, a me ka ʻike e pili ana i ka mea hana chip TPM2.
- В ʻōnaehana-oomd Ua hoʻokō ʻia ka hiki ke wehewehe i nā lula no ka kānana ʻana i nā kaʻina hana ke ʻike ka ʻōnaehana i nā kūlana hoʻomanaʻo haʻahaʻa. Hiki ke wehewehe ʻia nā lula ma ka papa kuhikuhi /etc/systemd/oomd/rules.d/ a i ʻole ma nā ʻāpana lawelawe ma o ke kuhikuhi OOMRule.
- В ʻōnaehana-socket-proxy Ua hoʻohui ʻia ke kākoʻo no ka protocol PROXY, kahi e kūlike ana me ka mana mua o ka protocol haproxy.
- В systemd-networkd Ua hoʻokō ʻia kahi backend sd-dhcp-relay hou no nā relays DHCP. Ua hoʻopau ʻia nā hoʻonohonoho ma ka ʻāpana [DHCPServer]: BindToInterface, RelayTarget, RelayAgentCircuitId, a me RelayAgentRemoteId. Akā, e hoʻohana i ka parameter DHCPRelay ma ka ʻāpana [Network] a me kahi moʻo o nā hoʻonohonoho hou ma ka ʻāpana [DHCPRelay] a ma ka faila networkd.conf. Ua hoʻohui ʻia ke kauoha networkctl dhcp-lease INTERFACE no ka mālama ʻana i kahi dump o ka ʻike hoʻopaʻa helu wahi IP (DHCP leases).
- I ka pono ʻōnaehana-nspawn Ua hoʻohui ʻia ke koho --restrict-address-families, me ka hoʻonohonoho ʻana o RestrictAddressFamilies i nā faila .nspawn e kaupalena i nā ʻohana helu wahi socket i hoʻohana ʻia i loko o ka ipu. I nā hoʻokuʻu e hiki mai ana, ʻo nā ʻohana AF_INET, AF_INET6, a me AF_UNIX wale nō e ʻae ʻia ma ka paʻamau.
- Ua hoʻopau ʻia ke kākoʻo no ke ʻano waihona ʻikepili udev kahiko (mana 0.x). Hoʻonui koke ʻia mai nā mana systemd ma mua o kēia hoʻokuʻu ʻana. 247 (opennet.ru) ʻaʻole i kākoʻo hou ʻia.
- I ke kūkulu ʻana me ka waihona musl C, pono ʻia ka hoʻokuʻu ʻana o ka musl 1.2.6 i kēia manawa.
Eia hou, hiki ke ʻike ʻia hoʻokuʻu ka papahana ʻōnaehana-hoʻokuʻu ʻia 261, kahi e hoʻomohala ai i kahi ʻāpana o systemd e wehe ana i ke code i hiki ke hoʻohana ʻia e kiu i nā mea hoʻohana. Hoʻopaʻa nā hoʻololi hoʻokuʻu i manaʻo ʻia iā ia iho i ka wehe ʻana i ke code e hoʻohui ana i ke kahua birthDate i userdb me ka lā hānau o ka mea hoʻohana, a me ke koho --birth-date i ka pono homectl no ka hoʻonohonoho ʻana i ka makahiki.
Source: linux.org.ru
