Apple이 수년간 외면해 온 Mac 추출 문제
Mac 사용자들은 PowerPC 시절부터 모호한 추출 오류 메시지에 불만을 토로해 왔습니다. Apple은 한 번도 고치지 않았습니다. 이 답답한 문제의 역사를 살펴봅니다.
Mac에서 외장 드라이브를 추출하려고 하면 가끔 이런 메시지가 나옵니다. “하나 이상의 프로그램이 사용 중일 수 있어 디스크가 추출되지 않았습니다.”
하나 이상의 프로그램이. 사용 중일 수 있어서. “사용 중"이 아니라. 어떤 프로그램인지도 아니라. 그저 무언가가, 어딘가에서, 파일을 열어 두고 있을지도 모른다는 모호한 추궁뿐입니다.
이 오류 메시지는 15년 넘게 사실상 같은 형태로 존재해 왔습니다. Mac 사용자들은 적어도 Snow Leopard 시절부터 Apple 지원 포럼에서 해결을 요청해 왔습니다. 불만은 모든 macOS 버전에 걸쳐 이어집니다. Mountain Lion, Mavericks, Catalina, Monterey, Ventura, Sonoma, Sequoia. 메시지는 결코 바뀌지 않습니다. Apple은 결코 고치지 않습니다.
문제는 명백합니다
디스크를 추출할 수 없을 때 필요한 정보는 두 가지입니다. 무엇이 막고 있는지, 그리고 그 프로세스를 어떻게 멈추는지. macOS는 둘 다 주지 않습니다.
운영 체제는 어떤 프로세스가 드라이브의 파일을 열어 두었는지 정확히 알고 있습니다. 추출을 허용할지 판단하는 방식이 바로 그것이니, 알 수밖에 없습니다. 하지만 이 정보를 공유하는 대신, macOS는 텍스트 형태의 어깨를 으쓱하는 이모지를 줍니다.
이를 주어진 경로의 파일을 열어 둔 모든 프로세스를 나열하는 터미널 명령 lsof와 비교해 보세요. 정보는 존재합니다. 접근 가능합니다. Apple은 그저 그것을 오류 대화상자에 넣지 않기로 한 것입니다.
사용자들이 실제로 하는 일
이 쓸모없는 오류 메시지에 직면한 Mac 사용자들은 포럼 게시물과 블로그 댓글을 통해 전해 내려오는 우회법의 민간전승을 발전시켜 왔습니다.
낙관적인 사람들은 기다렸다가 다시 시도하며, 그 알 수 없는 프로세스가 스스로 끝나기를 바랍니다. 때로는 통합니다. 자주 안 됩니다.
기술에 밝은 사람들은 터미널을 열고 lsof /Volumes/DriveName을 실행한 뒤, 출력을 분석해 범인을 찾습니다. 이는 그 명령이 존재함을 알고, 출력을 읽는 법을 이해하고, 프로세스를 죽이는 데 익숙해야 가능합니다.
성급한 사람들은 강제 추출하고 잘되기를 바랍니다. 때로는 괜찮습니다. 때로는 데이터가 손상됩니다. 무엇이 실제로 드라이브를 사용 중인지 모르면 위험을 가늠할 길이 없습니다.
답답한 사람들은 그냥 Mac을 재시동합니다. 이건 확실히 통하지만, 드라이브를 뽑는 데 컴퓨터를 다시 켜야 한다는 것은 터무니없습니다.
Apple은 왜 이것을 고치지 않았을까?
확실한 것은 Apple만 알지만, 몇 가지 추측이 있습니다.
오류 대화상자를 바꿔야 할 텐데, Apple은 역사적으로 사용자용 메시지에 복잡성을 더하는 것을 피해 왔습니다. 하지만 “Safari가 이 디스크를 사용 중입니다"는 “하나 이상의 프로그램이 사용 중일 수 있습니다"보다 더 복잡하지 않습니다. 더 유용합니다.
막는 프로세스 목록이 예외적인 경우에는 길거나 혼란스러울 수 있습니다. 사실이지만, 가장 유력한 범인을 보여 주는 것이 아무것도 보여 주지 않는 것보다 한없이 낫습니다. 그리고 예외적인 경우를 위한 “세부 정보 보기” 버튼은 표준적인 관행입니다.
대부분의 사용자는 이 문제를 큰 소리로 불평할 만큼 자주 겪지 않습니다. 그럴지도 모르지만, Apple 지원 커뮤니티와 MacRumors 포럼에는 수년 전으로 거슬러 올라가는 스레드가 가득합니다. 이 문제는 잘 기록되어 있습니다.
진짜 답은 아마도 우선순위일 것입니다. Apple의 엔지니어링 자원은 한정되어 있고, 이 문제는 짜증스럽긴 해도 사람들이 Mac을 쓰는 것을 막지는 않습니다. 그저 몇 주마다 화면을 향해 욕설을 중얼거리게 만들 뿐입니다.
문제는 더 심해지고 있습니다
외장 저장소가 더 흔해지면서(빠른 USB-C SSD, 동영상 편집용 휴대용 드라이브, Time Machine용 백업 드라이브) 사용자들은 이 오류를 더 자주 마주합니다.
macOS도 외장 드라이브에 접근하는 백그라운드 프로세스를 더 많이 실행하고 있습니다. Spotlight 색인, Time Machine 감시, iCloud 동기화, 다양한 데몬 프로세스 말입니다. 잠재적인 방해 요소의 수는 늘었는데, 오류 메시지는 여전히 똑같이 모호합니다.
구형 Mac에서 옮겨 온 사용자들은 이 문제가 Apple Silicon 기기에서 더 자주 나타난다고 보고합니다. 이것이 소프트웨어 변화인지 그저 인식인지는 분명하지 않지만, M1 전환 이후로 불만이 거세졌습니다.
서드파티 솔루션이 존재합니다
서드파티 개발자들이 이 문제를 중심으로 통째로 앱을 만들었다는 사실 자체가 무언가를 말해 줍니다.
What’s Keeping Me는 어떤 프로세스가 드라이브를 막는지 보여 주던 인기 유틸리티였습니다. 수년 전에 방치되어 이제 최신 macOS에서 작동하지 않지만, 그 존재는 이 기능에 대한 수요가 있었음을 증명했습니다.
다양한 메뉴 막대 유틸리티와 스크립트가 그 빈틈을 메우려 등장했습니다. 어떤 것은 드라이브를 모니터링해 추출 문제가 생기기 전에 경고합니다. 다른 것은 터미널 명령을 입력하지 않아도 되도록 lsof 작업 흐름을 자동화합니다.
이 도구들은 존재할 필요가 없어야 합니다. 이들이 제공하는 기능은 Apple이 노출하지 않기로 한 기본적인 운영 체제 기능입니다.
해결책은 어떤 모습일까
최소한의 실용적 해결책은 단순합니다. 오류 대화상자를 어떤 프로세스가 추출을 막는지 말하도록 바꾸는 것입니다. “Spotlight가 색인 중이어서 디스크를 추출할 수 없습니다"는 무슨 일이 벌어지는지 정확히 알려 줍니다. 색인이 끝나기를 기다리거나, Spotlight를 종료하거나, 위험을 알면서 강제 추출하기로 결정할 수 있습니다.
더 나은 해결책은 막는 프로세스를 대화상자에서 바로 종료하는 옵션을 더하는 것입니다. “Safari가 이 디스크의 파일을 열어 두고 있습니다. [Safari 종료 후 추출] [취소]“는 활성 상태 보기를 뒤질 필요 없이 클릭 한 번으로 문제를 해결합니다.
이상적인 해결책은 선제적일 것입니다. 외장 드라이브에 저장하지 않은 변경 사항이 있을 때, 또는 백그라운드 프로세스가 활발히 사용 중일 때 사용자에게 경고하는 것입니다. 추출을 시도해 답답해지기 전에 사람들에게 알려 주는 것입니다.
이 중 어느 것도 기술적으로 어렵지 않습니다. 가장 어려운 부분은 아마 그 변화를 만들기로 하는 제품 결정 자체일 것입니다.
지금으로서는
Apple이 언젠가 이것을 고칠지도 모릅니다. 별이 정렬되면 오래된 골칫거리를 해결해 온 전력이 있으니까요. 그때까지 우회법은 그대로입니다. 터미널 명령, 활성 상태 보기 탐정 작업, 또는 그 탐정 작업을 대신해 주는 Ejecta 같은 도구 말입니다.
드라이브를 뽑는 일이 이렇게 어려워서는 안 됩니다. 하지만 그렇고, 수년간 그래 왔으며, Apple은 신경 쓰지 않는 것 같습니다.
매번 터미널을 쓰고 싶지 않다면, Ejecta가 어떤 프로세스가 드라이브를 막고 있는지 정확히 보여주고 메뉴 막대에서 클릭 한 번으로 종료할 수 있게 해줍니다.
지금 구입 — $9.99