Π‘ΠΈΠ»ΡΠ²Π΅ΡΡΡ ΠΠ΅Π΄ΡΡ (Sylvestre Ledru), ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ ΠΏΠΎ ΡΠ±ΠΎΡΠΊΠ΅ Debian GNU/Linux Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Clang, ΡΠΎΠΎΠ±ΡΠΈΠ» ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° ΠΏΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΡΠΈΠ»ΠΈΡ coreutils, ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. Π ΡΠΎΡΡΠ°Π² coreutils Π²Ρ ΠΎΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ, ΠΊΠ°ΠΊ sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln ΠΈ ls. ΠΠ»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π² Debian Π²Π°ΡΠΈΠ°Π½ΡΠ° coreutils Π½Π° ΡΠ·ΡΠΊΠ΅ Rust Π±ΡΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅Π»ΠΈ:
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ coreutils Π½Π° ΡΠ·ΡΠΊΠ΅ Rust Π΄Π»Ρ Debian ΠΈ Ubuntu.
- ΠΠ°Π³ΡΡΠ·ΠΊΠ° Debian Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΡΠΎΠ»ΠΎΠΌ GNOME, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ rust-coreutils.
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° 1000 Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
- CΠ±ΠΎΡΠΊΠ° ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² Firefox, LLVM/Clang ΠΈ ΡΠ΄ΡΠ° Linux Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Ρ rust-coreutils.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ 100 ΠΏΠ°ΡΡΠ΅ΠΉ Π΄Π»Ρ Rust/coreutils ΡΠ΄Π°Π»ΠΎΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π»ΠΈ. ΠΠ· ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΠ΅ΠΉΡΡ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΡ ΠΈ ΠΎΠΏΡΠΈΠΉ, ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΊΠΎΠ΄Π°, ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ°, ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ±ΠΎΠ΅Π², Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠΉ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΎΡ GNU Coreutils (ΠΏΠΎΠΊΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ 141 ΡΠ΅ΡΡ ΠΈΠ· 613).
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° rust-coreutils Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ coreutils, Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΡΠΈΠ°Π½ΡΡ ΡΡΠΈΠ»ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² /usr/lib/cargo/bin/ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ PATH. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° rust-coreutils ΡΡΠ»ΠΎΠΆΠ½ΡΠ»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π²ΡΠ΅Ρ ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ Rust ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ crate-ΠΏΠ°ΠΊΠ΅ΡΡ.
Π‘ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° ΠΎΡΠΎΠ±ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ, Π½ΠΎ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Ρ rust-coreutils ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»Π° Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ post-install Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° coreutils. ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±ΡΠ»ΠΎ Π²ΡΠ·Π²Π°Π½ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΎΠΏΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΡΠΈΠ»ΠΈΡΠ΅ «cp» ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΠΎΠΏΡΠΈΠΈ «—archive» ΠΈ «—no-dereference», Π² «ln» Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΠΏΡΠΈΠΈ «—relative», Π² mktemp — «-t», Π² sync «-fs», Π² install — «—owner» ΠΈ «—group». ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΡΠΏΠ»ΡΠ»ΠΈ ΠΈΠ·-Π·Π° ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΈΠ»ΠΈΡΠ° install Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»Π° ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ /dev/null Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π² mkdir Π²ΠΌΠ΅ΡΡΠΎ «—parent» ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°Π»Π° ΠΎΠΏΡΠΈΡ «—parents» ΠΈ Ρ.ΠΏ.
ΠΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΡΡΠΏΠ½ΡΡ
ΠΊΠΎΠ΄ΠΎΠ²ΡΡ
Π±Π°Π· Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ. ΠΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ Firefox ΠΈ LLVM/Clang ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ python-ΡΠΊΡΠΈΠΏΡΡ ΠΈ cmake, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π°ΠΌΠ΅Π½Π° coreutils Π½Π° Π½ΠΈΡ
Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ»Π°. Π‘Π±ΠΎΡΠΊΠ° ΡΠ΄ΡΠ° Linux ΠΏΡΠΎΡΠ»Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³Π»Π°Π΄ΠΊΠΎ, Π²ΡΠΏΠ»ΡΠ»ΠΈ Π»ΠΈΡΡ Π΄Π²Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: Π²ΡΠ²ΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ chown Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠΎΠΉ ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ «-n» Π² ΡΡΠΈΠ»ΠΈΡΠ΅ ln.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru