1P by GN⁺ | ★ favorite | 댓글 1개
  • macOS 15.2에서 Apple의 OS 복제 기능이 깨져 SuperDuper! 같은 도구가 다른 드라이브로 OS를 복사하는 작업을 완료하지 못함
  • 실패는 Data 볼륨 복제 말미, Preboot 또는 Recovery 복사 단계로 보이는 지점에서 발생하며 Resource Busy 오류가 나타남
  • 과거 Resource Busy 오류는 시스템 절전 방지로 우회할 수 있었지만, 이번 버그는 대부분의 시스템에서 실질적인 해결 방법이 없음
  • 서드파티 도구가 OS 복사를 Apple 코드에 의존해야 하는 구조라, Apple이 수정하기 전까지 OS 포함 복제는 동작하지 않음
  • 임시 대안은 SuperDuper!에서 “Backup - all files”와 “Smart Update”로 OS를 제외한 항목을 백업한 뒤, 클린 설치 후 첫 부팅 과정에서 복원하는 방식임

macOS 15.2에서 깨진 OS 복제

  • macOS 15.2 릴리스 후 Apple의 replicator가 정상 동작하지 않아 OS 복제 작업이 실패함
  • 실패 지점은 Data 볼륨 복제 말미로 보임
    • Preboot 또는 Recovery를 복사하려는 단계에서 문제가 발생하는 것으로 보임
    • 오류는 Resource Busy로 나타남
  • 이전 Resource Busy 오류는 시스템이 잠들지 않도록 유지해 우회할 수 있었음
  • 이번 버그는 대부분의 시스템에서 우회가 어렵고, 복제 작업이 그대로 중단됨

SuperDuper!가 직접 고칠 수 없는 이유

  • Apple은 서드파티의 OS 복사 기능을 가져갔고, OS 복사 책임이 Apple 코드에 묶인 구조가 됨
  • SuperDuper! 같은 도구는 OS를 복사하려면 Apple의 코드에 의존해야 함
  • macOS 15.2에서 해당 코드가 완전히 깨져, Apple 수정 전까지 OS 복사는 동작하지 않음
  • 기존에도 이 코드의 다른 버그를 우회해야 했지만, 이번처럼 완전히 깨진 경우에는 replicator를 쓰지 않는 우회책만 가능함

현재 가능한 우회 방법

  • Apple이 버그를 수정할 때까지는 SuperDuper!에서 “Backup - all files”와 “Smart Update”를 사용해야 함
  • 이 방식은 OS를 제외한 항목을 복사함
    • 애플리케이션
    • 데이터
    • 설정
    • 기타 사용자 파일
  • System 볼륨은 사실상 OS이며 읽기 전용이라 사용자가 변경할 수 없음
  • 클린 설치를 하면 System 볼륨은 원래 상태로 돌아오고, 이후 첫 부팅 중 표시되는 프롬프트에서 백업을 복원할 수 있음

Apple 수정이 필요한 버그

  • Apple 내부 또는 Apple과 연락 가능한 사람에게 전달할 버그 번호는 FB16090831
  • 이 문제는 SuperDuper! 쪽에서 고칠 수 없으며 Apple의 수정이 필요함

연말 시기의 불편함

  • 문제가 연말 시기에 발생했고, Apple은 이 시기부터 새해 전까지 업데이트를 거의 릴리스하지 않음
  • SuperDuper! 사용자는 당분간 OS까지 포함한 복제 대신, OS 제외 백업과 클린 설치 후 복원 절차를 사용해야 함

댓글과 토론

