Π’ Rust Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° старых Linux-систСм

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Rust ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎ скором ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΡŽ Linux Π² компиляторС, ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ Cargo ΠΈ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ libstd. Начиная с вСрсии Rust 1.64, Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠΉ Π½Π° 22 сСнтября 2022 Π³ΠΎΠ΄Π°, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ трСбования ΠΊ Glibc Π±ΡƒΠ΄ΡƒΡ‚ подняты с вСрсии 2.11 Π΄ΠΎ 2.17, Π° ядра Linux c 2.6.32 Π΄ΠΎ 3.2. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π° исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Rust-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, собранных с libstd.

Новым трСбованиям ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ дистрибутивы RHEL 7, SLES 12-SP5, Debian 8 ΠΈ Ubuntu 14.04. Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° RHEL 6, SLES 11-SP4, Debian ΠΈ Ubuntu 12.04. Π‘Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ прСкращСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ старых Linux-систСм ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ рСсурсы ΠΏΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡŽ сопровоТдСния совмСстимости со старыми окруТСниями. Π’ частности, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° старых Glibc Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования старого инструмСнтария ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π² систСмС Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ, Π² условиях ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ вСрсиям Π² LLVM ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ… кросс-компиляции. ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ вСрсии ядра связано с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ использования Π² libstd Π½ΠΎΠ²Ρ‹Ρ… систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π±Π΅Π· нСобходимости поддСрТания прослоСк для обСспСчСния совмСстимости со старыми ядрами.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ собранныС инструмСнтариСм Rust исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Π² окруТСниях со старым ядром Linux, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ свои систСмы, ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π° старых выпусках компилятора ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ своё ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ libstd с прослойками для сохранСния совмСстимости.

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

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