Выпуск систСмного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° systemd 252 с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ UKI (Unified Kernel Image)

ПослС пяти мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСдставлСн Ρ€Π΅Π»ΠΈΠ· систСмного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° systemd 252. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² Π½ΠΎΠ²ΠΎΠΉ вСрсии стала интСграция ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ подписям Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ядро ΠΈ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, Π½ΠΎ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ систСмного окруТСния.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ использованиС ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π° ядра UKI (Unified Kernel Image), ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ядра ΠΈΠ· UEFI (UEFI boot stub), ΠΎΠ±Ρ€Π°Π· ядра Linux ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ систСмноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ initrd, примСняСмоС для Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° стадии Π΄ΠΎ монтирования ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π€Π‘. UKI-ΠΎΠ±Ρ€Π°Π· оформляСтся Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Ρ‹Π·Π²Π°Π½ ΠΈΠ· ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ UEFI. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΈΠ· UEFI прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности ΠΈ достовСрности ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ядра, Π½ΠΎ ΠΈ содСрТимого initrd.

Для расчёта ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² рСгистров TPM PCR (Trusted Platform Module Platform Configuration Register), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для контроля цСлостности ΠΈ формирования Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи ΠΎΠ±Ρ€Π°Π·Π° UKI, Π² состав Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° новая ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° systemd-measure. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² подписи ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ информация ΠΎ PCR ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ встроСна нСпосрСдствСнно Π² Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· UKI (ΠΊΠ»ΡŽΡ‡ ΠΈ подпись ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PE Π² полях ‘.pcrsig’ ΠΈ ‘.pcrkey’) ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π° ΠΈΠ· Π½Π΅Π³ΠΎ внСшними ΠΈΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ.

Π’ Ρ‚ΠΎΠΌ числС для использования Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ systemd-cryptsetup, systemd-cryptenroll ΠΈ systemd-creds, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ привязку Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… дисковых Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΊ Π·Π°Π²Π΅Ρ€Π΅Π½Π½ΠΎΠΌΡƒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью ядру (Π² этом случаС доступ ΠΊ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ прСдоставляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ±Ρ€Π°Π· UKI ΠΏΡ€ΠΎΡˆΡ‘Π» Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи Π½Π° основС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Ρ… Π² TPM).

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² состав Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° systemd-pcrphase, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ привязкой Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… стадий Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹ΠΌ Π² памяти криптопроцСссоров, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ TPM 2.0 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ Ρ€Π°Π·Π΄Π΅Π»Π° LUKS2 доступным Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ±Ρ€Π°Π·Π΅ initrd ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ доступ ΠΊ Π½Π΅ΠΌΡƒ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… этапах Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ).

