BusyBox 1.35 ํจํค์ง ๋ฆด๋ฆฌ์ค์๋ ๋จ์ผ ์คํ ํ์ผ๋ก ์ค๊ณ๋๊ณ 1MB ๋ฏธ๋ง์ ํฌ๊ธฐ๋ก ์์คํ ๋ฆฌ์์ค๋ฅผ ์ต์ํ์ผ๋ก ์๋นํ๋๋ก ์ต์ ํ๋ ํ์ค UNIX ์ ํธ๋ฆฌํฐ ์ธํธ์ ๊ตฌํ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์๋ก์ด ๋ธ๋์น 1.35์ ์ฒซ ๋ฒ์งธ ๋ฆด๋ฆฌ์ค๋ ๋ถ์์ ํ ๊ฒ์ผ๋ก ์๋ฆฌ๋งค๊นํ์ผ๋ฉฐ, ์์ ํ ์์ ํ๋ ๋ฒ์ 1.35.1์์ ์ ๊ณต๋ ์์ ์ด๋ฉฐ ์ฝ ํ ๋ฌ ํ์ ์์๋ฉ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ GPLv2 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
BusyBox์ ๋ชจ๋์ ํน์ฑ์ผ๋ก ์ธํด ํจํค์ง์ ๊ตฌํ๋ ์์์ ์ ํธ๋ฆฌํฐ ์ธํธ๊ฐ ํฌํจ๋ ํ๋์ ํตํฉ ์คํ ํ์ผ์ ์์ฑํ ์ ์์ต๋๋ค(๊ฐ ์ ํธ๋ฆฌํฐ๋ ์ด ํ์ผ์ ๋ํ ์ฌ๋ณผ๋ฆญ ๋งํฌ ํํ๋ก ์ฌ์ฉ ๊ฐ๋ฅ). ์ ํธ๋ฆฌํฐ ์ปฌ๋ ์ ์ ํฌ๊ธฐ, ๊ตฌ์ฑ ๋ฐ ๊ธฐ๋ฅ์ ์กฐ๋ฆฝ์ด ์ํ๋๋ ์๋ฒ ๋๋ ํ๋ซํผ์ ์๊ตฌ ์ฌํญ๊ณผ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. ํจํค์ง๋ ์์ฒด ํฌํจ๋์ด ์์ต๋๋ค. uclibc๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ์ผ๋ก ๋น๋ํ ๋ Linux ์ปค๋ ์์ ์์ ์์คํ ์ ๋ง๋ค๋ ค๋ฉด /dev ๋๋ ํฐ๋ฆฌ์ ์ฌ๋ฌ ์ฅ์น ํ์ผ์ ๋ง๋ค๊ณ ๊ตฌ์ฑ ํ์ผ์ ์ค๋นํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ด์ ๋ฆด๋ฆฌ์ค 1.34๊ณผ ๋น๊ตํ์ฌ ์ผ๋ฐ์ ์ธ BusyBox 1.35 ์ด์ ๋ธ๋ฆฌ์ RAM ์๋น๋ 1726๋ฐ์ดํธ(1042344์์ 1044070๋ฐ์ดํธ๋ก) ์ฆ๊ฐํ์ต๋๋ค.
BusyBox๋ ํ์จ์ด์ GPL ์๋ฐ์ ๋ง์ ์ธ์ฐ๋ ์ฃผ์ ๋๊ตฌ์ ๋๋ค. BusyBox ๊ฐ๋ฐ์๋ฅผ ๋์ ํ์ฌ SFC(Software Freedom Conservancy) ๋ฐ SFLC(Software Freedom Law Center)๋ ๋ฒ์์ ํตํด ๋๋ ์ธ๋ถ๋ฅผ ํตํด GPL ํ๋ก๊ทธ๋จ์ ์์ค ์ฝ๋์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ์ง ์๋ ํ์ฌ์ ๋ฐ๋ณต์ ์ผ๋ก ์ฑ๊ณต์ ์ผ๋ก ์ํฅ์ ๋ฏธ์ณค์ต๋๋ค. -๋ฒ์ ๊ณ์ฝ. ๋์์ BusyBox์ ์์ฑ์๋ ๊ทธ๋ฌํ ๋ณดํธ๊ฐ ์์ ์ ์ฌ์ ์ ๋ง์น ๊ฒ์ด๋ผ๊ณ ๋ฏฟ๊ณ ๊ฐ๋ ฅํ๊ฒ ๋ฐ๋ํฉ๋๋ค.
BusyBox 1.35์์๋ ๋ค์ ๋ณ๊ฒฝ ์ฌํญ์ด ๊ฐ์กฐ๋ฉ๋๋ค.
- ์ฐพ๊ธฐ ์ ํธ๋ฆฌํฐ๋ "-samefile name" ์ต์ ์ ๊ตฌํํ์ฌ ํ์ผ์ด ์ง์ ๋ ์ด๋ฆ์ ๊ฐ์ง ํ์ผ๊ณผ ๋์ผํ inode๋ฅผ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํฉ๋๋ค. ์๊ฐ ๋น๊ต๋ฅผ ์ํ ํตํฉ ์ฝ๋์ ์ก์ธ์ค ์๊ฐ ๋ฐ ํ์ผ ์์ฑ์ ํ์ธํ๊ธฐ ์ํ "-amin", "-atime", "-cmin" ๋ฐ "-ctime" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- mktemp ์ ํธ๋ฆฌํฐ์๋ ์์ ํ์ผ๊ณผ ๊ด๋ จ๋ ๊ฒฝ๋ก๊ฐ ๊ณ์ฐ๋๋ ๊ธฐ์ค ๋๋ ํฐ๋ฆฌ๋ฅผ ์ง์ ํ๋ "--tmpdir" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ค์ ์ฅ์น ๋ฒํธ(ํญ์ 0์ด ๊ธฐ๋ก๋จ)๋ฅผ ๋ฌด์ํ๊ธฐ ์ํด cpio ์ ํธ๋ฆฌํฐ์ "-ignore-devno" ์ต์ ์ด ์ถ๊ฐ๋์์ผ๋ฉฐ ์์นด์ด๋ธ์ ์ ์ฅํ๊ธฐ ์ ์ inode ๋ฒํธ๋ฅผ ๋ค์ ์ง์ ํ๊ธฐ ์ํ "-renumber-inodes" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- awk ์ ํธ๋ฆฌํฐ์์ "printf %%" ํํ์ด ์กฐ์ ๋์์ต๋๋ค.
- libbb ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฝ XNUMX๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ถ๊ฐ๋์์ต๋๋ค. coreutils ์ธํธ์ ํด๋น ํญ๋ชฉ๊ณผ realpath์ ํธํ์ฑ์ด ํฅ์๋์์ต๋๋ค.
- ๋ค๋ฅธ ์๊ณผ์ ํธํ์ฑ ํฅ์์ ๋ชฉํ๋ก ash ๋ฐ hush ๋ช ๋ น ์์ ๋ํ ๋ง์ ์์ ์ฌํญ์ด ์ ์๋์์ต๋๋ค. Ash๋ bash์ ์ ์ฌํ ERR ํธ๋ฉ, -E ๋ฐ $FUNCNAME ์ค์ , "${s:}" ํํ์์ ์ฌ์ฉํ ๋ ๋น ๋ฅธ ๋ฌธ์์ด ๊ฒ์์ ๋ํ ์ง์์ ์ถ๊ฐํ์ต๋๋ค. ์์๊ฐ์ "${x//\*/|}" ์์ ์คํ์ด ๊ฐ์ํ๋์์ต๋๋ค.
- basename ์ ํธ๋ฆฌํฐ๋ ํ ๋ฒ์ ํธ์ถ๋ก ์ฌ๋ฌ ์ด๋ฆ์ ์ ๋ฌํ๊ธฐ ์ํ "-a" ์ต์ ๊ณผ ํํ "SUFFIX" ๋ฌธ์๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํ "-s SUFFIX" ์ต์ ์ ๊ตฌํํฉ๋๋ค.
- blkdiscard ์ ํธ๋ฆฌํฐ์ "-f"(๊ฐ์ ) ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- httpd๊ฐ ์ค๋ฅ๊ฐ ์๋ ํ์ด์ง์ ๋ํด Last-Modified/ETag/Content-Length ํค๋ ์ ์ก์ ์ค์งํ์ต๋๋ค.
- httpd์ telnetd๋ ๊ธฐ๋ณธ ๋คํธ์ํฌ ํฌํธ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ํ์ผ ์ด๋ฆ์ด ๋งค์ฐ ๊ธด ์์นด์ด๋ธ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ชจ๋ ์๋ชจํ๊ฒ ๋ง๋๋ tar์ ์ทจ์ฝ์ฑ์ ์์ ํ์ต๋๋ค.
- P256 ๋ฐ x25519์ ๊ตฌํ์ด TLS ์ฝ๋์์ ์ฌ์์ ๋์์ต๋๋ค.
- wget ์ ํธ๋ฆฌํฐ๋ ํ์ผ ์ ์ก์ ์ํ "--post-file" ์ต์ ์ ๊ตฌํํ๊ณ "--post-data" ๋ฐ "--post-file" ์ต์ ์ ๋ํ Content-Type ํค๋์ ๋ด์ฉ์ ์ฌ์ฉ์ ์ ์ํ ์ ์๋๋ก ํฉ๋๋ค.
- ์๊ฐ ์ด๊ณผ ์ ํธ๋ฆฌํฐ๋ ์ด์ ๋ช ๋ น์ด ์ถ๊ฐ KILL_SECS ์ด ๋ด์ ์๋ฃ๋์ง ์๋ ๊ฒฝ์ฐ SIGKILL ์ ํธ๋ฅผ ๋ณด๋ด๋ "-k KILL_SECS" ์ต์ ์ ์ง์ํฉ๋๋ค.
- ์ฅ์น์ ๋ํ netns ๋งค๊ฐ๋ณ์ ์ค์ ์ง์์ด ip ์ ํธ๋ฆฌํฐ์ ์ถ๊ฐ๋์์ต๋๋ค.
- cal ์ ํธ๋ฆฌํฐ๋ "-m" ์ต์ ์ ๊ตฌํํ์ฌ ์ง์ ๋ ์์ ํ์ํฉ๋๋ค.
- ๋ ์ง ๋ฐ ํฐ์น ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ์ง์ ์๊ฐ๋ ์คํ์ ์ ์ง์ ํ ์ ์์ต๋๋ค.
- vi ํธ์ง๊ธฐ์์ ~/.exrc ํ์ผ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ผ๋ฉฐ "-c" ๋ฐ EXINIT ์ฒ๋ฆฌ๊ฐ ๋ณ๊ฒฝ๋์์ต๋๋ค.
- ed ์ ํธ๋ฆฌํฐ์์๋ ์ฝ๊ธฐ/์ฐ๊ธฐ ๋ช ๋ น ์คํ ๊ฒฐ๊ณผ๊ฐ POSIX-1.2008 ์ฌ์์ ์ค์ํ๊ฒ ๋ฉ๋๋ค. "-p" ์ต์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋น๊ต๋ฅผ N ๋ฐ์ดํธ๋ก ์ ํํ๊ธฐ ์ํด cmp ์ ํธ๋ฆฌํฐ์ "-n N" ์ต์ ์ ์ถ๊ฐํ์ต๋๋ค.
๋ํ ๋ฉฐ์น ์ ์ ์ง BusyBox ๊ด๋ฆฌ์๊ฐ ๊ฐ๋ฐํ๊ณ 0.8.6BSD ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋๋ BusyBox์ ์ ์ฌํ Toybox 0์ด ์ถ์๋์์ต๋๋ค. Toybox์ ์ฃผ์ ๋ชฉ์ ์ ์ ์กฐ์ ์ฒด์ ์์ ๋ ๊ตฌ์ฑ ์์์ ์์ค ์ฝ๋๋ฅผ ์ด์ง ์๊ณ ๋ ์ต์ํ์ ํ์ค ์ ํธ๋ฆฌํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ๊ธฐ๋ฅ๋ฉด์์ Toybox๋ ์ฌ์ ํ BusyBox์ ๋นํด ๋ค๋จ์ด์ ธ ์์ง๋ง ๊ณํ๋ 296๊ฐ ๋ช ๋ น ์ค 217๊ฐ ๊ธฐ๋ณธ ๋ช ๋ น(์์ 83๊ฐ, ๋ถ๋ถ 374๊ฐ)์ด ์ด๋ฏธ ๊ตฌํ๋์์ต๋๋ค.
Toybox 0.8.6์ ํ์ ์ค์๋ ์์คํ
์ด๋ฏธ์ง ์์ฑ์ ์ํ ์คํฌ๋ฆฝํธ ๊ฐ์ , sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace ๋ฐ hexdump ๋ช
๋ น ์ถ๊ฐ๊ฐ ํฌํจ๋ฉ๋๋ค. ๊ตฌํ๋ ์ต์
"date -s", "pmap -p", "tail -F -s", "kill -0", ์ฌ๋ถํ
/์ค์ง/poweroff -d", "tail โbytes โlines", "i2cDetect -q" , "find -quit -lname -ilname -d", "cut -d $'\n'", "cut -nb", "cpio -ignore-devno -renumber-inodes", "tar -selinux", "split -n", "grep -L".
์ถ์ฒ : opennet.ru