Ubuntu 26.10 completes transition to Rust-based coreutils
Ubuntu 26.10, Rust 기반 coreutils 전환 완료 — 보류됐던 cp·mv·rm까지 마이그레이션
Ubuntu 26.10 'Stonking Stingray'가 ls, cat, chmod, du 등 GNU coreutils를 Rust로 재작성한 uutils로 전면 교체하며 Rust 전환을 완료합니다. 보안 문제로 보류됐던 cp, mv, rm의 TOCTOU 취약점이 업스트림에서 수정되면서 마지막 퍼즐이 맞춰졌지만, 커뮤니티에서는 rm의 세그멘테이션 폴트 재현 사례를 들어 성급한 전환이라는 비판도 나옵니다.
- 주제
본문
Canonical이 추진해 온 Ubuntu의 '산화(oxidising)' 프로젝트, 즉 기반 소프트웨어를 Rust 대안으로 교체하는 작업이 Ubuntu 26.10 'Stonking Stingray'에서 마무리 단계에 들어섰습니다. 이번 릴리스는 ls, cat, chmod, du 같은 일상적인 명령행 도구를 포함한 Rust 기반 코어 유틸리티의 전체 세트를 탑재하며, 사용자 입장에서는 기능적 차이가 없도록 설계됐습니다. uutils 프로젝트는 GNU 버전과의 드롭인(drop-in) 호환성을 목표로 하며, GNU와 다른 동작이 발견되면 그것을 버그로 취급합니다. 즉 이번 전환의 목적은 새로운 기능이 아니라 메모리 안전성을 통한 보안 개선입니다.
왜 cp, mv, rm은 마지막까지 남았나
Ubuntu 26.04 LTS에서도 대부분의 코어 유틸리티는 Rust 버전으로 전환됐지만, cp, mv, rm 세 가지 명령어만은 GNU 버전이 유지됐습니다. uutils 버전에서 TOCTOU(time-of-check to time-of-use), 즉 파일 상태를 확인한 시점과 실제로 사용하는 시점 사이의 경쟁 조건을 노리는 취약점들이 발견됐기 때문입니다. 이 문제들은 Canonical이 26.04 출시에 앞서 의뢰한 uutils 보안 감사에서 드러났고, 업스트림에서 수정이 완료되면서 26.10에서 전환이 마무리됐습니다. Canonical은 2025년부터 Rust 전환을 시작했고, Ubuntu 25.10이 Rust 기반 유틸리티를 처음 탑재하고 Rust 기반 sudo를 기본값으로 채택한 첫 릴리스였습니다.
Rust 선택의 근거와 Canonical의 투자
Canonical이 Rust를 선택하는 이유는 명확합니다. C 컴파일러가 잡아내지 못하는 메모리 버그를 Rust는 컴파일 타임에 차단하기 때문입니다. Canonical은 단순히 결과물을 가져다 쓰는 데 그치지 않고, Rust 소프트웨어 개발을 지원하는 비영리 단체 Trifecta Tech Foundation에 연간 4만 유로를 지원하는 골드 스폰서입니다. 이 재단은 현재 NTP(Network Time Protocol)의 Rust 기반 재작성을 진행 중이며, Ubuntu는 이를 27.10부터 기본 시간 동기화 클라이언트로 채택할 계획입니다. 코어 유틸리티에 이어 시스템 기반 요소 전반으로 Rust 전환이 확대되고 있는 셈입니다.
릴리스 일정
Ubuntu 26.10 'Stonking Stingray' 베타는 이달 말 배포되며, 정식 릴리스는 2026년 10월 15일로 예정돼 있습니다. 다만 26.10은 LTS가 아닌 중간(interim) 릴리스라는 점을 감안할 필요가 있습니다. 대부분의 사용자가 LTS를 추적하는 만큼, 이번 전환의 실제 영향 범위는 다음 LTS에서 본격화될 것으로 보입니다.
Hacker News 반응
- @collinfunk — Canonical이 왜 이렇게 서두르는지 이해가 안 됩니다. rm이 모든 디렉터리 엔트리를 지우지 못하는 것은 큰 문제인데, Ubuntu 26.10 컨테이너에서 uutils rm 0.10.0으로 3만 2천 단계 깊이의 디렉터리를 만들고 rm -rf를 실행하니 세그멘테이션 폴트가 발생하고 디렉터리가 남았습니다. 같은 작업을 GNU rm으로 하면 정상적으로 삭제됩니다.
- @teekert — 서두른다고요? 이건 아직 출시도 안 된 중간 릴리스이고 사용자의 95% 정도는 LTS만 따라갑니다. 시간이 되면 버그 리포트를 올리는 게 낫습니다.
- @collinfunk — 이미 했습니다. 업스트림에 몇 년째 열려 있는 버그이기도 합니다.
- @teekert — 그건 걱정되는 부분이네요. 링크를 올려주면 확인 후 투표하겠습니다.
- @jeffbee — Ubuntu 출시 전에 버그를 리포트해 본 적이 있지만 소용없었습니다. 프리즈 이후에 대규모 변경을 밀어넣고는 프리즈를 이유로 피드백을 무시하는 패턴이 반복돼 답답합니다.
원문: OMG! Ubuntu / 번역·요약: Trawling