systemd систСмСн ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ вСрсия 242

[: ru]

Π‘Π»Π΅Π΄ Π΄Π²Π° мСсСца Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прСдставСни ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° систСмния ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ систСмСн 242. Π‘Ρ€Π΅Π΄ ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° L2TP Ρ‚ΡƒΠ½Π΅Π»ΠΈ, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° systemd-logind ΠΏΡ€ΠΈ рСстартиранС Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° срСдата, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ дяловС Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° XBOOTLDR Π·Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ / Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ с root дял Π² overlayfs, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ голям Π±Ρ€ΠΎΠΉ Π½ΠΎΠ²ΠΈ настройки Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ.

Основни ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • systemd-networkd осигурява ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° L2TP Ρ‚ΡƒΠ½Π΅Π»ΠΈ;
  • sd-boot ΠΈ bootctl осигуряват ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° дяловС XBOOTLDR (Extended Boot Loader), ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ΠΈ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ΠΈ Π½Π° /boot, Π² допълнСниС към ESP дяловС, ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ΠΈ Π½Π° /efi ΠΈΠ»ΠΈ /boot/efi. Π―Π΄Ρ€Π°Ρ‚Π°, настройкитС, initrd ΠΈ EFI изобраТСнията Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚ ΠΎΡ‚ ESP ΠΈ XBOOTLDR дяловС. Π’Π°Π·ΠΈ промяна Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ sd-boot bootloader Π² ΠΏΠΎ-консСрвативни сцСнарии, ΠΊΠΎΠ³Π°Ρ‚ΠΎ самият bootloader сС Π½Π°ΠΌΠΈΡ€Π° Π² ESP, Π° Π·Π°Ρ€Π΅Π΄Π΅Π½ΠΈΡ‚Π΅ ядра ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ с тях ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ са поставСни Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ€Π°Π·Π΄Π΅Π»;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ с опцията β€žsystemd.volatile=overlayβ€œ, ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½Π° Π½Π° ядрото, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° поставитС основния дял Π² overlayfs ΠΈ Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π° Π²ΡŠΡ€Ρ…Ρƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ само Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° основната дирСктория с ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, записани Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° дирСктория Π² tmpfs (ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² Ρ‚Π°Π·ΠΈ конфигурация сС губят слСд рСстартиранС) . По аналогия, systemd-nspawn Π΄ΠΎΠ±Π°Π²ΠΈ опцията β€ž--volatile=overlayβ€œ, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° функционалност Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ;
  • systemd-nspawn Π΄ΠΎΠ±Π°Π²ΠΈ опцията β€ž--oci-bundleβ€œ, Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π·Π° изпълнСниС, Π·Π° Π΄Π° осигури ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ стартиранС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ отговарят Π½Π° спСцификацията Π½Π° Open Container Initiative (OCI). Π—Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² командния Ρ€Π΅Π΄ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ nspawn сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ, описани Π² OCI спСцификацията, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ β€ž--inaccessibleβ€œ ΠΈ β€žIaccessibleβ€œ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° части ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΈ β€ž --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);

  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΎΠΏΡ†ΠΈΠΈ β€ž-boot-load-menu=β€œ ΠΈ
    β€žβ€”boot-loader-entry=β€œ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ ΠΌΠ΅Π½ΡŽΡ‚ΠΎ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΈΠ»ΠΈ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ слСд рСстартиранС;

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

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

  • Π’ Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈΡ‚Π΅ .network са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ настройкитС β€žMulticastFlood=β€œ, β€žNeighborSuppression=β€œ ΠΈ β€žLearning=β€œ Π·Π° промяна Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° мрСТовия мост, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ настройката β€žTripleSampling=β€œ Π·Π° промяна Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ° TRIPLE-SAMPLING Π½Π° CAN Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ интСрфСйси;
  • НастройкитС β€žPrivateKeyFile=β€œ ΠΈ β€žPresharedKeyFile=β€œ са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ към .netdev Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ, с ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посочитС частни ΠΈ сподСлСни (PSK) ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π·Π° WireGuard VPN интСрфСйси;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΎΠΏΡ†ΠΈΠΈ same-cpu-crypt ΠΈ submit-from-crypt-cpus към /etc/crypttab, ΠΊΠΎΠΈΡ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, ΡΠ²ΡŠΡ€Π·Π°Π½Π° с ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅, ΠΌΠ΅ΠΆΠ΄Ρƒ CPU ядра;
  • systemd-tmpfiles осигурява ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΡ€Π΅Π΄ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ почистванС Π½Π° остарСли Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚Ρ€Π°Π΅Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ дСйствия (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚Π΅ tar Π°Ρ€Ρ…ΠΈΠ² Π² /tmp, ΠΌΠ½ΠΎΠ³ΠΎ стари Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ΠΈ ΠΏΡ€Π΅Π΄ΠΈ края Π½Π° дСйствиСто с тях);
  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€œsystemd-analyze cat-config” прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° конфигурация, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° няколко Ρ„Π°ΠΉΠ»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ потрСбитСлски ΠΈ систСмни ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ настройки, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° tmpfiles.d ΠΈ sysusers.d, udev ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ Π΄Ρ€.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опция β€ž--cursor-file=" към β€žjournalctlβ€œ Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ» Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° позиционния курсор;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ дСфиниция Π½Π° ACRN Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ ΠΈ подсистСма WSL (Windows подсистСма Π·Π° Linux) към systemd-detect-virt Π·Π° послСдващо разклоняванС с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° условния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ β€žConditionVirtualizationβ€œ;
  • По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° инсталиранС Π½Π° systemd (ΠΏΡ€ΠΈ изпълнСниС Π½Π° "ninja install"), ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° символни Π²Ρ€ΡŠΠ·ΠΊΠΈ към Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ 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]

