Ubuntu 26.10, cp·mv·rm 포함 coreutils 전체를 Rust 기반 uutils로 전환 완료
- Ubuntu 26.10이 cp, mv, rm을 포함한 전체 coreutils를 Rust 기반 uutils로 교체 완료. 26.04 LTS에서 TOCTOU(time-of-check to time-of-use) 보안 문제로 GNU 버전을 유지했던 세 명령이 업스트림 수정 후 26.10에 합류함
- Ubuntu 25.10이 Rust 기반 유틸리티와 sudo-rs를 처음 기본 탑재한 릴리스이고, Canonical 엔지니어들은 2025년부터 배포판 기반 소프트웨어를 Rust로 바꾸는 'oxidising' 작업을 진행해 왔음
- Canonical은 26.04 전에 Zellic에 uutils 보안 감사를 의뢰해 세 명령을 보류시킨 문제를 찾아냈고, Trifecta Tech Foundation에 연 4만 유로를 후원함
- 끝 사용자에게 기능 차이는 없음. uutils는 GNU 버전과의 drop-in 호환을 목표로 하고 차이를 버그로 취급함. 전환 목적은 컴파일 시점에 메모리 버그를 잡는 보안임
- 26.10 'Stonking Stingray' 베타는 이번 달, 정식 출시는 2026년 10월 15일. Trifecta가 진행하는 Rust 기반 NTP 재작성은 27.10 기본 시간 동기화 클라이언트로 쓸 계획임
Hacker News opinions
Canonical이 왜 이렇게 서두르는지 모르겠음. rm이 디렉터리 엔트리를 다 못 지우면 큰 문제인데, 깊이 32000짜리 디렉터리 만들고 rm -rf 돌리면 세그폴트로 죽고 ls로 확인하면 그대로 남아 있음. GNU rm은 잘 지움.
서두른다니, 아직 나오지도 않은 interim 릴리스인데 95%는 LTS만 따라감. 시간 있으면 버그 리포트나 올려.
깊이 32000 디렉터리를 가진 사람이 누가 있냐. 고쳐야 할 버그인 건 맞는데 우선순위가 낮은 건 이해감.
그래도 그건 동작해야 하는 거 아님? 원래 되던 게 안 되는데.
coreutils-from-gnu 쓰면 되긴 함. 근데 26.04부터 build-essential이 coreutils-from-uutils에 의존해서 GNU 패키지가 깔린 상태로는 업그레이드가 안 됨. 그 리포트 답변대로 equivs로 더미 패키지 만들면 되지만, 고칠 생각이 없다는 게 짜증남.
GNU coreutils 그대로 쓸 수 있다는 주장을 계속 들으면서 믿기가 어려워짐. 방향은 정해졌고 되돌릴 생각이 없어 보임.
기존 코드에 뭐 문제라도 있었던 건가, 아니면 Rust로 바꿨다는 배지만 갖고 싶은 건가?
라이선스임. GNU는 copyleft고 새 건 permissive. 나한테는 AGPL도 부족함.
그 저장소 코드 품질이 이제 괜찮아졌나? 몇 년 전에 dd 같은 걸 자세히 봤을 때 성능이나 정확성 문제가 거의 모든 툴에 있었음.
uutils가 존재하는 이유가 기술이 아니라 이념이라 코드 품질은 목적에 별 상관없음.
보안이 좋아지는데 뭐가 문제임. 호환성 문제는 금방 고치고, 5년 뒤에 C 코드베이스랑 취약점 수를 세어보면 누가 많은지 뻔함. C는 메모리 안전을 염두에 두고 설계된 언어가 아님.
지난 20년간 coreutils에 보고된 CVE가 12건인데 이 프로젝트는 지난 감사 한 번에서만 44건 나옴. RIIR이 맞는 경우도 있지만 이건 전혀 아님.
수십 년 검증돼서 그냥 잘 동작하는 유틸리티를 덜 성숙한 걸로 바꾸는 건 이해가 안 감. 노드 빌드하다가 원인 모를 세그폴트 만나고 싶지 않음. 우분투 23년 썼는데 아쉽다.