НСкоторыС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ измСнСния:

  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ использованиС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π»ΠΎΠΊΠ°Π»ΠΈ C.UTF-8, Ссли Π² настройках Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° иная локаль.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ прСднастройки сСрвисов («systemctl preset») Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ прСднастройки Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ трСбуСтся сборка с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ «-Dfirst-boot-full-preset», Π½ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… выпусках Π΅Ρ‘ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • Π’ unit-Π°Ρ… управлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ задСйствован ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ рСсурсов CPU, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ настроСк CPUWeight ΠΊΠΎ всСм slice-ΡŽΠ½ΠΈΡ‚Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ для разбиСния систСмы Π½Π° части (app.slice, background.slice, session.slice) для изоляции рСсурсов ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ сСрвисами, ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π·Π° рСсурсы CPU. Π’ Π‘PUWeight Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° значСния «idle» для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° прСдоставлСния рСсурсов.
  • Π’ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… («transient») unit-Π°Ρ… ΠΈ Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ systemd-repart Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ настроСк Ρ‡Π΅Ρ€Π΅Π· созданиС drop-in Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc/systemd/system/имя.d/.
  • Для систСмных ΠΎΠ±Ρ€Π°Π·ΠΎΠ² обСспСчСно выставлСниС Ρ„Π»Π°Π³Π° прСкращСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ (‘support-ended’), опрСдСляя Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ Π½Π° основании значСния Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° «SUPPORT_END=» Π² Ρ„Π°ΠΉΠ»Π΅ /etc/os-release.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки «ConditionCredential=» ΠΈ «AssertCredential=», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для игнорирования ΠΈΠ»ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΡŽΠ½ΠΈΡ‚ΠΎΠ² ΠΏΡ€ΠΈ отсутствии Π² систСмС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….
  • Π’ system.conf ΠΈ user.conf Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки «DefaultSmackProcessLabel=» ΠΈ «DefaultDeviceTimeoutSec=» для опрСдСлСния уровня бСзопасности SMACK ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π° Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΡŽΠ½ΠΈΡ‚Π°, примСняСмых ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • Π’ настройках «ConditionFirmware=» ΠΈ «AssertFirmware=» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ указания ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ SMBIOS, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для запуска ΡŽΠ½ΠΈΡ‚Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅ /sys/class/dmi/id/board_name содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «Custom Board», ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ «ConditionFirmware=smbios-field(board_name = «Custom Board»)».
  • Π’ процСссС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (PID 1) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ SMBIOS (Type 11, «OEM vendor strings») Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· qemu_fwcfg, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ прСдоставлСниС ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ машинам ΠΈ позволяСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· сторонних инструмСнтов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ cloud-init ΠΈ ignition.
  • Π’ΠΎ врСмя Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° отмонтирования Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π€Π‘ (proc, sys) ΠΈ обСспСчСно сохранСния Π² Π»ΠΎΠ³Π΅ свСдСний ΠΎ процСссах, Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΎΡ‚ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм.
  • Π’ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π΅ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (SystemCallFilter) Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ доступ ΠΊ систСмному Π²Ρ‹Π·ΠΎΠ²Ρƒ riscv_flush_icache.
  • Π’ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ΅ sd-boot Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² смСшанном Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ 64-разрядноС ядро Linux запускаСтся ΠΈΠ· 32-разрядной ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ UEFI. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ автоматичСского примСнСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ SecureBoot ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… Π² ESP (EFI system partition).
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ bootctl Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ «—all-architectures» для установки Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² для всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ EFI, «—root=» ΠΈ «—image=» для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ ΠΈΠ»ΠΈ дисковым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, «—install-source=» для опрСдСлСния источника для установки, «—efi-boot-option-description=» для управлСния ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… записСй.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ systemctl Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ‘list-automounts’ для ΠΏΠΎΠΊΠ°Π·Π° списка автоматичСски ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ опция «—image=» для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ Π² привязкС ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ дисковому ΠΎΠ±Ρ€Π°Π·Ρƒ. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ‘show’ ΠΈ ‘status’ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ «—state=» ΠΈ «—type=».
  • Π’ systemd-networkd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ «TCPCongestionControlAlgorithm=» для Π²Ρ‹Π±ΠΎΡ€Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° управлСния ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ TCP, «KeepFileDescriptor=» для сохранСния Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ дСскриптора интСрфСйсов TUN/TAP, «NetLabel=» для установки ΠΌΠ΅Ρ‚ΠΎΠΊ NetLabel, «RapidCommit=» для ускорСния настройки Ρ‡Π΅Ρ€Π΅Π· DHCPv6 (RFC 3315). Π’ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ «RouteTable=» Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΈΠΌΡ‘Π½ Ρ‚Π°Π±Π»ΠΈΡ† ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • Π’ systemd-nspawn Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ использованиС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ Π² опциях «—bind=» ΠΈ «—overlay=». Π’ ΠΎΠΏΡ†ΠΈΡŽ «—bind=» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ‘rootidmap’ для привязки ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ ΠΊ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π° сторонС хост-систСмы.
  • Π’ systemd-resolved Π² качСствС бэкСнда для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ задСйствован ΠΏΠ°ΠΊΠ΅Ρ‚ OpenSSL (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° gnutls сохранСна Π² качСствС ΠΎΠΏΡ†ΠΈΠΈ). НСподдСрТиваСмыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ DNSSEC Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ нСбСзопасныС, вмСсто возвращСния ошибки (SERVFAIL).
  • Π’ systemd-sysusers, systemd-tmpfiles ΠΈ systemd-sysctl Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ настроСк Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ хранСния ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ systemd-analyze Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ‘compare-versions’ для сравнСния строк с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ вСрсий (ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ‘rpmdev-vercmp’ ΠΈ ‘dpkg —compare-versions’). Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ‘systemd-analyze dump’ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΡŽΠ½ΠΈΡ‚ΠΎΠ² ΠΏΠΎ маскС.
  • ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ многоэтапного Ρ€Π΅ΠΆΠΈΠΌΠ° сна (suspend-then-hibernate, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² спящий Ρ€Π΅ΠΆΠΈΠΌ послС ΠΆΠ΄ΡƒΡ‰Π΅Π³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°), врСмя нахоТдСния Π² ΠΆΠ΄ΡƒΡ‰Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выбираСтся Π½Π° основании ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π° ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π³ΠΎΡΡ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠœΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² спящий Ρ€Π΅ΠΆΠΈΠΌ производится ΠΊΠΎΠ³Π΄Π° остаётся ΠΌΠ΅Π½Π΅Π΅ 5% заряда аккумулятора.
  • Π’ ‘journalctl’ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° «-o short-delta», ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ сообщСниями Π² Π»ΠΎΠ³Π΅.
  • Π’ systemd-repart Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° создания Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² с Π€Π‘ Squashfs ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² для dm-verity, Π² Ρ‚ΠΎΠΌ числС с Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ подписями.
  • Π’ systemd-logind Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° настройка «StopIdleSessionSec=» для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сСанса послС истСчСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°.
  • Π’ systemd-cryptenroll Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—unlock-key-file=» для извлСчСния ΠΊΠ»ΡŽΡ‡Π° Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, Π° Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π²ΠΎΠ΄ запроса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выполнСния ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ systemd-growfs Π² окруТСниях Π±Π΅Π· udev.
  • Π’ systemd-backlight ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° систСм с нСсколькими графичСскими ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ.
  • ЛицСнзия Π½Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° с CC0 Π½Π° MIT-0.

