Clang ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ Debian GNU/Linux๋ฅผ ๊ตฌ์ถํ๋ ์์ ์ผ๋ก ์ ๋ช ํ Sylvestre Ledru๋ Rust ์ธ์ด๋ก ๋ค์ ์์ฑ๋ ๋์ฒด ์ ํธ๋ฆฌํฐ ์ธํธ์ธ coreutils๋ฅผ ์ฌ์ฉํ ์ฑ๊ณต์ ์ธ ์คํ์ ๋ณด๊ณ ํ์ต๋๋ค. Coreutils์๋ sort, cat, chmod, chown, chroot, cp, date, dd, echo, ํธ์คํธ ์ด๋ฆ, id, ln ๋ฐ ls์ ๊ฐ์ ์ ํธ๋ฆฌํฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. coreutils์ Rust ๋ฒ์ ์ Debian์ ํตํฉํ๋ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์์ ๋ค์ ๋ชฉํ๊ฐ ์ค์ ๋์์ต๋๋ค:
- Debian ๋ฐ Ubuntu์ฉ coreutils์ ๋ํ Rust ๋์์ ํจํค์งํฉ๋๋ค.
- Rust-coreutils๋ฅผ ์ฌ์ฉํ์ฌ GNOME ๋ฐ์คํฌํ์ผ๋ก ๋ฐ๋น์์ ๋ถํ ํฉ๋๋ค.
- ์ ์ฅ์์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ 1000๊ฐ์ ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
- Rust-coreutils๊ฐ ์๋ ํ๊ฒฝ์์ Firefox, LLVM/Clang ๋ฐ Linux ์ปค๋ ์์ค๋ก ๋น๋ํ์ธ์.
Rust/coreutils์ ๋ํ 100๊ฐ ์ด์์ ํจ์น๋ฅผ ๋ง๋ ํ ์ฐ๋ฆฌ๋ ์๋ํ ๋ชจ๋ ๋ชฉํ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ฌ์ฑํ ์ ์์์ต๋๋ค. ์งํ ์ค์ธ ์์ ์๋ ๋๋ฝ๋ ์ ํธ๋ฆฌํฐ ๋ฐ ์ต์ ๊ตฌํ, ์ฝ๋์ ํ์ง ๋ฐ ๊ท ์ผ์ฑ ๊ฐ์ , ํ ์คํธ ์ค์ํธ ๊ฐ๋ฐ, GNU Coreutils์์ ํ ์คํธ ์ค์ํธ๋ฅผ ์คํํ ๋ ๋ฐ์ํ๋ ์ถฉ๋ ์ ๊ฑฐ ๋ฑ์ด ํฌํจ๋ฉ๋๋ค(์ง๊ธ๊น์ง 141๊ฐ ํ ์คํธ ์ค 613๊ฐ ํ ์คํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์คํ ์ค์) ).
Rust-coreutils ํจํค์ง๋ฅผ ๋ง๋ค ๋ coreutils ํจํค์ง๋ฅผ ๊ต์ฒดํ๋ ๊ฒ์ด ์๋๋ผ ๋ณ๋ ฌ๋ก ์์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. Rust ์ธ์ด์ ์ ํธ๋ฆฌํฐ ์ต์ ์ โโ/usr/lib/cargo/bin/์ ์ค์น๋๋ฉฐ ์ด ๋๋ ํฐ๋ฆฌ๋ฅผ PATH ํ๊ฒฝ ๋ณ์์ ์ถ๊ฐํ๋ฉด ํ์ฑํ๋ฉ๋๋ค. Rust-coreutils ํจํค์ง๋ฅผ ์์ฑํ๋ ๊ฒ์ Rust ๋ฐ ๋ค์ํ ์์ ์์ ํจํค์ง๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ ๋น๋ ์ข ์์ฑ์ ์ ์ฅ์์ ๋ค์ด๋ก๋ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ณต์กํ์ต๋๋ค.
๋ถํ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋ฌธ์ ๊ฐ ๋์ง ์์์ง๋ง, Rust-coreutils๊ฐ ์๋ ํ๊ฒฝ์ ๋ง๊ฒ ํจํค์ง๋ฅผ ์กฐ์ ํ๋ ค๋ฉด ๋ง์ ์์ ์ด ํ์ํ์ต๋๋ค. ์๋ํ๋ฉด ๋ง์ ์ค์น ํ ์คํฌ๋ฆฝํธ๊ฐ coreutils ์ธํธ์์ ์ ํธ๋ฆฌํฐ๋ฅผ ํธ์ถํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ฐ์ฅ ๋ง์ ์์ ๋ฌธ์ ๋ ํ์ํ ์ต์ ์ด ๋ถ์กฑํ์ฌ ๋ฐ์ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด "cp" ์ ํธ๋ฆฌํฐ์๋ "--archive" ๋ฐ "--no-dereference" ์ต์ ์ด ์์๊ณ "ln"์ "-"๋ฅผ ์ง์ํ์ง ์์์ต๋๋ค. ์๋โ ์ต์ , mktemp๋ "-fs" ๋๊ธฐํ, ์ค์น ์ "--owner" ๋ฐ "-group"์์ "-t"๋ฅผ ์ง์ํ์ง ์์์ต๋๋ค. ๋์์ ์ฐจ์ด๋ก ์ธํด ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ค์น ์ ํธ๋ฆฌํฐ๊ฐ /dev/null์ ์ ๋ ฅ ํ์ผ๋ก ์ง์ ํ๋ ๊ฒ์ ์ง์ํ์ง ์์๊ณ , mkdir์ "-parent" ๋์ "--parents" ์ต์ ์ด ์์์ต๋๋ค.
๋๊ท๋ชจ ์ฝ๋ ๋ฒ ์ด์ค์ ์ด์
๋ธ๋ฆฌ๋ฅผ ํ
์คํธํ ๋ ํฐ ๋ฌธ์ ๋ ๋ฐ์ํ์ง ์์์ต๋๋ค. Firefox ๋ฐ LLVM/Clang์ ๋น๋ํ ๋ Python ์คํฌ๋ฆฝํธ์ cmake๊ฐ ์ฌ์ฉ๋๋ฏ๋ก coreutils๋ฅผ ๊ต์ฒดํด๋ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค. Linux ์ปค๋ ๊ตฌ์ถ์ ์๋์ ์ผ๋ก ์ํํ๊ฒ ์งํ๋์์ผ๋ฉฐ ๋ ๊ฐ์ง ๋ฌธ์ ๋ง ๋ฐ์ํ์ต๋๋ค. ๊ธฐํธ ๋งํฌ์ ํจ๊ป chown์ ์ฌ์ฉํ ๋ ์ค๋ฅ๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ๊ณผ ln ์ ํธ๋ฆฌํฐ์ "-n" ์ต์
์ด ์๋ค๋ ๊ฒ์
๋๋ค.
์ถ์ฒ : opennet.ru