Rust Coreutils cp의 최신 호환성 문제로 인한 Ubuntu 이미지 빌드 오류 발생
요약
Rust Coreutils의 cp 명령어가 인자 처리 방식의 차이로 인해 Ubuntu 이미지 빌드 오류를 유발했습니다. 이로 인해 Ubuntu는 해당 명령어를 다시 GNU Coreutils 버전으로 되돌리기로 결정했습니다.
핵심 포인트
- Rust Coreutils cp의 -L 인자 처리 버그 발생
- Ubuntu 라이브 미디어 ISO 이미지 빌드 실패 유발
- 해결책으로 GNU Coreutils 버전으로 롤백 결정
- Rust Coreutils 업스트림에 수정 제안되었으나 미병합 상태
Rust Coreutils cp의 최신 호환성 문제로 인한 Ubuntu 이미지 빌드 오류 발생

인자 처리(argument handling) 방식의 차이로 인해 cp 명령어가 Ubuntu 이미지 빌드를 망가뜨리고 있습니다.
지난해 Ubuntu 25.10에서 Rust Coreutils로 전환된 이후, GNU Coreutils와의 호환성 차이로 인한 대부분의 문제점은 해결되었습니다. 일부 실행 파일의 오류, 성능 부족, 그리고 Ubuntu의 무인 업그레이드(unattended upgrades) 중단 등의 문제가 있었습니다. 특히 Ubuntu 26.04 LTS 출시 이후에는 Ubuntu에서 Rust Coreutils 관련 문제를 들은 지 몇 주 또는 몇 달이 지났습니다. 하지만 이번 주에 또 다른 주목할 만한 문제가 발견되었고, 이로 인해 Ubuntu는 copy (cp) 명령어를 GNU Coreutils 버전으로 되돌리게 되었습니다.
"critical" 이슈로 분류된 이 Launchpad 버그 보고서에 따르면, Rust Coreutils의 cp 명령어가 "-L" 인자를 처리하는 방식의 버그로 인해 Ubuntu 라이브 미디어 ISO 구축을 위한 Ubuntu 이미지 빌드가 실패했습니다.
GNU Coreutils로 되돌리는 대신 Ubuntu 빌드 스크립트를 변경하자는 제안도 있었습니다:
"덧붙이자면, 우리가 (계속해서) 되돌리기만 한다면 이러한 (예외적인) 문제들을 잡아내지 못할 수도 있습니다. 빌드가 실패했기 때문에 비로소 알게 된 것이니까요. 대신 'config'(https://git.launchpad.net/livecd-rootfs/tree/live-build/auto/config) 파일을 패치하는 것을 고려할 수 있습니다. cp -afL 조합은 단 한 곳에서만 사용됩니다. 이를 cp -RL --preserve=all $entry config/? 와 같은 방식으로 변경할 수 있을 것 같습니다. 로컬에서 확인해 보았는데 잘 작동합니다."
하지만 결국, 최신 Ubuntu coreutils-from 패키지 업데이트는 이전의 다른 버그들로 인해 수행되었던 것과 마찬가지로 cp를 GNU Coreutils 버전으로 되돌렸습니다.
cp 처리 방식을 수정하기 위한 해결책이 Rust Coreutils 업스트림(upstream)에 제안되었으나, 이 글을 쓰는 시점 기준으로 아직 병합(merge)되지는 않았습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기