최근 개발자 커뮤니티에 흥미로운 프로젝트 하나가 등장했습니다. '카케하시(Kakehashi)'라는 이름의 이 도구는 리눅스(Linux) ARM64 환경에서 macOS ARM64 바이너리를 실행할 수 있도록 돕는 실험적인 유저스페이스(userspace) 번역 레이어입니다. JIT(Just-In-Time) 컴파일러 없이 macOS용 Mach-O 실행 파일을 리눅스 aarch64 시스템에서 직접 로드하고, BSD 시스템 호출(syscall)을 리눅스 환경에 맞춰 번역하여 구동하는 방식입니다.
카케하시는 독자적인 `libSystem` 라이브러리를 내장하고 있으며, 이를 통해 macOS 바이너리가 필요로 하는 핵심 시스템 기능을 제공합니다. 현재 7-Zip(7zz)과 curl 같은 명령줄 도구들이 성공적으로 실행되는 것이 확인되었습니다. 특히 7-Zip의 멀티스레드 압축 기능과 curl의 HTTP/HTTPS 요청 처리 등이 리눅스 환경에서 원활하게 작동합니다. 이는 도커(Docker), 콜리마(Colima), UTM 등 다양한 리눅스 aarch64 환경에서 검증되었으며, macOS 바이너리를 설치하고 실행하는 간단한 명령줄 인터페이스를 제공합니다.
이 프로젝트는 macOS 애플리케이션을 리눅스 ARM 서버나 개발 환경에서 직접 테스트하고 활용할 수 있는 잠재력을 보여줍니다. 특히 애플 실리콘(Apple Silicon) 기반의 macOS 앱 개발자들이 리눅스 기반의 CI/CD 파이프라인이나 클라우드 환경에서 macOS 전용 도구를 활용할 수 있는 길을 열어줄 수 있습니다. 아직은 초기 단계로, 전체 macOS 기능이나 GUI 애플리케이션 지원은 아니지만, 핵심 유틸리티와 개발 도구의 크로스 플랫폼 호환성 확보에 중요한 발걸음이 될 수 있습니다.