ИзмСнСния Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ:

  • ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии ядра ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ConditionKernelVersion Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… ‘=’ ΠΈ ‘!=’ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ примСняСтся простоС строковоС сравнСниС, Π° Ссли ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сравнСния Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ сопоставлСниС ΠΏΠΎ glob-маскС с использованиСм символов ‘*’, ‘?’ ΠΈ ‘[‘, ‘]’. Для сравнСния вСрсий Π² стилС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ stverscmp() слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ‘<‘, ‘>’, ‘<=’ ΠΈ ‘>=’.
  • ΠœΠ΅Ρ‚ΠΊΠ° SELinux, примСняСмая для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ доступа ΠΈΠ· unit-Ρ„Π°ΠΉΠ»Π°, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ читаСтся Π½Π° этапС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π°, Π° Π½Π΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ доступа.
  • УсловиС «ConditionFirstBoot» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ срабатываСт ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ систСмы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСпосрСдствСнно Π½Π° стадии Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ «false» ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΡŽΠ½ΠΈΡ‚ΠΎΠ² послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.
  • Π’ 2024 Π³ΠΎΠ΄Ρƒ Π² systemd планируСтся ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ограничСния рСсурсов cgroup v1, ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ Π² разряд ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Π² выпускС systemd 248. Администраторам рСкомСндуСтся Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ Π½Π° cgroup v2 сСрвисов, завязанных Π½Π° cgroup v1. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ cgroups v2 ΠΎΡ‚ v1 являСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ cgroups для всСх Π²ΠΈΠ΄ΠΎΠ² рСсурсов, вмСсто Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΉ для распрСдСлСния рСсурсов CPU, для рСгулирования потрСблСния памяти ΠΈ для Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. Π Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ приводят ΠΊ трудностям ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌ рСсурсов ядра ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΡ€Π°Π²ΠΈΠ» для процСсса, ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΠΎΠ³ΠΎ Π² Ρ€Π°Π·Π½Ρ‹Ρ… иСрархиях.
  • Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ 2023 Π³ΠΎΠ΄Π° планируСтся ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΊΠΎΠ³Π΄Π° /usr монтируСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ корня ΠΈΠ»ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ /bin ΠΈ /usr/bin, /lib ΠΈ /usr/lib.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru