ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Microsoft ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΠΏΡΡΠ²ΠΎΡΠΎ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° CBL-Mariner 2.0 (Common Base Linux Mariner), ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΊΠ°ΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½Π° Π±Π°Π·ΠΎΠ²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Linux ΡΡΠ΅Π΄ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΎΠ±Π»Π°ΡΠ½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, edge ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π° Microsoft. ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅Π»ΠΈ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ Π² Microsoft Linux ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ΡΠΎ Π½Π° Linux ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΡΠ΅Π» Π² Π°ΠΊΡΡΠ°Π»Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ MIT. ΠΠ°ΠΊΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ aarch64 ΠΈ x86_64.
ΠΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ°. ΠΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π΅Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux 5.15 (Π² ΠΊΠ»ΠΎΠ½ 1.0 Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ ΡΠ΄ΡΠΎΡΠΎ 5.4), systemd 250, glibc 2.35, GCC 11.2, clang 12, Python 3.9, ruby 3.1.2, rpm 4.17, qemu 6.1, perl 5.34, ostree 2022.1. Π ΡΡΡΡΠ°Π²Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠ°ΡΠΎ Wayland 1.20, Mesa 21.0, GTK 3.24 ΠΈ X.Org Server 1.20.10, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΡ Π° Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ coreui. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΠ±ΠΎΡΠΊΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Ρ PREEMPT_RT ΠΏΠ°ΡΠΎΠ²Π΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅.
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΡΡ CBL-Mariner ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΌΠ°Π»ΡΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ»ΡΠΆΠ°Ρ Π·Π° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½Π° ΠΎΡΠ½ΠΎΠ²Π° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Ρ ΠΎΡΡ ΡΡΠ΅Π΄ΠΈ ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ Π² ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΈ ΠΈ Π½Π° edge ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΡΠ΅Π· Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π²ΡΡΡ Ρ CBL-Mariner, Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡΡΠ°Π²Π° ΡΡΡΠ°ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, CBL-Mariner ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° Π·Π° ΠΌΠΈΠ½ΠΈ-Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° WSLg, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° GUI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Linux Π² ΡΡΠ΅Π΄ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° WSL2 (Windows Subsystem for Linux). Π Π°Π·ΡΠΈΡΠ΅Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π² WSLg ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΠ΅Π· Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΎ. ΡΡΡΠ²ΡΡΠ°. Weston, XWayland, PulseAudio ΠΈ FreeRDP.
Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ CBL-Mariner ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΠΊΠ°ΠΊΡΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ RPM ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° SPEC ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄, ΡΠ°ΠΊΠ° ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ, ΡΠΎΡΠΌΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° rpm-ostree ΠΈ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½ΠΈ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎ Π±Π΅Π· ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π΄Π²Π° ΠΌΠΎΠ΄Π΅Π»Π° Π·Π° Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ: ΡΡΠ΅Π· ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ ΡΡΠ΅Π· ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΎΠ±ΡΠ°Π·. ΠΠ° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΎΠΊΠΎΠ»ΠΎ 3000 Π²Π΅ΡΠ΅ ΡΡΠ±ΡΠ°Π½ΠΈ RPM ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ».
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ°ΠΌΠΎ Π½Π°ΠΉ-Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° Π²ΠΈΡΠΎΠΊΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅. ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° Ρ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ°. Π ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ "ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅". ΠΡΠΈΠ³ΡΡΡΠ²Π° ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° seccomp, ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ Π΄ΡΠ»ΠΎΠ²Π΅, Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΠΎ ΡΠΈΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΏΠΈΡ.
ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΡΠ΅ΠΆΠΈΠΌΠΈ Π½Π° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π°ΡΠ°ΠΊΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ½ΠΈ Π²ΡΡΠ·ΠΊΠΈ, mmap, /dev/mem ΠΈ /dev/kmem. ΠΠ° ΠΎΠ±Π»Π°ΡΡΠΈΡΠ΅ ΠΏΠ°ΠΌΠ΅Ρ, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈ Ρ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄ Π΅ Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΎ. ΠΠΎ ΠΈΠ·Π±ΠΎΡ Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π·Π°Π±ΡΠ°Π½Π° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΡΠ»Π΅Π΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠ° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ iptables. ΠΠ° Π΅ΡΠ°ΠΏΠ° Π½Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΡΠ΅ΠΆΠΈΠΌΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΏΡΠ΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΅ΠΊ, ΠΏΡΠ΅Π»ΠΈΠ²Π°Π½ΠΈΡ Π½Π° Π±ΡΡΠ΅ΡΠ° ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ΡΠ΅ (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
ΠΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ systemd. ΠΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈ RPM ΠΈ DNF. SSH ΡΡΡΠ²ΡΡΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π΅ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½. ΠΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΡΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ², ΡΠ°ΠΊΠ° ΠΈ Π² Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ. Π ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡΠ° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Ρ ΠΏΡΠ»Π΅Π½ ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° Ρ
ΠΎΡΡΠ° ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
