GNU Coreutils 9.5 ๋ฐ Rust ๋ฒ„์ „ ์ถœ์‹œ

sort, cat, chmod, chown, chroot, cp, date, dd, echo, ํ˜ธ์ŠคํŠธ ์ด๋ฆ„, id, ln, ls ๋“ฑ๊ณผ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์„ ํฌํ•จํ•˜๋Š” ๊ธฐ๋ณธ ์‹œ์Šคํ…œ ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ GNU Coreutils 9.5 ์„ธํŠธ์˜ ์•ˆ์ •์ ์ธ ๋ฒ„์ „์ด ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • cp, mv, install, cat ๋ฐ Split ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์— ์ตœ์ ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•œ ์ตœ์†Œ ๋ธ”๋ก ํฌ๊ธฐ๊ฐ€ 128KiB์—์„œ 256KiB๋กœ ์ฆ๊ฐ€ํ•˜์—ฌ ์บ์‹œ๋œ ํŒŒ์ผ์„ ์ฝ์„ ๋•Œ ์ฒ˜๋ฆฌ๋Ÿ‰์ด 10-20% ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฆ„ ์—†๋Š” ์‹ ํ˜ธ์— ๋Œ€ํ•œ ์ง€์›์ด env, kill ๋ฐ timeout ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ถˆํ•„์š”ํ•œ MCS/MLS ๋ผ๋ฒจ์˜ ๋ฒˆ์—ญ์„ ์ œ๊ฑฐํ•จ์œผ๋กœ์จ SELinux ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•  ๋•Œ ๋ณต์‚ฌ ์ž‘์—…์˜ ํšจ์œจ์„ฑ์ด ๋†’์•„์กŒ์Šต๋‹ˆ๋‹ค.
  • "-R" ์˜ต์…˜์ด ์ง€์ •๋˜์ง€ ์•Š์€ ์ƒํ™ฉ์—์„œ libcrypto ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ๋™์  ์—ฐ๊ฒฐ์„ ์ค‘์ง€ํ•˜์—ฌ ์ •๋ ฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ ์‹œ์ž‘ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • wc ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ ์ž‘์—…์€ ๋‹จ์ผ ๋ฐ”์ดํŠธ ๋กœ์ผ€์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ์ƒ๋‹นํžˆ ๊ฐ€์†ํ™”๋˜์—ˆ์œผ๋ฉฐ ๋ฉ€ํ‹ฐ๋ฐ”์ดํŠธ ๋กœ์ผ€์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ์—์„œ๋Š” ์•ฝ๊ฐ„ ๊ฐ€์†ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ง€์ •๋œ ์†Œ์œ ์ž ๋ฐ ๊ทธ๋ฃน์ด ์žˆ๋Š” ํŒŒ์ผ์—๋งŒ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด "--from=OWNER:GROUP" ์˜ต์…˜์— ๋Œ€ํ•œ ์ง€์›์ด chgrp ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • chown ๋ฐ chmod ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ์œ ์‚ฌํ•œ chmod ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๊ธฐํ˜ธ ๋งํฌ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ถ”๊ฐ€ ์˜ต์…˜์„ ์ œ๊ณตํ•˜๋Š” "-h", "-H", "-L", "-P" ๋ฐ "--dereference" ์˜ต์…˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ์กด ๋””๋ ‰ํ† ๋ฆฌ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก "--keep-directory-symlink" ์˜ต์…˜์„ cp ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • "--update=none-fail" ์˜ต์…˜์ด cp ๋ฐ mv ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŒŒ์ผ์ด ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ์‹คํ–‰์ด ์‹คํŒจํ•œ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๋ฉด "--no-clobber" ์˜ต์…˜๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  • ๋ช…๋ น์ค„ null ๋งค๊ฐœ๋ณ€์ˆ˜(์‹คํ–‰ ํŒŒ์ผ ๊ฒฝ๋กœ)๋ฅผ ์žฌ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด -a(--argv0) ์˜ต์…˜์ด env ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์†Œ์Šค์™€ ๋Œ€์ƒ์˜ ๋‚ด์šฉ์„ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•ด "--exchange" ์˜ต์…˜์ด mv ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์˜ˆ๋ฅผ ๋“ค์–ด "mv --exchange AB"๋ฅผ ์‹คํ–‰ํ•˜๋ฉด A์™€ B์˜ ๋‚ด์šฉ์ด ๊ตํ™˜๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, A๋Š” B๋กœ ์ด๋™ํ•˜๊ณ  B๋ฅผ A๋กœ ์ด๋™).
  • tail ์œ ํ‹ธ๋ฆฌํ‹ฐ์—๋Š” ์—ฌ๋Ÿฌ "-pid" ์˜ต์…˜์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ง€์ •ํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค์˜ ์ถœ๋ ฅ์„ ์ถ”์ ํ•˜๋Š” ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฉฐ์น  ์ „, Rust ์–ธ์–ด๋กœ ์žฌ์ž‘์„ฑ๋œ GNU Coreutils ํŒจํ‚ค์ง€์˜ ์•„๋‚ ๋กœ๊ทธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” uutils coreutils 0.0.25 ํ”„๋กœ์ ํŠธ์˜ ๋ฆด๋ฆฌ์Šค๋„ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Coreutils์—๋Š” sort, cat, chmod, chown, chroot, cp, date, dd, echo, ํ˜ธ์ŠคํŠธ ์ด๋ฆ„, id, ln ๋ฐ ls๋ฅผ ํฌํ•จํ•˜์—ฌ XNUMX๊ฐœ ์ด์ƒ์˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ๋Š” Windows, Redox ๋ฐ Fuchsia ํ”Œ๋žซํผ ๋“ฑ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” Coreutils์˜ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋Œ€์ฒด ๊ตฌํ˜„์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. GNU Coreutils์™€ ๋‹ฌ๋ฆฌ Rust ๊ตฌํ˜„์€ ์นดํ”ผ๋ ˆํ”„ํŠธ GPL ๋ผ์ด์„ ์Šค ๋Œ€์‹  ํ—ˆ์šฉ์ ์ธ MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