Π‘Π»Π΅Π΄ Π΄Π²Π° мСсСца Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прСдставСни ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° систСмния ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ систСмСн 242. Π‘Ρ€Π΅Π΄ ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° L2TP Ρ‚ΡƒΠ½Π΅Π»ΠΈ, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° systemd-logind ΠΏΡ€ΠΈ рСстартиранС Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° срСдата, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ дяловС Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° XBOOTLDR Π·Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ / Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ с root дял Π² overlayfs, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ голям Π±Ρ€ΠΎΠΉ Π½ΠΎΠ²ΠΈ настройки Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ.

Основни ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • systemd-networkd осигурява ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° L2TP Ρ‚ΡƒΠ½Π΅Π»ΠΈ;
  • sd-boot ΠΈ bootctl осигуряват ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° дяловС XBOOTLDR (Extended Boot Loader), ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ΠΈ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ΠΈ Π½Π° /boot, Π² допълнСниС към ESP дяловС, ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ΠΈ Π½Π° /efi ΠΈΠ»ΠΈ /boot/efi. Π―Π΄Ρ€Π°Ρ‚Π°, настройкитС, initrd ΠΈ EFI изобраТСнията Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚ ΠΎΡ‚ ESP ΠΈ XBOOTLDR дяловС. Π’Π°Π·ΠΈ промяна Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ sd-boot bootloader Π² ΠΏΠΎ-консСрвативни сцСнарии, ΠΊΠΎΠ³Π°Ρ‚ΠΎ самият bootloader сС Π½Π°ΠΌΠΈΡ€Π° Π² ESP, Π° Π·Π°Ρ€Π΅Π΄Π΅Π½ΠΈΡ‚Π΅ ядра ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ с тях ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ са поставСни Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ€Π°Π·Π΄Π΅Π»;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ с опцията β€žsystemd.volatile=overlayβ€œ, ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½Π° Π½Π° ядрото, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° поставитС основния дял Π² overlayfs ΠΈ Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π° Π²ΡŠΡ€Ρ…Ρƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ само Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° основната дирСктория с ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, записани Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° дирСктория Π² tmpfs (ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² Ρ‚Π°Π·ΠΈ конфигурация сС губят слСд рСстартиранС) . По аналогия, systemd-nspawn Π΄ΠΎΠ±Π°Π²ΠΈ опцията β€ž--volatile=overlayβ€œ, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° функционалност Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ;
  • systemd-nspawn Π΄ΠΎΠ±Π°Π²ΠΈ опцията β€ž--oci-bundleβ€œ, Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π·Π° изпълнСниС, Π·Π° Π΄Π° осигури ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ стартиранС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ отговарят Π½Π° спСцификацията Π½Π° Open Container Initiative (OCI). Π—Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² командния Ρ€Π΅Π΄ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ nspawn сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ, описани Π² OCI спСцификацията, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ β€ž--inaccessibleβ€œ ΠΈ β€žIaccessibleβ€œ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° части ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΈ β€ž --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);

  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΎΠΏΡ†ΠΈΠΈ β€ž-boot-load-menu=β€œ ΠΈ
    β€žβ€”boot-loader-entry=β€œ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ ΠΌΠ΅Π½ΡŽΡ‚ΠΎ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΈΠ»ΠΈ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ слСд рСстартиранС;

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

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

  • Π’ Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈΡ‚Π΅ .network са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ настройкитС β€žMulticastFlood=β€œ, β€žNeighborSuppression=β€œ ΠΈ β€žLearning=β€œ Π·Π° промяна Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° мрСТовия мост, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ настройката β€žTripleSampling=β€œ Π·Π° промяна Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ° TRIPLE-SAMPLING Π½Π° CAN Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ интСрфСйси;
  • НастройкитС β€žPrivateKeyFile=β€œ ΠΈ β€žPresharedKeyFile=β€œ са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ към .netdev Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ, с ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посочитС частни ΠΈ сподСлСни (PSK) ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π·Π° WireGuard VPN интСрфСйси;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΎΠΏΡ†ΠΈΠΈ same-cpu-crypt ΠΈ submit-from-crypt-cpus към /etc/crypttab, ΠΊΠΎΠΈΡ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, ΡΠ²ΡŠΡ€Π·Π°Π½Π° с ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅, ΠΌΠ΅ΠΆΠ΄Ρƒ CPU ядра;
  • systemd-tmpfiles осигурява ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΡ€Π΅Π΄ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ почистванС Π½Π° остарСли Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚Ρ€Π°Π΅Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ дСйствия (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚Π΅ tar Π°Ρ€Ρ…ΠΈΠ² Π² /tmp, ΠΌΠ½ΠΎΠ³ΠΎ стари Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ΠΈ ΠΏΡ€Π΅Π΄ΠΈ края Π½Π° дСйствиСто с тях);
  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€œsystemd-analyze cat-config” прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° конфигурация, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° няколко Ρ„Π°ΠΉΠ»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ потрСбитСлски ΠΈ систСмни ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ настройки, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° tmpfiles.d ΠΈ sysusers.d, udev ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ Π΄Ρ€.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опция β€ž--cursor-file=" към β€žjournalctlβ€œ Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ» Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° позиционния курсор;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ дСфиниция Π½Π° ACRN Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ ΠΈ подсистСма WSL (Windows подсистСма Π·Π° Linux) към systemd-detect-virt Π·Π° послСдващо разклоняванС с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° условния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ β€žConditionVirtualizationβ€œ;
  • По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° инсталиранС Π½Π° systemd (ΠΏΡ€ΠΈ изпълнСниС Π½Π° "ninja install"), ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° символни Π²Ρ€ΡŠΠ·ΠΊΠΈ към Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ 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

[:]

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€