TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 26 READS

애플, macOS 27에서 hdiutil 폐기 예고 — diskutil로 갈아타기 전 알아야 할 것

macOS를 스크립트로 다뤄본 개발자나 시스템 관리자라면 hdiutil이라는 이름이 낯설지 않을 것이다. 디스크 이미지(.dmg)를 생성하고 마운트하고 변환하는 명령줄 도구로, 백업 자동화나 배포 패키지 제작 같은 작업의 뒤편에서 오랫동안 묵묵히 쓰여 왔다. 그런데 macOS 27 골든게이트(Golden Gate) 베타의 man 페이지 상단에 폐기(deprecation) 공지가 등장했다. WHAT'S NEW 섹션과 함께 각 하위 명령을 대체할 diskutil 명령이 나열되면서, 애플이 hdiutil을 diskutil로 통합하려는 방향이 분명해졌다.

대체는 되지만, 그대로는 아니다

표면적으로는 hdiutil의 대다수 옵션이 이름만 바뀐 채 diskutil로 옮겨간 것으로 보인다. 하지만 일부 기능은 그대로 사라졌다. 예컨대 작업 진행 상황을 기계가 파싱하기 쉬운 형태로 출력하던 -puppetstrings 옵션이 빠졌고, hdiutil create -srcfolder에 딸린 일부 세부 옵션도 대응물이 보이지 않는다. 자동화 스크립트가 이런 출력이나 옵션에 의존하고 있었다면, 단순히 명령어 이름만 바꿔서는 동작이 재현되지 않는다는 뜻이다.

블로그 저자는 자신이 macOS 세쿼이아를 쓰는 맥북 프로에서 매일 수행하던 홈 폴더 백업 작업을 골든게이트에서 두 도구로 각각 실행해 비교했다. hdiutil은 평균 110~115초가 걸렸는데, 여기서 성가신 지점이 하나 드러난다. 백업 대상 안에 root 소유 파일이 하나 섞여 있어 hdiutil이 관리자 인증 창을 띄운다는 점이다. 인증을 통과하면 이미지 생성은 정상적으로 끝난다.

더 빠르지만 더 조용한 diskutil

같은 작업을 diskutil로 돌리자 이번에는 그냥 실패했다. verbose 옵션을 줬는데도 왜 실패했는지 알려주지 않았다. 저자는 원인을 추측으로 맞혀야 했는데, 문제는 역시 그 root 소유 파일이었다. hdiutil과 달리 diskutil은 인증 창을 띄우지 않기 때문에, 해당 파일을 삭제해야 비로소 작업이 진행됐다. 실패 이유를 침묵으로 넘긴다는 점은 스크립트 운영자 입장에서 뼈아픈 후퇴다. 다만 진행률 퍼센트가 화면에서 제자리 갱신되며 표시돼, 사라진 -puppetstrings를 어느 정도 대신하는 장치는 있었다.

좋은 소식은 속도와 용량이다. diskutil은 평균 40~45초로 hdiutil보다 1분 이상 빨랐고, 결과물인 dmg 파일도 2.8GB로 hdiutil의 2.89GB보다 작았다. 그런데 이 용량 차이에는 이유가 있었다. 두 이미지를 마운트해 Xcode에 내장된 FileMerge로 비교하자, 두 명령을 실행한 몇 분 사이 자연스럽게 바뀐 파일들을 제외하면 핵심 차이는 하나였다. hdiutil 이미지에는 ~/.Trash/ 즉 휴지통 폴더가 포함됐지만 diskutil 이미지에는 빠져 있었다. diskutil이 hdiutil의 -scrub 옵션을 켠 것처럼 동작한 셈이다. 백업을 뜨는 사람에게 휴지통 제외는 취향에 따라 이득일 수도, 예상치 못한 데이터 누락일 수도 있다.

실무자가 챙겨야 할 지점

이 관찰들을 종합하면, 골든게이트의 diskutil은 아직 hdiutil의 완전한 대체재로 보기 어렵다. 인증 흐름이 달라 root 소유 파일에서 조용히 깨지고, 실패 원인을 알려주지 않으며, 백업 범위(휴지통 포함 여부)마저 다르게 처리한다. 이름이 같은 기능이라도 결과물과 부작용이 달라질 수 있으니, hdiutil에 의존하는 배포·백업 파이프라인을 운영한다면 지금 골든게이트 환경에서 실제 산출물을 바이트 단위로 비교해 두는 편이 안전하다.

저자는 근본적인 의문도 던진다. 같은 기능이 diskutil 안에 살아남는다면 굳이 hdiutil을 폐기할 이유가 무엇이냐는 것이다. 그는 과거 hdiutil을 직접 호출하는 Knox라는 앱 개발에 참여했던 경험을 들며, hdiutil이 완전히 제거되면 그런 소프트웨어는 곧바로 망가진다고 지적한다. 폐기는 아직 삭제가 아니지만, 오래된 워크플로와 스크립트가 결국 손봐야 할 대상이 됐다는 신호로 읽힌다.

덧붙여 두 도구 모두 지난해 저자가 보고한 버그, 즉 세쿼이아에서 접근 불가능한 .bnnsir 파일 문제(FB17162985, 시리 CoreSpeech .bnnsir 파일 복사 오류)를 골든게이트 베타에서도 여전히 안고 있었다. 100% 재현 가능한 절차를 제출했음에도 애플은 최신 베타에서 문제가 재현되는지 되물었고, 재현되면 iOS sysdiagnose를 제출하라고 요청했다. macOS 버그에 iOS 진단 로그를 요구한 것이다. 물론 최신 골든게이트 베타에서도 이 버그는 그대로 남아 있었다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://lapcatsoftware.com/articles/2026/8/7.html
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...