uutils์˜ ์ƒˆ ๋ฒ„์ „์€ GNU Coreutils 9.4 ๋ฆด๋ฆฌ์Šค๋ฅผ ์ฐธ์กฐ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 437๊ฐœ์˜ ํ…Œ์ŠคํŠธ(์ด์ „ 422)๋ฅผ ํ†ต๊ณผํ•˜๊ณ , 117(132)๊ฐœ์˜ ํ…Œ์ŠคํŠธ์— ์‹คํŒจํ•˜๊ณ , 50(50)๊ฐœ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑด๋„ˆ๋›ด GNU Coreutils ์ฐธ์กฐ ํ…Œ์ŠคํŠธ ๋ชจ์Œ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์œ ํ‹ธ๋ฆฌํ‹ฐ base64, basename, cat, chgrp, chmod, chown, dirname,expand,fold,groups,join,ln,mktemp, nice,nl,nproc,paste,pathchk,printenv,realpath,shuf,์— ๋Œ€ํ•œ GNU Coreutils์™€์˜ ์™„์ „ํ•œ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ ˆ์ „, ๋ถ„ํ• , ๋™๊ธฐํ™”, ํ™•์žฅ ํ•ด์ œ, uniq, wc ๋ฐ ์˜ˆ.

ํ™•์žฅ๋œ ๊ธฐ๋Šฅ, ํ–ฅ์ƒ๋œ ํ˜ธํ™˜์„ฑ ๋ฐ ์œ ํ‹ธ๋ฆฌํ‹ฐ base32, base64, basenc, basename, cat, chcon, chmod, cksum, cp, csplit, cut, dd, df, du, echo, env, Expand, Factor, fmt, hashsum์— ๋Œ€ํ•œ ๋ˆ„๋ฝ ์˜ต์…˜ ์ถ”๊ฐ€ , ์„ค์น˜, ln, ls, ๋”๋ณด๊ธฐ, numfmt, ํ™€์ˆ˜, printf, pr, seq, shuf, ์ •๋ ฌ, ๋ถ„ํ• , stat, tsort, tty, truncate, uname ๋ฐ uniq.

GNU Coreutils 9.5 ๋ฐ Rust ๋ฒ„์ „ ์ถœ์‹œ


์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€