Выпуск систСмного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° systemd 251

ПослС пяти мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСдставлСн Ρ€Π΅Π»ΠΈΠ· систСмного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° systemd 251.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ измСнСния:

  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Ρ‹ систСмныС трСбования. Минимальная поддСрТиваСмая вСрсия ядра Linux ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° с 3.13 Π΄ΠΎ 4.15. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ трСбуСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° CLOCK_BOOTTIME. Для сборки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ компилятор с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ стандарта C11 ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ GNU (для Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ стандарт C89).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° systemd-sysupdate для автоматичСского опрСдСлСния, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ установки ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ с использованиСм Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π°ΠΌΠ΅Π½Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° нСзависимых Ρ€Π°Π·Π΄Π΅Π»Π°/Ρ„Π°ΠΉΠ»Π°/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… находится Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ рСсурс, Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ устанавливаСтся ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, послС Ρ‡Π΅Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Ρ‹/Ρ„Π°ΠΉΠ»Ρ‹/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ мСстами).
  • ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π° новая внутрСнняя раздСляСмая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° libsystemd-core-<version>.so, которая устанавливаСтся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /usr/lib/systemd/system ΠΈ соотвСтствуСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ libsystemd-shared-<version>.so. ИспользованиС раздСляСмой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libsystemd-core-<version>.so позволяСт ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ установочный Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·Π° счёт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. НомСр вСрсии ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ‘shared-lib-tag’ Π² сборочной систСмС meson ΠΈ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ дистрибутивам ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ нСсколько вСрсий Π΄Π°Π½Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ OnFailure/OnSuccess ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния $MONITOR_SERVICE_RESULT, $MONITOR_EXIT_CODE, $MONITOR_EXIT_STATUS, $MONITOR_INVOCATION_ID ΠΈ $MONITOR_UNIT с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± отслСТиваСмом ΡŽΠ½ΠΈΡ‚Π΅.
  • Для unit-ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° настройка ExtensionDirectories, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ систСмы (System Extension) ΠΈΠ· ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Π° Π½Π΅ дисковых ΠΎΠ±Ρ€Π°Π·ΠΎΠ². Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ систСмы накладываСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ OverlayFS ΠΈ примСняСтся для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² /usr/ ΠΈ /opt/, ΠΈ добавлСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π΄Π°ΠΆΠ΅ Ссли ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ‘portablectl attach —extension=’ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° указания ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.
  • Для unit-ΠΎΠ², ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΡ‘Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ systemd-oomd ΠΈΠ·-Π·Π° Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ памяти Π² систСмС, обСспСчСна ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ° ‘oom-kill’ ΠΈ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ ‘user.oomd_ooms’ числа ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΉ.
  • Для unit-ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ спСцификаторы ΠΏΡƒΡ‚Π΅ΠΉ %y/%Y, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΡŽΠ½ΠΈΡ‚Ρƒ (с раскрытиСм символичСских ссылок). Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ спСцификаторы %q для подстановки значСния PRETTY_HOSTNAME ΠΈ %d для подстановки CREDENTIALS_DIRECTORY.
  • Π’ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… сСрвисах, запускаСмых ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ с использованиСм Ρ„Π»Π°Π³Π° «—user», Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ настроСк RootDirectory, MountAPIVFS, ExtensionDirectories, *Capabilities*, ProtectHome, *Directory, TemporaryFileSystem, PrivateTmp, PrivateDevices, PrivateNetwork, NetworkNamespacePath, PrivateIPC, IPCNamespacePath, PrivateUsers, ProtectClock, ProtectKernelTunables, ProtectKernelModules, ProtectKernelLogs ΠΈ MountFlags. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π² систСмС пространства ΠΈΠΌΡ‘Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (user namespaces).
  • Π’ настройкС LoadCredential Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Π² этом случаС прСдпринимаСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· всСх Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.
  • Π’ systemctl Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ «—timestamp» появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ указания Ρ„Π»Π°Π³Π° «unix» для ΠΏΠΎΠΊΠ°Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² ΡΠΏΠΎΡ…Π°Π»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (число сСкунд с 1 января 1970 Π³ΠΎΠ΄Π°).
  • Π’ «systemctl status» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ„Π»Π°Π³ «old-kernel», ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Ссли Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ΅ Π² сСансС ядро ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ старый Π½ΠΎΠΌΠ΅Ρ€ вСрсии, Ρ‡Π΅ΠΌ доступноС Π² систСмС Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ядро. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„Π»Π°Π³ «unmerged-usr» для опрСдСлСния, Ρ‡Ρ‚ΠΎ содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² /bin/ ΠΈ /sbin/ сформировано Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· символичСскиС ссылки Π½Π° /usr.
  • Для запускаСмых процСссом PID 1 Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² прСдоставлСны Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния $SYSTEMD_SCOPE (запуск ΠΈΠ· систСмного ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ сСрвиса), $SYSTEMD_IN_INITRD (запуск ΠΈΠ· initrd ΠΈΠ»ΠΈ хост-окруТСния), $SYSTEMD_FIRST_BOOT (ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ), $SYSTEMD_VIRTUALIZATION (Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ запуска Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅) ΠΈ $SYSTEMD_ARCHITECTURE (Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ собрано ядро).
  • Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ PID 1 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² систСмных ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· QEMU-интСрфСйса fw_cfg ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ядра ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° systemd.set_credential. Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ LoadCredential обСспСчСн автоматичСский поиск ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… /etc/credstore/, /run/credstore/ ΠΈ /usr/lib/credstore/, Ссли Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΡƒΠΊΠ°Π·Π°Π½ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ. АналогичноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ для Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ LoadCredentialEncrypted, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ /etc/credstore.encrypted/, /run/credstore.encrypted/ ΠΈ /usr/lib/credstore.encrypted/.
  • Π’ systemd-journald стабилизирована Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ экспорта Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… «journalctl —list-boots» ΠΈ «bootctl list» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON (Ρ„Π»Π°Π³ «—json»).
  • Π’ udev Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… hwdb, содСрТащиС свСдСния ΠΎ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… устройствах (КПК, ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Ρ‹ ΠΈ Ρ‚.ΠΏ.) ΠΈ устройствах, примСняСмых ΠΏΡ€ΠΈ создании Π·Π²ΡƒΠΊΠ° ΠΈ Π²ΠΈΠ΄Π΅ΠΎ (DJ-ΠΏΡƒΠ»ΡŒΡ‚Ρ‹, ΠΊΠ΅ΠΉΠΏΠ°Π΄Ρ‹).
  • Π’ udevadm Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ «—prioritized-subsystem» для задания ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° слСдования систСм (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² systemd-udev-trigger.service для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств ΠΈ TPM), «—type=all», «—initialized-match» ΠΈ «—initialized-nomatch» для Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… устройств, «udevadm info —tree» для ΠΏΠΎΠΊΠ°Π·Π° Π΄Π΅Ρ€Π΅Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ /sys/. Π’ udevadm Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «wait» ΠΈ «lock» для оТидания появлСния Π² Π‘Π” записи ΠΎΠ± устройствС ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства Π²ΠΎ врСмя форматирования ΠΈΠ»ΠΈ записи Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ².
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ символичСских ссылок Π½Π° устройства /dev/disk/by-diskseq/<nr> для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств ΠΏΠΎ порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ («diskseq»).
  • Π’ Ρ„Π°ΠΉΠ»Ρ‹ .link Π² сСкции [Match] Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° «Firmware» для сопоставлСния устройства ΠΏΠΎ строкС с описаниСм ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ.
  • Π’ systemd-networkd для unicast-ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ², настраиваСмых Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅ΠΊΡ†ΠΈΡŽ [Route], Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ scope ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° «link» для соотвСтствия повСдСнию ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «ip route». Π’ ΡΠ΅ΠΊΡ†ΠΈΡŽ [Bridge] Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Isolated=true|false для настройки ΠΎΠ΄Π½ΠΎΠΈΠΌΡ‘Π½Π½ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° сСтСвых мостов Π² ядрС. Π’ сСкции [Tunnel] Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ External для установки Ρ‚ΡƒΠ½Π½Π΅Π»ΡŽ Ρ‚ΠΈΠΏΠ° external (Ρ€Π΅ΠΆΠΈΠΌ сбора ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…). Π’ сСкции [DHCPServer] Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ BootServerName, BootServerAddress ΠΈ BootFilename для настройки адрСса сСрвСра, ΠΈΠΌΠ΅Π½ΠΈ сСрвСра ΠΈ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, отправляСмых сСрвСром DHCP ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ PXE. Π’ сСкции [Network] ΡƒΠ΄Π°Π»Ρ‘Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ L2TP, вмСсто ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² .netdev Ρ„Π°ΠΉΠ»Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ настройку Local Π² привязкС ΠΊ интСрфСйсу L2TP.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΡŽΠ½ΠΈΡ‚ «systemd-networkd-wait-online@<interface>.service», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для оТидания поднятия ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ сСтСвого интСрфСйса.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Ρ„Π°ΠΉΠ»ΠΎΠ² .netdev для создания Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… устройств WLAN для настройки ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° сСкция [WLAN].
  • Π’ Ρ„Π°ΠΉΠ»Π°Ρ… .link/.network Π² сСкции [Match] Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Kind для сопоставлСния ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ устройства («bond», «bridge», «gre», «tun», «veth»).
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ запуск systemd-resolved Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½Π΅ΠΌ этапС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π² Ρ‚ΠΎΠΌ числС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ запуск ΠΈΠ· initrd ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ systemd-resolved Π² ΠΎΠ±Ρ€Π°Π·Π΅ initrd.
  • Π’ systemd-cryptenroll Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция —fido2-credential-algorithm для Π²Ρ‹Π±ΠΎΡ€Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ опция —tpm2-with-pin для управлСния Π²Π²ΠΎΠ΄ΠΎΠΌ PIN-ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π° с использованиСм TPM. Π’ /etc/crypttab Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° аналогичная опция tpm2-pin. ΠŸΡ€ΠΈ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ устройств Ρ‡Π΅Ρ€Π΅Π· TPM обСспСчСно ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.
  • Π’ systemd-timesyncd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ D-Bus API для динамичСского получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с NTP-сСрвСра Ρ‡Π΅Ρ€Π΅Π· IPC.
  • Для опрСдСлСния нСобходимости Ρ†Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π²ΠΎ всСх ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния COLORTERM Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Ρ€Π°Π½Π΅Π΅ провСряСмым NO_COLOR, SYSTEMD_COLORS ΠΈ TERM.
  • Π’ сборочной систСмС Meson Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опция install_tag для Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠΉ сборки ΠΈ установки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²: pam, nss, devel (pkg-config), systemd-boot, libsystemd, libudev. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° сборочная опция default-compression для Π²Ρ‹Π±ΠΎΡ€Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° сТатия для systemd-journald ΠΈ systemd-coredump.
  • Π’ sd-boot Π² loader.conf Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ настройка «reboot-for-bitlocker» для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Microsoft Windows с BitLocker TPM.

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