일간

Ubuntu 26.10, cp·mv·rm까지 Rust coreutils로 — 전환 완료

원문 OMG! Ubuntu ↗

Ubuntu 26.10에서 cp, mv, rm이 Rust 기반 uutils 구현으로 바뀌면서, 2025년에 시작한 coreutils 전환이 끝났습니다. OMG! Ubuntu의 Joey Sneddon이 정리한 기사이고 Canonical 공식 발표는 아닙니다.

경과

  • 2025년: Canonical이 coreutils를 Rust로 바꾸는 작업("oxidising")을 시작
  • 25.10: 첫 Rust 유틸리티 투입. sudo도 Rust 구현(sudo-rs)이 기본이 됨
  • 26.04 LTS: 대부분 전환. cp·mv·rm 셋은 TOCTOU 문제를 고쳐야 해서 GNU 버전 유지
  • 26.10: 세 개까지 넘어가며 완료

TOCTOU는 "파일을 검사한 시점과 실제로 쓰는 시점 사이에 상태가 바뀔 수 있는" 경쟁 조건입니다. 파일을 지우고 옮기는 명령에서 이게 어긋나면 엉뚱한 파일이 지워질 수 있어서 가장 마지막까지 신중하게 다룬 것입니다.

왜 바꾸나

기사가 드는 이유는 메모리 안전성 하나입니다. Rust는 메모리 버그를 컴파일 시점에 잡습니다. 수십 년 된 C 코드에서 간헐적으로 나오던 취약점의 부류를 아예 없애겠다는 것입니다.

잡음도 있었다

기사는 "순탄하지만은 않았다"고 적습니다. 25.10에서는 date 명령에 버그가 있었습니다. uutils는 GNU와의 호환을 목표로 하지만 100%는 아닙니다.

글에 없는 것

GNU 버전으로 되돌리는 방법, 호환성이 깨지는 구체 사례, 성능 비교는 기사에 없습니다. Canonical의 공식 성명도 인용돼 있지 않습니다.

실무에서 할 일

데스크톱 사용자는 할 일이 없습니다. 서버에서 셸 스크립트를 많이 굴리는 팀은 26.10(그리고 다음 LTS인 28.04)으로 올리기 전에 --help 출력이나 에러 메시지 형식을 파싱하는 스크립트가 있는지 보면 됩니다. 그런 스크립트는 구현이 바뀌면 깨지기 쉬운 부류입니다. 26.04 LTS를 쓰고 있다면 당장은 해당 없습니다.

2026년 9월 15일에 올라온 글

그날 대시보드 →
  1. ·Java 27 정식 출시 — G1이 모든 환경의 기본 GC가 된다
  2. ·RubyGems 메인테이너: "그 봇들은 캐싱 취약점을 알고 있었다"

댓글

불러오는 중…