macOS에서 Linux 바이너리를 실행하는 방법이 있습니까?


16

macOS에서 Linux 바이너리를 실행하는 방법이 있습니까? 바이너리를 실행하려고 시도했지만 실행 파일이 아니라고 말했습니다.


작동하지 않습니다. OSX 커널은 Linux 커널과 약간 다릅니다.
ott--

OS X은 elf 바이너리를 사용하지 않으므로 windows .exe를 실행하는 것과 약간 같습니다. 그러나 간단한 검색 결과는 다음과 같습니다. osxbook.com/software/xbinary 코드를 다시 컴파일 할 수 있으면 문제가되지 않습니다.
오리온

XBinary에는 바이너리 실행 방법을 알고있는 프로그램이 필요합니다. 그 자체로는 아무것도 실행되지 않습니다.
saagarjha

답변:


8

가상화는 선택이지만 다른 답변이 있기 때문에이 답변은 반 정도입니다. 선물해도 될까요 ...

역사

  1. 먼저 1972 년경 유닉스 가있었습니다.
  2. 그런 다음 타임 라인 분할
    • 1977 년에 Bob Fabry와 다른 사람들 은 Berkeley Systems Distribution의 약자 인 BSD의 첫 번째 버전을 컴파일 / 빌드했습니다.
    • 1991 년 Linus Torvalds는 1983 년 GNU를 시작한 Richard Stallman이 사용하는 소프트웨어 에 대한 뉴스 그룹에 게시했으며 Linus의 UNIX가 탄생했습니다.
    • Apple은 Steve Jobs가 1984 년 Apple에서 해고 된 후 1996 년 NeXT 소프트웨어를 다시 인수하고 소프트웨어와 사람들을 사용하여 OS X를 구축했습니다. OS X는 Darwin OS + NeXT 데스크탑 환경입니다. 이제 다윈은 BSD의 비공개 소스 포크이므로 Bullet # 1로 돌아갑니다. 오픈 소스 프로젝트는 PureDarwin을 참조하십시오 . 공식 Apple 개발자 페이지는 Apple Open Source를 참조하십시오 .

우리가 이것을 사용할 수있는 방법

BSD는 전통적으로 패키지 관리를 위해 포트 시스템을 사용합니다. 이것들 중 가장 널리 사용되는 것은 FreeBSD 포트 입니다. 포트는 소스에서 직접 설치된 패키지입니다. 때문에 같은 리눅스 응용 프로그램이 동일한 소스에서 온 그 포트가있는 경우, 당신은 리눅스 응용 프로그램을 실행할 수 있습니다. Mac에서이 포트를 사용하지 마십시오.


애플의 GUI 년대의 모든 때문에 사용하여 작성 WikiEntry - 코코아 API , 엑스 코드와 함께 번들 - 개발자를위한 OS X를 , 포트는이 이용하기 위해 조정할 수 있습니다 :

  1. OS X 버전에 맞는 XCode를 설치하십시오.
  2. XCode에는 번들로 제공되는 Apple의 GCC 컴파일러 버전과 기타 모든 관련 도구가 있습니다. 도구를 업데이트하려면 StackOverflow에서이 게시물을 참조하십시오 . 이 도구는 OS 버전에 따라 다릅니다. 즉, 이전 버전과 호환되지 않습니다. (즉, 10.6에 10.8 용 XCode를 설치하지 마십시오.)
  3. XCode를 설치하면 이제 컴파일러 가 생겼고 MacPorts .pkg 설치 프로그램을 설치 한MacPorts 페이지로 이동하여 필요한 포트를 찾을 수 있습니다

경고

포트 시스템은 포트가 제대로 작성되지 않은 한 반드시 종속성 검사를 수행하지는 않습니다. 나는 가볍게에서이 문제에 감동 elibc_FreeBSD은 젠투 포티지 오버레이에 의미 하는가 무엇?


17

최근 에 macOS에서 Noah 를 사용하여 Linux 바이너리를 실행하기 시작 했습니다. homebrew ( brew install linux-noah/noah/noah)를 사용하여 설치할 수 있습니다 . 그런 다음이 작업을 수행 할 수 있어야합니다.

noah linux_binary

내 경험상 바이너리의 동작은 우분투 컴퓨터에서 보는 것과 일치합니다.


명령이 근무하고 오류가 상승하지 않았다하지만, 내 바이너리는 예상대로 작동하지 않았다
techkuz

2

이것이 일종의 가상화 를 통해 수행 될 수 있다는 것을 내가 아는 유일한 방법 입니다. 예를 들어, 당신은 사용할 수 방랑 오라클의 중 VBOX 또는 VMware의 vmplayer 주위 종류의 래퍼이다. 때때로 수행되는 다른 작업은 이것을 docker 와 같은 컨테이너에 넣는 것입니다 .


2

하드웨어 에뮬레이션

직접 아닙니다! rocky가 말했듯이 CPU 유형과 일치하는 VirtualBox , VMWare Fusion 으로 가상화해야 합니다.

Qemu 도 있으며 Intel 또는 Power 등의 다른 CPU 유형을 가상화합니다.

소프트웨어 에뮬레이션

WiNE 와 같은 프로그램과 자체 에뮬 레이어 프로그램 (WiP)과 같은 소프트웨어 레이어 에뮬레이션도 있습니다.이 두 가지 모두 시스템 호출을 POSIX로 변환하여 Windows OS를 부분적으로 에뮬레이션합니다.

대부분의 Linux 응용 프로그램은 소스 재 컴파일을 사용하여 OSX에서 실행됩니다.


나는 당신을 위해 당신의 링크를 수정했습니다. U & L.SE에 오신 것을 환영합니다.
eyoung100
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.