ํ•ต์‹ฌ ์‹œ์Šคํ…œ ์œ ํ‹ธ๋ฆฌํ‹ฐ GNU Coreutils 9.0 ์„ธํŠธ ์ถœ์‹œ

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

์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • ๋ณต์‚ฌ ์‹œ cp ๋ฐ install ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์“ฐ๊ธฐ ์ค‘ ๋ณต์‚ฌ ๋ชจ๋“œ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค(์ „์ฒด ๋ณต์ œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋Œ€์‹  ioctl ficlone์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ํŒŒ์ผ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•จ).
  • cp, install ๋ฐ mv ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์‹œ์Šคํ…œ ์ œ๊ณต ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์‚ฌ ์ž‘์—… ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค(์‚ฌ์šฉ์ž ๊ณต๊ฐ„์˜ ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜์ง€ ์•Š๊ณ  ์ปค๋„ ์ธก ๋ณต์‚ฌ๋งŒ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด copy_file_range ์‹œ์Šคํ…œ ํ˜ธ์ถœ ์‚ฌ์šฉ).
  • cp, install ๋ฐ mv ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ioctl+FS_IOC_FIEMAP ๋Œ€์‹  ๋” ๊ฐ„๋‹จํ•˜๊ณ  ์ด์‹์„ฑ์ด ๋›ฐ์–ด๋‚œ lseek+SEEK_HOLE ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ๊ณต๋ฐฑ์„ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • wc ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” AVX2 ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ค„ ์ˆ˜ ๊ณ„์‚ฐ ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค. ์ด ์ตœ์ ํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ™”์žฅ์‹ค ์†๋„๊ฐ€ 5๋ฐฐ ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด "-a"(--algorithm) ์˜ต์…˜์ด cksum ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. cksum ์œ ํ‹ธ๋ฆฌํ‹ฐ์—์„œ ์ฒดํฌ์„ฌ ๊ณ„์‚ฐ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด "--algorithm=crc" ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ pclmul ๋ช…๋ น์ด ์‚ฌ์šฉ๋˜๋ฉฐ ๊ณ„์‚ฐ ์†๋„๊ฐ€ ์ตœ๋Œ€ 8๋ฐฐ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. pclmul์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์‹œ์Šคํ…œ์—์„œ๋Š” crc ๋ชจ๋“œ๊ฐ€ 4๋ฐฐ โ€‹โ€‹๋” ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜(sum, md5sum, b2sum, sha*sum, sm3 ๋“ฑ)์€ libcrypto ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
  • md5sum, cksum, sha*sum ๋ฐ b2sum ์œ ํ‹ธ๋ฆฌํ‹ฐ์—์„œ "--check" ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฒดํฌ์„ฌ ์ค„ ๋์— CRLF ์‹œํ€€์Šค๊ฐ€ โ€‹โ€‹์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "cksum --check"๋Š” ์‚ฌ์šฉ๋œ ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • ls ์œ ํ‹ธ๋ฆฌํ‹ฐ์—๋Š” ํŒŒ์ผ ์ด๋ฆ„ ๊ธธ์ด๋ณ„๋กœ ์ •๋ ฌํ•˜๋Š” "--sort=width" ์˜ต์…˜๊ณผ ๊ฐ ์ค„์„ null ๋ฌธ์ž๋กœ ๋๋‚ด๋Š” "--zero" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋™์ž‘์ด ๋ฐ˜ํ™˜๋˜์–ด ์›๊ฒฉ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์˜ค๋ฅ˜ ๋Œ€์‹  ๋นˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • df ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๋„คํŠธ์›Œํฌ ํŒŒ์ผ ์‹œ์Šคํ…œ acfs, coda, fhgfs, gpfs, ibrix, ocfs2 ๋ฐ vxfs ๊ฐ์ง€๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ํŒŒ์ผ ์‹œ์Šคํ…œ ์œ ํ˜• "devmem", "exfat", "secretmem", "vboxsf" ๋ฐ "zonefs"์— ๋Œ€ํ•œ ์ง€์›์ด stat ๋ฐ tail ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "vboxsf"์˜ ๊ฒฝ์šฐ "tail -f"์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด ํด๋ง์„ ์‚ฌ์šฉํ•˜๊ณ  ๋‚˜๋จธ์ง€์—๋Š” inotify๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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