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

[:ru]

ПослС Π΄Π²ΡƒΡ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСдставлСн Ρ€Π΅Π»ΠΈΠ· систСмного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° systemd 242. Из Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ L2TP, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ systemd-logind ΠΏΡ€ΠΈ пСрСзапускС Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² XBOOTLDR для монтирования /boot, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ Π² overlayfs, Π° Ρ‚Π°ΠΊΠΆΠ΅ большоС число Π½ΠΎΠ²Ρ‹Ρ… настроСк для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΡŽΠ½ΠΈΡ‚ΠΎΠ².

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

  • Π’ systemd-networkd обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ L2TP;
  • Π’ sd-boot ΠΈ bootctl Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² XBOOTLDR (Extended Boot Loader), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для монтирования Π² /boot, Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌ ESP, ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ Π² /efi ΠΈΠ»ΠΈ /boot/efi. Π―Π΄Ρ€Π°, настройки, ΠΎΠ±Ρ€Π°Π·Ρ‹ initrd ΠΈ EFI Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ESP, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² XBOOTLDR. Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ sd-boot Π² Π±ΠΎΠ»Π΅Π΅ консСрвативных сцСнариях, ΠΊΠΎΠ³Π΄Π° сам Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½ Π² ESP, Π° Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ ядра ΠΈ связанныС с Π½ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ вынСсСны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ядру ΠΎΠΏΡ†ΠΈΠΈ «systemd.volatile=overlay», Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π» Π² overlayfs ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎΠ²Π΅Ρ€Ρ… доступного Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния ΠΎΠ±Ρ€Π°Π·Π° ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с записью ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² tmpfs (измСнСния Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ послС пСрСзапуска). По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Π² systemd-nspawn Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—volatile=overlay» для использования ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…;
  • Π’ systemd-nspawn Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—oci-bundle», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€Ρ‹ runtime для обСспСчСния ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… трСбованиям спСцификации Open Container Initiative (OCI). Для использования Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈ nspawn-ΡŽΠ½ΠΈΡ‚Π°Ρ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ, описанных Π² спСцификации OCI, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ частСй Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ настройки «—inaccessible» ΠΈ «Inaccessible», Π° для настройки стандартных ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ «—console» ΠΈ «—pipe»;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ systemd-logind Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_MENU ΠΈ
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ свои ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ процСсса ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu ΠΈ
    /run/systemd/reboot-to-boot-loader-entry) ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… (ΠΏΡ€ΠΈ выставлСнии значСния Π² false);

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «systemctl reboot» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ «—boot-load-menu=» ΠΈ
    «—boot-loader-entry=», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ³ΠΎ мСню ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ;

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая ΠΊΠΎΠΌΠ°Π½Π΄Π° sandbox-изоляции «RestrictSUIDSGID=», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ seccomp для Π·Π°ΠΏΡ€Π΅Ρ‚Π° создания Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ„Π»Π°Π³Π°ΠΌΠΈ SUID/SGID;
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ «NoNewPrivileges» ΠΈ «RestrictSUIDSGID» Π² сСрвисах с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ динамичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ («DynamicUser»);
  • ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² .link-Ρ„Π°ΠΉΠ»Π°Ρ… настройка MACAddressPolicy=persistent ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° для ΠΎΡ…Π²Π°Ρ‚Π° большСго числа устройств. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ сСтСвых мостов, Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ (tun, tap) ΠΈ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΊΠΎΠ² (bond) Π½Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ сСбя ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ сСтСвого интСрфСйса, поэтому Π΄Π°Π½Π½ΠΎΠ΅ имя Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС основы для привязки MAC ΠΈ IPv4-адрСсов. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° настройка «MACAddressPolicy=random», ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для привязки MAC ΠΈ IPv4-адрСсов ΠΊ устройствам Π² случайном порядкС;
  • Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· systemd-fstab-generator ΡŽΠ½ΠΈΡ‚-Ρ„Π°ΠΉΠ»Ρ‹ «.device» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΡŽΠ½ΠΈΡ‚Ρ‹ «.mount» Π² качСствС зависимостСй Π² сСкции «Wants=». ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ устройства Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ автоматичСскому запуску ΡŽΠ½ΠΈΡ‚Π° для монтирования, Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΡŽΠ½ΠΈΡ‚Ρ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ local-fs.target ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡŽΠ½ΠΈΡ‚ΠΎΠ², зависимых ΠΎΡ‚ local-fs.target;
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «networkctl list/status/lldp» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° масок («*» ΠΈ Ρ‚.ΠΏ.) для отсСивания ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ сСтСвых интСрфСйсов ΠΏΠΎ части ΠΈΡ… ΠΈΠΌΠ΅Π½ΠΈ;
  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ окруТСния $PIDFILE Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ устанавливаСтся с использованиСм Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ, настроСнного Π² сСрвисах Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «PIDFile=;
  • Π’ число Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… DNS-сСрвСров, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ссли явно Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ основной DNS, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ сСрвСры Cloudflare (1.1.1.1). Для пСрСопрСдСлСния списка Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… DNS-сСрвСров ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ «-Ddns-servers=»;
  • ΠŸΡ€ΠΈ выявлСнии наличия ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° USB-устройства (USB Device Controller) обСспСчСн автоматичСский запуск Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° usb-gadget.target (ΠΊΠΎΠ³Π΄Π° систСма Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½ΠΎΠΌ устройствС USB);
  • Для unit-Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° настройка «CPUQuotaPeriodSec=», ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ измСряСтся ΠΊΠ²ΠΎΡ‚Π° Π½Π° процСссорноС врСмя, задаваСмая Ρ‡Π΅Ρ€Π΅Π· настройку «CPUQuota=»;
  • Для unit-Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° настройка «ProtectHostname=», Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‰Π°Ρ сСрвисам ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΈ хоста, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ;
  • Для unit-Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° настройка «NetworkNamespacePath=», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ пространство ΠΈΠΌΡ‘Π½ ΠΊ сСрвисам ΠΈΠ»ΠΈ socket-ΡŽΠ½ΠΈΡ‚Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ пространства ΠΈΠΌΡ‘Π½ Π² псСвдо-Π€Π‘ /proc;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ подстановки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния процСссам, запускаСмым ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ настройки «ExecStart=», Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ символа «:» ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ запуска;
  • Для Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² (ΡŽΠ½ΠΈΡ‚Ρ‹ .timer) ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ «OnClockChange=» ΠΈ
    «OnTimezoneChange=», ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΡŽΠ½ΠΈΡ‚Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ систСмного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ часового пояса;

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ настройки «ConditionMemory=» ΠΈ «ConditionCPUs=», ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ условия Π²Ρ‹Π·ΠΎΠ²Π° ΡŽΠ½ΠΈΡ‚Π° Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° памяти ΠΈ числа ядСр CPU (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСсурсоёмкий сСрвис ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли имССтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ объСм ΠžΠ—Π£);
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΡŽΠ½ΠΈΡ‚ time-set.target, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ локально установлСнноС систСмноС врСмя, Π±Π΅Π· использования свСрки с внСшними сСрвСрами Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡŽΠ½ΠΈΡ‚Π° time-sync.target. Новый ΡŽΠ½ΠΈΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован сСрвисами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ достаточно точности Π½Π΅ синхронизированных Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… часов;
  • Π’ «systemctl start» ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—show-transaction», ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выводится сводка ΠΎ всСх Ρ€Π°Π±ΠΎΡ‚Π°Ρ…, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈΠ·-Π·Π° Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ;
  • Π’ systemd-networkd Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ состояния ‘enslaved’, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ вмСсто ‘degraded’ ΠΈΠ»ΠΈ ‘carrier’ для сСтСвых интСрфСйсов, входящих Π² состав Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΊΠΎΠ² ΠΈΠ»ΠΈ сСтСвых мостов. Для ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… интСрфСйсов Π² случаС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· составных Π»ΠΈΠ½ΠΊΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ состояниС ‘degraded-carrier’;
  • Π’ ΡŽΠ½ΠΈΡ‚Ρ‹ .network Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «IgnoreCarrierLoss=» для сохранСния сСтСвых настроСк Π² случаС ΠΎΠ±Ρ€Ρ‹Π²Π° связи;
  • Π§Π΅Ρ€Π΅Π· настройку «RequiredForOnline=» Π² ΡŽΠ½ΠΈΡ‚Π°Ρ… .network Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ минимально допустимоС состояниС Π»ΠΈΠ½ΠΊΠ°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° сСтСвого интСрфСйса Π² «online» ΠΈ срабатывания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° systemd-networkd-wait-online;
  • Π’ systemd-networkd-wait-online Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—any» для оТидания готовности любого ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… сСтСвых интСрфСйсов вмСсто всСх, Π° Ρ‚Π°ΠΊΠΆΠ΅ опция «—operational-state=» для опрСдСлСния состояния Π»ΠΈΠ½ΠΊΠ°, ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎ готовности;
  • Π’ .network ΡŽΠ½ΠΈΡ‚Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки «UseAutonomousPrefix=» ΠΈ «UseOnLinkPrefix=», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для игнорирования прСфиксов ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ
    анонса ΠΎΡ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° IPv6 (RA, Router Advertisement);

  • Π’ .network ΡŽΠ½ΠΈΡ‚Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки «MulticastFlood=», «NeighborSuppression=» ΠΈ «Learning=» для измСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСтСвого моста, Π° Ρ‚Π°ΠΊΠΆΠ΅ настройка «TripleSampling=» для измСнСния Ρ€Π΅ΠΆΠΈΠΌΠ° TRIPLE-SAMPLING Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… интСрфСйсов CAN;
  • Π’ .netdev ΡŽΠ½ΠΈΡ‚Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки «PrivateKeyFile=» ΠΈ «PresharedKeyFile=», ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈ раздСляСмый (PSK) ΠΊΠ»ΡŽΡ‡ΠΈ для интСрфСйсов WireGuard VPN;
  • Π’ /etc/crypttab Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ same-cpu-crypt ΠΈ submit-from-crypt-cpus, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ядрами CPU Ρ€Π°Π±ΠΎΡ‚, связанных с ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ;
  • Π’ systemd-tmpfiles обСспСчСна ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„Π°ΠΉΠ»Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… со Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ позволяСт Π½Π° врСмя выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… дСйствий ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ чисткС ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ распаковкС tar-Π°Ρ€Ρ…ΠΈΠ²Π° Π² /tmp ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ раскрыты ΠΎΡ‡Π΅Π½ΡŒ старыС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π΄ΠΎ окончания дСйствия с Π½ΠΈΠΌΠΈ);
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «systemd-analyze cat-config» обСспСчСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, разнСсённой Π½Π° нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈ систСмныС прСднастройки, содСрТимоС tmpfiles.d ΠΈ sysusers.d, ΠΏΡ€Π°Π²ΠΈΠ»Π° udev ΠΈ Ρ‚.ΠΏ.
  • Π’ «journalctl» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—cursor-file=» для опрСдСлСния Ρ„Π°ΠΉΠ»Π° для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ сохранСния указатСля ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ;
  • Π’ systemd-detect-virt Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° ACRN ΠΈ подсистСмы WSL ( Windows Subsystem for Linux) для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ вСтвлСния ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «ConditionVirtualization»;
  • Π’ΠΎ врСмя установки systemd (ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ «ninja install») ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ созданиС Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc символичСских ссылок Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
    systemd-networkd-wait-online.service ΠΈ systemd-timesyncd.service. Для создания Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «systemctl preset-all».

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

