ΠΡΠΎΠ΅ΠΊΡ HardenedBSD, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π° Ρ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈΡΠ΅ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° FreeBSD ΠΈ ΠΈΠ·Π΄Π°Π²Π° Π·Π°ΡΠΈΡΠ΅Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° FreeBSD, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΠΏΡΡΠ²ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΈ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° FreeBSD, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Rust. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π² ΠΎΡΠ΄Π΅Π»Π½Π° ΠΊΠ»ΠΎΠ½ΠΊΠ° hardened/current/rust-in-base.
ΠΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Rust Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½ΠΎΠ² ΡΠ±ΠΎΡΠ΅Π½ ΡΠ°ΠΉΠ» share/mk/bsd.rust.mk, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Rust ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° Π±Π°Π·ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° (make buildworld). ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° Rust ΡΠ° ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΈ ΡΠ° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² ΠΈΠ·ΡΠΎΡΠ½ΠΎΡΠΎ Π΄ΡΡΠ²ΠΎ Π½Π° FreeBSD Π² ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Rust ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Cargo. ΠΡΠΈΡΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Rust ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° Π±Π°Π·ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π² ΠΎΡΠ΄Π΅Π»Π½Π° ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ src/vendor/rust.
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π΅ ΠΎΠ±ΡΠ²Π΅Π½Π° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ° ΡΠ°ΠΌΠΎ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Rust ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΠΎΠ΄ΠΊΡΠ΅ΠΏΠ°ΡΠ° Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΈ crate ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π° Π·Π° Π±ΡΠ΄Π΅ΡΠ΅. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Rust Π² ΡΠ΄ΡΠΎΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ ΠΈΠ·Π»ΠΈΠ·Π° ΠΈΠ·Π²ΡΠ½ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π½Π°ΡΠ°Π»Π½ΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏ.
ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Rust ΠΏΠ»Π°Π½ΠΈΡΠ°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π·Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΡΡΡΡΠ°Π² Π½Π° FreeBSD ΡΠ»Π΅Π΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈΡ ΡΠ΅ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠ°ΡΠΎΠ²Π΅ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΈ Π² ΠΏΠ»Π°Π½Π°. Π‘ΡΠ΅Π΄ Π½Π°ΡΠ°Π»Π½ΠΈΡΠ΅ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ ΡΠ°: ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° crate ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° Rust, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Rust ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π΅Π΄ΠΈΠ½ Makefile, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π·Π° Π²Π½ΠΎΡ Π½Π° crate ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΏΡΡΡΡΠ²Π°ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ man ΡΡΡΠ°Π½ΠΈΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
