๋ฐฐํฌํ ํจํค์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ Ubuntu 10์ 15์ผ ์ถ์ ์์ ์ธ 26.10 ๋ฒ์ ์ Rust ์ธ์ด๋ก ์์ฑ๋ uutils coreutils(Rust Coreutils) ํดํท์ผ๋ก์ ์์ ํ ์ ํ์ ์๋ฏธํฉ๋๋ค. Rust Coreutils ์ ํธ๋ฆฌํฐ๋ cp, mv, rm ์ ํธ๋ฆฌํฐ๋ฅผ ํฌํจํ์ฌ GNU Coreutils ํจํค์ง์ ๋ชจ๋ ๊ตฌ์ฑ ์์๋ฅผ ์์ ํ ๋์ฒดํฉ๋๋ค. Ubuntu 26.04 ๋ฒ์ ์ GNU Coreutils์ ๋ณํ ๋ฒ์ ์ผ๋ก ์ ๊ณต๋์์ต๋๋ค.
rust-coreutils ํจํค์ง๋ ์ด๊ธฐ ๋ฆด๋ฆฌ์ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ํฌํจ๋์์ต๋๋ค. Ubuntu 25.10์ด์ง๋ง LTS ์ง์ ์์๋ ๊ทธ๋ ์ต๋๋ค. Ubuntu 4์ 26์ผ, GNU Coreutils ์ ํ๊ตฐ์ cp, mv, rm ์ ํธ๋ฆฌํฐ๊ฐ ๋กค๋ฐฑ๋์์ต๋๋ค. ์ด๋ฌํ ์ต์ ์ Rust Coreutils ์ฝ๋๋ฒ ์ด์ค์ ๋ํ ๊ฐ์ฌ ๊ณผ์ ์์ ๋ฐ๊ฒฌ๋ ๋ณด์ ๋ฌธ์ ๋ก ์ธํด ๋๋๋ ค์ก์ต๋๋ค. Rust Coreutils์ ๋๋ถ๋ถ์ ์ทจ์ฝ์ ์ ๊ฒฝ์ ์กฐ๊ฑด(race condition)์ผ๋ก ์ธํด ๋ฐ์ํ๋ฉฐ, ์ด๋ ์ ๋ณด ๊ฒ์ฆ ํ ์์ ์ด ์ํ๋๊ธฐ ์ ์ ๋ฐ์ดํฐ๊ฐ ์์ ๋ ์ ์๋๋ก ํ์ฉํฉ๋๋ค(TOCTOU - Time-Of-Check-To-Time-Of-Use). ์ด๋ฌํ ์ทจ์ฝ์ ์ ํนํ ๊ฒ์ฆ ์๋ฃ์ ์์ ์์ ์ฌ์ด์ ํ์ผ์ด ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ก ๋์ฒด๋ ์ ์๋๋ก ํฉ๋๋ค.
๋ฃจํธ ๊ถํ์ผ๋ก ์คํ๋๋ ์์คํ
์คํฌ๋ฆฝํธ์์ cp, mv, rm ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ ๋, ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์์์ ํ์ผ์ ๋ณต์ฌ, ๋ฎ์ด์ฐ๊ธฐ ๋๋ ์ญ์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์ญ์ ํ ๋ rm ์ ํธ๋ฆฌํฐ๋ ๋จผ์ ๋ชจ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ค์บํ ๋ค์ rmdir() ํจ์๋ฅผ ํธ์ถํ์ฌ ์ญ์์ผ๋ก ์์ฐจ์ ์ผ๋ก ์ญ์ ํฉ๋๋ค. ํ์ง๋ง ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ค์บํ ์งํ, ํ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ค์บํ๊ธฐ ์ ์ ํด๋น ๋๋ ํฐ๋ฆฌ์ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์์ฑํ๋ฉด /etc/cron.daily/apport cron ์คํฌ๋ฆฝํธ๊ฐ ๋งค์ผ ์คํ๋ ๋ ์์คํ
์ ๋ชจ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ๋ฃจํธ ๊ถํ์ผ๋ก ์คํ๋๋ ์ด ์คํฌ๋ฆฝํธ๋ ์์คํ
์ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์ฐ๊ธฐ ๊ถํ์ ๊ฐ์ง /var/crash ๋๋ ํฐ๋ฆฌ์ ๋ด์ฉ์ ์ฌ๊ท์ ์ผ๋ก ์ญ์ ํฉ๋๋ค.
์ถ์ฒ : opennet.ru