[:en]

ПослС Π΄Π²ΡƒΡ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСдставлСн Ρ€Π΅Π»ΠΈΠ· систСмного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° systemd 242. Из Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ L2TP, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ systemd-logind ΠΏΡ€ΠΈ пСрСзапускС Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² XBOOTLDR для монтирования /boot, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ Π² overlayfs, Π° Ρ‚Π°ΠΊΠΆΠ΅ большоС число Π½ΠΎΠ²Ρ‹Ρ… настроСк для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΡŽΠ½ΠΈΡ‚ΠΎΠ².

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

  • Π’ systemd-networkd обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ L2TP;
  • Π’ sd-boot ΠΈ bootctl Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² XBOOTLDR (Extended Boot Loader), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для монтирования Π² /boot, Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌ ESP, ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ Π² /efi ΠΈΠ»ΠΈ /boot/efi. Π―Π΄Ρ€Π°, настройки, ΠΎΠ±Ρ€Π°Π·Ρ‹ initrd ΠΈ EFI Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ESP, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² XBOOTLDR. Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ sd-boot Π² Π±ΠΎΠ»Π΅Π΅ консСрвативных сцСнариях, ΠΊΠΎΠ³Π΄Π° сам Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½ Π² ESP, Π° Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ ядра ΠΈ связанныС с Π½ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ вынСсСны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ядру ΠΎΠΏΡ†ΠΈΠΈ «systemd.volatile=overlay», Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π» Π² overlayfs ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎΠ²Π΅Ρ€Ρ… доступного Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния ΠΎΠ±Ρ€Π°Π·Π° ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с записью ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² tmpfs (измСнСния Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ послС пСрСзапуска). По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Π² systemd-nspawn Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—volatile=overlay» для использования ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…;
  • Π’ systemd-nspawn Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—oci-bundle», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€Ρ‹ runtime для обСспСчСния ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… трСбованиям спСцификации Open Container Initiative (OCI). Для использования Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈ nspawn-ΡŽΠ½ΠΈΡ‚Π°Ρ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ, описанных Π² спСцификации OCI, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ частСй Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ настройки «—inaccessible» ΠΈ «Inaccessible», Π° для настройки стандартных ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ «—console» ΠΈ «—pipe»;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ systemd-logind Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_MENU ΠΈ
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ свои ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ процСсса ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu ΠΈ
    /run/systemd/reboot-to-boot-loader-entry) ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… (ΠΏΡ€ΠΈ выставлСнии значСния Π² false);

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «systemctl reboot» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ «—boot-load-menu=» ΠΈ
    «—boot-loader-entry=», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ³ΠΎ мСню ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ;

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая ΠΊΠΎΠΌΠ°Π½Π΄Π° sandbox-изоляции «RestrictSUIDSGID=», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ seccomp для Π·Π°ΠΏΡ€Π΅Ρ‚Π° создания Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ„Π»Π°Π³Π°ΠΌΠΈ SUID/SGID;
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ «NoNewPrivileges» ΠΈ «RestrictSUIDSGID» Π² сСрвисах с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ динамичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ («DynamicUser»);
  • ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² .link-Ρ„Π°ΠΉΠ»Π°Ρ… настройка MACAddressPolicy=persistent ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° для ΠΎΡ…Π²Π°Ρ‚Π° большСго числа устройств. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ сСтСвых мостов, Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ (tun, tap) ΠΈ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΊΠΎΠ² (bond) Π½Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ сСбя ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ сСтСвого интСрфСйса, поэтому Π΄Π°Π½Π½ΠΎΠ΅ имя Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС основы для привязки MAC ΠΈ IPv4-адрСсов. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° настройка «MACAddressPolicy=random», ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для привязки MAC ΠΈ IPv4-адрСсов ΠΊ устройствам Π² случайном порядкС;
  • Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· systemd-fstab-generator ΡŽΠ½ΠΈΡ‚-Ρ„Π°ΠΉΠ»Ρ‹ «.device» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΡŽΠ½ΠΈΡ‚Ρ‹ «.mount» Π² качСствС зависимостСй Π² сСкции «Wants=». ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ устройства Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ автоматичСскому запуску ΡŽΠ½ΠΈΡ‚Π° для монтирования, Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΡŽΠ½ΠΈΡ‚Ρ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ local-fs.target ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡŽΠ½ΠΈΡ‚ΠΎΠ², зависимых ΠΎΡ‚ local-fs.target;
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «networkctl list/status/lldp» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° масок («*» ΠΈ Ρ‚.ΠΏ.) для отсСивания ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ сСтСвых интСрфСйсов ΠΏΠΎ части ΠΈΡ… ΠΈΠΌΠ΅Π½ΠΈ;
  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ окруТСния $PIDFILE Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ устанавливаСтся с использованиСм Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ, настроСнного Π² сСрвисах Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «PIDFile=;
  • Π’ число Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… DNS-сСрвСров, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ссли явно Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ основной DNS, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ сСрвСры Cloudflare (1.1.1.1). Для пСрСопрСдСлСния списка Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… DNS-сСрвСров ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ «-Ddns-servers=»;
  • ΠŸΡ€ΠΈ выявлСнии наличия ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° USB-устройства (USB Device Controller) обСспСчСн автоматичСский запуск Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° usb-gadget.target (ΠΊΠΎΠ³Π΄Π° систСма Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½ΠΎΠΌ устройствС USB);
  • Для unit-Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° настройка «CPUQuotaPeriodSec=», ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ измСряСтся ΠΊΠ²ΠΎΡ‚Π° Π½Π° процСссорноС врСмя, задаваСмая Ρ‡Π΅Ρ€Π΅Π· настройку «CPUQuota=»;
  • Для unit-Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° настройка «ProtectHostname=», Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‰Π°Ρ сСрвисам ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΈ хоста, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ;
  • Для unit-Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° настройка «NetworkNamespacePath=», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ пространство ΠΈΠΌΡ‘Π½ ΠΊ сСрвисам ΠΈΠ»ΠΈ socket-ΡŽΠ½ΠΈΡ‚Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ пространства ΠΈΠΌΡ‘Π½ Π² псСвдо-Π€Π‘ /proc;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ подстановки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния процСссам, запускаСмым ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ настройки «ExecStart=», Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ символа «:» ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ запуска;
  • Для Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² (ΡŽΠ½ΠΈΡ‚Ρ‹ .timer) ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ «OnClockChange=» ΠΈ
    «OnTimezoneChange=», ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΡŽΠ½ΠΈΡ‚Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ систСмного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ часового пояса;

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ настройки «ConditionMemory=» ΠΈ «ConditionCPUs=», ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ условия Π²Ρ‹Π·ΠΎΠ²Π° ΡŽΠ½ΠΈΡ‚Π° Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° памяти ΠΈ числа ядСр CPU (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСсурсоёмкий сСрвис ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли имССтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ объСм ΠžΠ—Π£);
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΡŽΠ½ΠΈΡ‚ time-set.target, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ локально установлСнноС систСмноС врСмя, Π±Π΅Π· использования свСрки с внСшними сСрвСрами Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡŽΠ½ΠΈΡ‚Π° time-sync.target. Новый ΡŽΠ½ΠΈΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован сСрвисами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ достаточно точности Π½Π΅ синхронизированных Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… часов;
  • Π’ «systemctl start» ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—show-transaction», ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выводится сводка ΠΎ всСх Ρ€Π°Π±ΠΎΡ‚Π°Ρ…, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈΠ·-Π·Π° Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ;
  • Π’ systemd-networkd Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ состояния ‘enslaved’, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ вмСсто ‘degraded’ ΠΈΠ»ΠΈ ‘carrier’ для сСтСвых интСрфСйсов, входящих Π² состав Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΊΠΎΠ² ΠΈΠ»ΠΈ сСтСвых мостов. Для ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… интСрфСйсов Π² случаС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· составных Π»ΠΈΠ½ΠΊΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ состояниС ‘degraded-carrier’;
  • Π’ ΡŽΠ½ΠΈΡ‚Ρ‹ .network Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «IgnoreCarrierLoss=» для сохранСния сСтСвых настроСк Π² случаС ΠΎΠ±Ρ€Ρ‹Π²Π° связи;
  • Π§Π΅Ρ€Π΅Π· настройку «RequiredForOnline=» Π² ΡŽΠ½ΠΈΡ‚Π°Ρ… .network Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ минимально допустимоС состояниС Π»ΠΈΠ½ΠΊΠ°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° сСтСвого интСрфСйса Π² «online» ΠΈ срабатывания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° systemd-networkd-wait-online;
  • Π’ systemd-networkd-wait-online Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—any» для оТидания готовности любого ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… сСтСвых интСрфСйсов вмСсто всСх, Π° Ρ‚Π°ΠΊΠΆΠ΅ опция «—operational-state=» для опрСдСлСния состояния Π»ΠΈΠ½ΠΊΠ°, ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎ готовности;
  • Π’ .network ΡŽΠ½ΠΈΡ‚Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки «UseAutonomousPrefix=» ΠΈ «UseOnLinkPrefix=», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для игнорирования прСфиксов ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ
    анонса ΠΎΡ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° IPv6 (RA, Router Advertisement);

  • Π’ .network ΡŽΠ½ΠΈΡ‚Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки «MulticastFlood=», «NeighborSuppression=» ΠΈ «Learning=» для измСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСтСвого моста, Π° Ρ‚Π°ΠΊΠΆΠ΅ настройка «TripleSampling=» для измСнСния Ρ€Π΅ΠΆΠΈΠΌΠ° TRIPLE-SAMPLING Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… интСрфСйсов CAN;
  • Π’ .netdev ΡŽΠ½ΠΈΡ‚Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки «PrivateKeyFile=» ΠΈ «PresharedKeyFile=», ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈ раздСляСмый (PSK) ΠΊΠ»ΡŽΡ‡ΠΈ для интСрфСйсов WireGuard VPN;
  • Π’ /etc/crypttab Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ same-cpu-crypt ΠΈ submit-from-crypt-cpus, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ядрами CPU Ρ€Π°Π±ΠΎΡ‚, связанных с ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ;
  • Π’ systemd-tmpfiles обСспСчСна ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„Π°ΠΉΠ»Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… со Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ позволяСт Π½Π° врСмя выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… дСйствий ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ чисткС ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ распаковкС tar-Π°Ρ€Ρ…ΠΈΠ²Π° Π² /tmp ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ раскрыты ΠΎΡ‡Π΅Π½ΡŒ старыС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π΄ΠΎ окончания дСйствия с Π½ΠΈΠΌΠΈ);
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «systemd-analyze cat-config» обСспСчСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, разнСсённой Π½Π° нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈ систСмныС прСднастройки, содСрТимоС tmpfiles.d ΠΈ sysusers.d, ΠΏΡ€Π°Π²ΠΈΠ»Π° udev ΠΈ Ρ‚.ΠΏ.
  • Π’ «journalctl» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—cursor-file=» для опрСдСлСния Ρ„Π°ΠΉΠ»Π° для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ сохранСния указатСля ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ;
  • Π’ systemd-detect-virt Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° ACRN ΠΈ подсистСмы WSL ( Windows Subsystem for Linux) для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ вСтвлСния ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «ConditionVirtualization»;
  • Π’ΠΎ врСмя установки systemd (ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ «ninja install») ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ созданиС Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc символичСских ссылок Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
    systemd-networkd-wait-online.service ΠΈ systemd-timesyncd.service. Для создания Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «systemctl preset-all».

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

[:]

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