Hacker News 의견들
  • 이 글이 무슨 맥락인지 잘 모르겠음. “Apple이 replicator를 망가뜨렸다”에서 replicator가 무엇인지, “Backup - all files”와 “Smart Update”를 어디서 쓰라는 건지 궁금함

    • SuperDuper 백업 도구 쪽 이야기임. SuperDuper는 macOS 시스템의 부팅 가능한 백업을 만들 수 있는 도구인데, Apple이 서드파티 도구가 운영체제를 다른 파티션이나 드라이브로 복사·조작하는 능력을 빼앗고 자체 유틸리티로만 하게 만들었음
      그런데 그 유틸리티가 15.2에서 제대로 동작하지 않는 듯하고, 그래서 SuperDuper가 깔끔한 부팅 가능 백업을 만들 수 없게 됨
    • 글쓴이는 Mac 디스크 복제·백업 유틸리티인 SuperDuper 팀의 일원으로 보임
      https://www.shirt-pocket.com/SuperDuper/SuperDuperDescriptio...
    • Apple의 기본 백업 솔루션은 Time Machine인데, 10년 전 출시 때부터 형편없었고 여러 운영체제 릴리스를 거쳐도 신뢰성이 크게 나아지지 않았으며 여전히 대체로 별로임
      이 블로그의 작성자는 macOS에서 백업을 잘 만드는 앱을 개발하는데, Apple의 수상한 제한 때문에 앱이 깨진 상태임
      문제는 세 가지임: Apple이 macOS를 점점 iPhone처럼 만들고, 경쟁을 해치며, Apple이 더 나아질 유인이 없어서 결국 사용자가 피해를 봄
  • 이건 꽤 심각함. 최근 시스템을 크게 망가뜨려서 지우고 Time Machine으로 복구하려 했는데, 백업 용량 1.45TB가 내장 SSD 1TB보다 커서 여러 번 실패했음
    Time Machine 백업을 임의로 가지치기하면 손상될 수 있다는 걸 알게 됐고, 며칠 동안 복구 실패와 조사를 반복한 끝에 외장 SSD 부팅이 아직 가능하다는 걸 찾아냄
    결국 2TB SSD를 사서 거기에 복구하고, 그 SSD로 부팅한 뒤 불필요한 데이터를 정리하고 MacBook으로 마이그레이션했으며, 실패 한 번과 조사마다 몇 시간이 걸려 총 3일이 걸림
    Apple 지원에도 연락했는데, 과거 시스템 관리자였고 전문가와 이야기하고 싶다고 했더니 “전체 복구는 잊어라, 안 된다. 새로 설치하고 Time Machine에서 파일을 수동으로 복사하라”고 했고, 다른 사람은 2TB SSD가 있는 새 Mac을 사서 거기에 복구하라고 함
    예전에 Carbon Copy Cloner로 외장 SSD에 복구한 적이 있어 그 방법을 물었더니, 서드파티 앱은 추천할 수 없다며 권하지 않았음
    몇 년 전 최신 macOS가 외장 SSD 부팅을 지원하지 않는다고 들었던 탓에 처음엔 그 선택지를 떠올리지 못했지만, 추가 절차를 거치면 여전히 가능했음
    이게 불가능했다면 복구에 2주를 쓰거나, 백업 복구만 하려고 2TB짜리 다른 Mac을 샀어야 했을 것임
    64GB로 풀옵션 구성한 MacBook Pro에 거의 5천 유로와 Apple Care까지 썼는데, 백업 복구용으로 Mac을 또 사고 싶지는 않았음
    이 모든 일이 아주 중요한 발표 직전에 벌어져서 Windows 업무용 노트북에 묶였고, 필요한 도구가 없어 생산성이 90%쯤 떨어졌음. 중요한 마일스톤 직전에 메인 머신을 망가뜨리면 안 된다는 교훈은 얻음

    • 이 고생담에서 얻을 교훈은, 표준 작업을 어렵게 만드는 생태계에 투자하지 말라는 쪽에 가까워 보임
    • Apple 소프트웨어 품질이 Snow Leopard 이후 천천히 내려가는 게 정말 눈에 띔. 예전 소스 코드를 보면 읽는 즐거움이 있었음
      요즘은 버그를 피하려고 Xcode를 하루에도 여러 번 재시작하는 일이 반복되어 지침. Xcode가 늘 문제가 있긴 했지만 지금만큼 심하진 않았음
      게다가 MacBook Pro의 “시스템 데이터”가 SSD의 80%, 즉 800GB를 차지하고 있고, 캐시와 파생 데이터를 수동으로 지워도 그대로임
      이제는 코드 장인정신 같은 걸 신경 쓰지 않는 것 같고, “그냥 동작한다”는 문화 때문에 유용한 디버그 메시지를 넣지 않는 관행은 그대로 남아 있음
      최근 골칫거리는 AppKit 일부가 NSApplicationCrashOnExceptions 설정과 무관하게 [NSApplication _crashOnException:]를 직접 호출하고, [NSApplication reportException:]도 부르지 않는다는 것임. 그래서 예외가 통째로 사라지고 크래시 원인을 찾기 매우 어려워짐
    • “새로 설치하고 Time Machine에서 개별 파일을 수동으로 복사하라”가 예나 지금이나 유일하게 제정신인 답임
      시간과 에너지와 정신건강을 아낀다면 운영체제를 업그레이드하지 말고, 깨끗이 지우고 처음부터 설치해야 함. Windows 3.1에서 Windows 95로 갈 때도 그랬고, 오늘날 OSX에서도 마찬가지임
    • 마지막으로 Time Machine에서 복구했을 때는 복구할 폴더를 선택할 수 있었음. 중요한 부분만 먼저 복구하고, 큰 데이터는 백업 드라이브에 남겨뒀다가 나중에 수동으로 복구할 수 있었음
      https://support.apple.com/en-us/102551
    • Time Machine을 잘 모르지만, 전체 복구가 왜 원래 드라이브보다 더 많은 공간을 요구하는지 이해가 안 됨. 보통 괜찮은 백업 솔루션이라면 전체 복구는 기본적으로 전체 이력이 아니라 마지막 시스템 상태만 복원해야 하는 것 아닌가
  • 약간 옆길로 새는 이야기지만 쓸모 있는 정보임. 사무실의 2018 Mac Mini에서 악몽 같은 한 주를 보냈음
    직원이 Sequoia로 업데이트하려다 오류 후 재시도만 반복하는 상황에 빠져서 복구 옵션을 시도했는데, 8시간짜리 복구 과정이 나오길래 USB 설치로 넘어감
    T2 제한 때문에 복구 유틸리티 메뉴에서 부팅 허용을 켜야 했는데, 놀랍게도 정상 동작하는 설치본과 관리자 계정 없이는 이걸 할 수 없었음
    그래서 해당 컴퓨터의 기본 운영체제를 설치하고 다시 부팅하려 했지만, 설치 도중 Mini가 멈췄고 차임도 불빛도 없어 완전히 죽은 줄 알았음
    멀쩡한 컴퓨터가 느리고 버그 많은 복구 과정 때문에 벽돌이 된 데 화가 났음. 8시간이라니 Apple이 Akamai 서버 속도를 더 살 돈이 없었나, 아니면 일부러 과정을 망쳐 새 기기를 사게 만드는 건가 싶었음
    해결책은 비권장 케이블인 USB2-to-USB-C, 즉 데이터 가능한 Logitech 마우스 케이블로 DFU 모드에 들어가는 것이었음. 시작 버튼을 누른 채 전원 케이블을 꽂고, USB-C는 HDMI 입력 다음 첫 번째 Thunderbolt 포트에 연결해야 함
    그러면 호스트 Mac의 Finder에 연결이 마법처럼 나타나고, T2 펌웨어를 복구한 뒤 USB 스틱으로 평소처럼 설치해 Mini를 되살릴 수 있었음
    하드웨어 수리 포럼 여기저기서 조각 정보를 모아 해결했음. Apple “지원”에 전화하면 절차는 뻔함. 매장에 와서 더 사라는 식임

  • 글이 꽤 불명확함. “복사”는 사람마다 여러 의미가 될 수 있음
    cp -r / /Volumes/Clone 같은 건 원래 동작한 적이 없고, rsync --acls --archive --hard-links --one-file-system --sparse --xattrs / /Volumes/CLONEsudo bless -folder /Volumes/CLONE/System/Library/CoreServices는 여전히 되는지 궁금함
    블록 단위 복사인 sudo dd if=/dev/rdisk2 of=/dev/rdisk4 bs=1m conv=notrunc도 여전히 되는지 모르겠음

    • 예전 블로그 글에 문서화돼 있었던 것으로 기억하는데, 운영체제 설치본 복사에는 asr 유틸리티를 쓰는 듯함
      macOS 설치를 구성하는 파티션이 많아서 cprsync만으로는 충분하지 않음. dd는 가능하겠지만, 더 작은 디스크로 백업할 수 없고 파일 선택도 못 하며 속도 면에서도 유연성을 크게 잃음
  • 외부 모니터 전원을 끄되 HDMI는 연결해 두거나, 전원이 꺼진 HDMI 출력 장치를 연결해 두면 커널 패닉도 남
    새 MacBook Pro의 첫 사용 경험으로는 훌륭했음

    • 참고로 내 환경에서는 같은 현상이 없음. CalDigit TS3+에 큰 TV를 연결해 두고 영화 볼 때만 켰다 끄는데, 방금 테스트해 봐도 계속 잘 동작함
    • 당연히 커널 패닉이 나면 안 되지만, 원인을 찾으려고 덤프를 봤는지 궁금함. 다른 케이블이나 다른 HDMI 장치도 시험해볼 만함
      여전히 버그이긴 하지만, 규격을 제대로 지키지 않는 HDMI 케이블이나 장치 때문일 수도 있음
    • 새 MacBook Pro를 사면 macOS 15로 “업그레이드”되어 있다는 게 최악임
      첫 1시간 동안 버그를 12개 셌음
      컴퓨터 회사를 차리고 싶어질 정도임
    • 외부 모니터, 적어도 서드파티 모니터와의 연동은 Apple의 약점처럼 보임
  • 다음 컴퓨터는 Mac이 아닐 것 같음. 잘 동작하긴 하지만 락인이 계속 너무 심함

    • Mac과 Windows 모두 이제 더 나은 대체재가 있음: Linux임. 하드웨어 제조사들과 Valve 덕분에 Linux는 확실히 더 나은 데스크톱 대안이 됨
  • 15.1에서 macOS가 “신뢰할 수 없는” 소프트웨어를 완전히 차단했을 때는 별로 불만이 안 나왔음
    예전에는 “휴지통으로 이동” 팝업이 떠도 바이너리를 Cmd+클릭하거나, 나중에는 개인정보 보호 및 보안 설정 메뉴에서 해제할 수 있었음
    그런데 15.1부터는 끝장임. 서명되지 않았거나 신뢰되지 않은 바이너리는 사용자가 아무리 신뢰해도 macOS에서 실행되지 않음
    음악 산업, 여러 업계, GOG 게임 설치 프로그램 같은 소비자용 소프트웨어에 큰 문제임. 새로 설치하면 아예 열리지 않음
    이런 사용자 공간의 호환성을 깨는 변경을 한 Apple에 15분쯤 화를 냈음
    이건 사용자를 보호한다기보다 닫힌 정원을 더 조이는 것에 가깝고, 마이너 릴리스에서 조용히 들어간 역겨운 변화임
    다행히 xattr -d com.apple.quarantine ~/binary로 해결책을 찾았지만, 이마저 동작하지 않게 되면 어떻게 해야 할지 모르겠음
    M1~M4 칩은 정말 좋아하고 팬 소리도 다시 듣고 싶지 않지만, 상황이 계속 나빠지면 이 하드웨어를 제대로 지원하는 첫 배포판으로 갈아탈 것임
    macOS는 문제가 있어도 아름답고 충분히 쓸 만한 운영체제인데, Apple이 해마다 조금씩 뜯어고치며 대체로 더 나쁘게 만들고 있음. Snow Leopard 만세

    • 아직 15로 업데이트하지 않았지만, 우클릭 후 열기로 서명되지 않은 소프트웨어를 실행하는 기능만 없앤 줄 알았음. Gatekeeper를 통해 시스템 설정에서 수동 승인해야 한다고 이해했음
      Apple이 macOS를 iOS처럼 잠그는 방향으로 천천히 개구리를 삶고 있다는 건 100% 맞음. 개인용 컴퓨터는 이미 Linux로 바꿨고, 2017년 공증 제도가 발표됐을 때부터 조짐이 보였음
    • 추가 맥락으로, 대화상자는 이렇게 표시됨
      “App” Not Opened
      Apple could not verify “App” is free of malware that may harm your Mac or compromise your privacy. [ Done ]
      오른쪽 위의 ? 버튼은 https://support.apple.com/guide/mac-help/apple-cant-check-ap...를 열고, 여기에는 사용자가 원하면 개인정보 보호 및 보안 설정에서 수동으로 우회해 앱을 열 수 있다고 되어 있음
      설정 링크로 들어간 뒤 아래로 스크롤해 같은 메시지의 두 번째 사본을 찾고 “Open Anyway”를 눌러야 하며, 그러면 세 번째 경고가 뜸
      “Open ‘App’?”
      Apple is not able to verify that it is free from malware that could harm your Mac or compromise your privacy. Don’t open this unless you are certain it is from a trustworthy source. [ Done ] [ Open Anyway ]
      계속하려면 인증이 필요하고, 인증 프롬프트는 네 번째 경고로 “You are attempting to open an app that may harm your Mac or compromise your privacy.”를 보여줌
      https://developer.apple.com/support/compare-memberships/에 따르면 앱을 공증하려면 연 $99짜리 Apple Developer Program 정회원이 필요함
    • Gatekeeper를 끄거나, 시스템 설정에 들어가서 “Open Anyway”를 누르면 됨. 물론 성가시긴 함
    • 결국 Asahi Linux로 옮기는 것도 선택지가 될 수 있어 보임
  • iPhone 15를 17에서 18.1로 업데이트했더니 Safari가 크래시나고, iPhone에서 MacBook으로 넘기는 Handoff가 안 됨. 반대 방향은 완벽히 동작함. 둘 다 정말 답답함

  • Sequoia로 올리면서 가장 웃겼던 건, Apple 디버거에서 프로그램을 실행하면 로컬 네트워크 연결 수립이 깨진다는 점이었음
    이더넷으로 직접 연결된 장치와 일반 실행 바이너리에서는 통신할 수 있지만, lldb 아래에서는 안 됨. 네트워크 연결 허용 프롬프트 같은 것도 뜨지 않음
    upstream LLVM 디버거를 쓰면 된다는 걸 깨닫기까지 반나절 이상을 날렸음

  • “이건 별로다. 우리도 별로라고 생각하고, 여러분도 별로라고 생각한다. 하지만 우리가 고칠 수는 없다. Apple이 고쳐야 한다.”
    그래서 몇 년 전 macOS를 포기하고 Linux로 옮겼음
    어떤 운영체제가 더 좋고 나쁘냐의 문제가 아님. 모든 소프트웨어에는 버그가 있음. 핵심은 필연적인 버그가 생겼을 때 위에서 수정이 내려오기를 기다리는 대신, 사용자가 무언가 할 수 있는 권한이 있느냐임

    • 이론상 Linux에서 블루투스, Wi-Fi, 깊은 절전을 동작하게 만들 수는 있지만 실제로 내가 고칠 수 있느냐 하면 아님. 시도하지 않아서가 아님
      매일 쓰는 컴퓨터에서 문제가 생겼을 때 실질적으로 고칠 수 있는 능력을 따지면, macOS가 여전히 압도적으로 낫다고 봄
    • 그뿐만 아니라 Linux 업데이트가 설치를 망가뜨리면 무엇이 망가졌는지 파악하고 이전 버전으로 되돌릴 수 있음
      macOS나 Windows에서 업데이트를 되돌리는 건 사실상 제대로 된 기능이 아니며, 전체 재설치 없이는 어렵고 요즘은 예전 버전 설치 미디어가 있는지도 불확실함
    • 나도 이 길을 어느 정도 가고 있음. 중고 M1을 샀고 Asahi Linux만 돌림. 주로 OpenGL/Vulkan과 통합 메모리를 로컬 LLM에 쓰기 위해서임
      아직 오래된 Mac에서 완전히 전환하려고 대체 앱을 찾는 중임
      특히 백업용으로 SuperDuper만큼 훌륭한 도구를 찾고 싶음. 16년 동안 써왔고, 그동안 전체 복구도 몇 번 했음. 믿을 만한 도구를 만들어준 개발자들에게 고마움
      노트북 마이그레이션에도 썼던 것 같은데, 최신 macOS에서는 그런 작업도 더 까다로워졌을 것 같음
      어쨌든 Apple이 이 버그를 곧 고치길 바람. 아니면 언젠가 SuperDuper의 Linux 라이선스를 사는 날을 기대하겠음
    • MacBook Pro나 그에 준하는 품질의 노트북에서 완전한 하드웨어 가속 Linux를 돌릴 수 있는 날을 숨죽여 기다리고 있음
      기술 세계 곳곳을 보면 반경쟁적 관행으로 강요된 나쁜 소프트웨어 때문에, 놀라운 제품이 될 잠재력이 손 닿기 직전에 막혀 있음
      Apple은 지구상에서 가장 부유한 회사임. 제발 “프로” 장치를 전문 작업에 쓸 수 있게 해줬으면 함
      지금 해외에 있는데, 실제로는 AMD 미니 PC에서 이 글을 쓰고 있고 MacBook Pro는 네트워크 기반 마우스·키보드 공유 앱으로 조작하는 보조 모니터로 쓰고 있음
      내가 하는 모든 작업에 MBP를 쓰지 못하도록 소프트웨어로 너프되어 있어서, 휴대성이라는 약속이 크게 훼손됨. 두 번째 컴퓨터를 들고 다녀야 한다는 게 정말 아픔