αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ Microsoft αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž›αžΈαž“αž»αž… CBL-Mariner 2.0

Компания 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 αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαŸ†αžŽαž»αŸ†αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαžαžΌαž…αž˜αž½αž™αž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŠαŸ‚αž›αž”αž˜αŸ’αžšαžΎαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‡αžΆαžŸαž€αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž˜αžΆαžαž·αž€αžΆαž“αŸƒαž’αž»αž„ αž”αžšαž·αžŸαŸ’αžαžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αž“αž·αž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž–αž–αž€ αž“αž·αž„αž§αž”αž€αžšαžŽαŸαž“αŸ…αž›αžΎαž‚αŸ‚αž˜αŸ” αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ’αž˜αž»αž‚αŸ’αžšαžŸαŸ’αž˜αžΆαž‰ αž“αž·αž„αž―αž€αž‘αŸαžŸαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž”αžΆαž“αžŠαŸ„αž™αž”αž“αŸ’αžαŸ‚αž˜αž€αž‰αŸ’αž…αž”αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎ CBL-Mariner αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αžαŸ‚αžŠαžΌαž…αž‚αŸ’αž“αžΆ αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž²αŸ’αž™αž€αžΆαžšαžαŸ‚αž‘αžΆαŸ† αž“αž·αž„αž’αžΆαž”αŸ‹αžŠαŸαžαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αŸ” αž§αž‘αžΆαž αžšαžŽαŸ CBL-Mariner αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αžαŸ’αž“αžΆαžαžαžΌαž… WSLg αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαž˜αžΆαžŸαž’αžΆαžαž»αž‡αž„αŸ‹αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Linux GUI αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž„ WSL2 (Windows Subsystem for Linux) αŸ” αž˜αž»αžαž„αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ WSLg αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΉαž„αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αž€αž‰αŸ’αž…αž”αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αž‡αžΆαž˜αž½αž™ Weston Composite Server, XWayland, PulseAudio αž“αž·αž„ FreeRDP αŸ”

αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαŸ’αžαžΆαž”αž“αžΆ CBL-Mariner αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž€αž‰αŸ’αž…αž”αŸ‹ RPM αž“αžΈαž˜αž½αž™αŸ—αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž―αž€αžŸαžΆαžš SPEC αž“αž·αž„αž€αžΌαžŠαž”αŸ’αžšαž—αž– αž€αŸαžŠαžΌαž…αž‡αžΆαžšαžΌαž”αž—αžΆαž–αž”αŸ’αžšαž–αŸαž“αŸ’αž’ monolithic αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαž’αž”αŸ‹αž§αž”αž€αžšαžŽαŸ rpm-ostree αž“αž·αž„αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžαžΆαž˜αž’αžΆαžαžΌαž˜αžŠαŸ„αž™αž˜αž·αž“αž”αŸ†αž”αŸ‚αž€αž‘αŸ…αž‡αžΆαž€αž‰αŸ’αž…αž”αŸ‹αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ” αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž˜αŸ‰αžΌαžŠαŸ‚αž›αž…αŸ‚αž€αž…αžΆαž™αž’αžΆαž”αŸ‹αžŠαŸαžαž…αŸ†αž“αž½αž“αž–αžΈαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαŸ– αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αž‰αŸ’αž…αž”αŸ‹αž”αž»αž‚αŸ’αž‚αž› αž“αž·αž„αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž€αžŸαžΆαž„αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžšαžΌαž”αž—αžΆαž–αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž˜αžΌαž›αŸ” αžƒαŸ’αž›αžΆαŸ†αž„αž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹ RPM αž”αŸ’αžšαž αŸ‚αž› 3000 αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‡αžΆαž˜αž»αž“αž‚αžΊαž’αžΆαž…αžšαž€αž”αžΆαž“αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž–αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αŸ”

αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αžαŸ‚αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž”αŸ†αž•αž»αž αž“αž·αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžαž·αž…αžαž½αž… αž“αž·αž„αž‘αŸ†αž αŸ†αžαžΆαžŸ αž–αŸ’αžšαž˜αž‘αžΆαŸ†αž„αž›αŸ’αž”αžΏαž“αž•αŸ’αž‘αž»αž€αžαŸ’αž–αžŸαŸ‹αŸ” αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž€αŸαž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž•αž„αžŠαŸ‚αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαžΆαž€αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž“αžΌαžœαž™αž“αŸ’αžαž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž•αŸ’αžŸαŸαž„αŸ—αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ” αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αž”αŸ’αžšαžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž "αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž’αžαž·αž”αžšαž˜αžΆαžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜"αŸ” αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαžαŸ’αžšαž„αž€αžΆαžšαž αŸ…αžαžΆαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ„αž™αž”αŸ’αžšαžΎαž™αž“αŸ’αžαž€αžΆαžš seccomp αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž—αžΆαž‚αžαžΆαžŸ αž“αž·αž„αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ„αž™αž”αŸ’αžšαžΎαž αžαŸ’αžαž›αŸαžαžΆαžŒαžΈαž‡αžΈαžαž›αŸ”

αž‘αž˜αŸ’αžšαž„αŸ‹αž€αžΆαžšαž…αŸƒαžŠαž“αŸ’αž™αž“αŸƒαž›αŸ†αž αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαž“αŸ…αž€αŸ’αž“αž»αž„αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαž€αž˜αŸ’αž˜ αž€αŸαžŠαžΌαž…αž‡αžΆαž™αž“αŸ’αžαž€αžΆαžšαž€αžΆαžšαž–αžΆαžšαž”αŸ’αžšαž†αžΆαŸ†αž„αž“αžΉαž„αž€αžΆαžšαžœαžΆαž™αž”αŸ’αžšαž αžΆαžš symlink, mmap, /dev/mem αž“αž·αž„ /dev/kmem αŸ” αžαŸ†αž”αž“αŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ‚αž›αž˜αžΆαž“αž•αŸ’αž“αŸ‚αž€αžŠαŸ‚αž›αž˜αžΆαž“αžαžΊαžŽαŸ‚αž› αž“αž·αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸ‰αžΌαžŒαž»αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‘αŸ…αž‡αžΆαžšαž”αŸ€αž”αž”αžΆαž“αžαŸ‚αž’αžΆαž“ αž αžΎαž™αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αž αžΆαž˜αžƒαžΆαžαŸ‹αŸ” αž‡αž˜αŸ’αžšαžΎαžŸαž˜αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž”αž·αž‘αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž˜αŸ‰αžΌαžŒαž»αž›αžαžΊαžŽαŸ‚αž›αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’αŸ” αž”αŸ’αžšαž’αž”αŸ‹αž§αž”αž€αžšαžŽαŸ iptables αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžαŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αž”αžŽαŸ’αžαžΆαž‰αŸ” αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžŸαžΆαž„αžŸαž„αŸ‹ αž€αžΆαžšαž€αžΆαžšαž–αžΆαžšαž”αŸ’αžšαž†αžΆαŸ†αž„αž“αžΉαž„αž€αžΆαžšαž›αžΎαžŸαž‡αž„αŸ‹ αž€αžΆαžšαž›αžΎαžŸαž…αŸ†αžŽαž»αŸ‡ αž“αž·αž„αž”αž‰αŸ’αž αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro)αŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’ systemd αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αž“αž·αž„αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹ RPM αž“αž·αž„ DNF αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αŸ” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ SSH αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‘αŸαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž‘αžΎαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αžŠαŸ‚αž›αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž’αžαŸ’αžαž”αž‘ αž“αž·αž„αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž‘αžΎαž„αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž‡αž˜αŸ’αžšαžΎαžŸαž“αŸƒαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαŸ†αžŽαž»αŸ†αž–αŸαž‰αž›αŸαž‰ αž¬αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹ αž αžΎαž™αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž—αžΆαž‚αžαžΆαžŸ αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžˆαŸ’αž˜αŸ„αŸ‡αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αž“αž·αž„αž”αž„αŸ’αž€αžΎαžαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