Czy istnieje sposób na uruchomienie pliku binarnego systemu Linux na macOS?

16

Czy istnieje sposób na uruchomienie binarnego systemu Linux w systemie macOS? Próbowałem uruchomić plik binarny, ale powiedział, że nie jest wykonywalny.

Saeid
źródło
To nie zadziała. Jądro OSX różni się nieco od jądra Linux.
ott--
Cóż, OS X nie używa plików binarnych elfów, więc to trochę jak próba uruchomienia Windowsa .exe. Jednak krótkie wyszukiwanie stwierdza: osxbook.com/software/xbinary Jeśli możesz ponownie skompilować kod, nie stanowi to problemu.
Orion
XBinary wymaga programu, który umie uruchomić Twój plik binarny; samo w sobie nic nie uruchamia.
saagarjha

Odpowiedzi:

9

Te odpowiedzi są w połowie poprawne, ponieważ wirtualizacja jest wyborem, ale jest jeszcze jedna. Czy mogę przedstawić ...

Historia

  1. Najpierw był UNIX, około 1972 r
  2. Następnie podział osi czasu
    • W 1977 r. Za 90 USD Bob Fabry i inni opracowali / zbudowali pierwsze wersje BSD, skrót od Berkeley Systems Distribution.
    • W 1991 roku Linus Torvalds opublikował w grupie dyskusyjnej informacje na temat oprogramowania, którego używał od Richarda Stallmana, który założył GNU w 1983 roku, i narodził się Linus'es UNIX.
    • Firma Apple ponownie nabyła oprogramowanie NeXT w 1996 r., Po tym jak Steve Jobs został zwolniony z firmy Apple w 1984 r., I wykorzystał oprogramowanie i ludzi, aby zbudować system OS X. OS X to system operacyjny Darwin OS + środowisko graficzne NeXT. A teraz wracamy do Bullet # 1, ponieważ Darwin to rozwidlenie BSD o zamkniętym źródle. Projekt Open Source znajduje się w PureDarwin . Aby uzyskać oficjalną stronę programistów Apple, zobacz Apple Open Source .

Jak możemy to wykorzystać

BSD tradycyjnie używają systemu portów do zarządzania pakietami. Najczęściej stosowanymi z nich są porty FreeBSD . Porty to pakiety instalowane bezpośrednio ze źródła. Ponieważ te same aplikacje systemu Linux pochodzą z tych samych źródeł , można uruchomić aplikację systemu Linux, jeśli jej port istnieje. Nie używaj tych portów na komputerze Mac, ponieważ ...


Ponieważ wszystkie GUI Apple'a są napisane przy użyciu API Cocoa - WikiEntry , w pakiecie z XCode - OS X dla programistów , porty można dostroić, aby skorzystać z tego:

  1. Zainstaluj XCode dla swojej wersji OS X.
  2. W skład XCode wchodzi kompilator GCC firmy Apple oraz wszystkie inne powiązane narzędzia. Aby zaktualizować narzędzia, zobacz ten post na StackOverflow . Narzędzia są zależne od wersji systemu operacyjnego, tj. Nie są one kompatybilne wstecz , o ile mi wiadomo (w skrócie, nie instaluj XCode dla 10.8 na 10.6 itp.)
  3. Po zainstalowaniu XCode masz teraz kompilator i możesz przejść do strony MacPorts i poszukać zainstalowanego portu MacPorts .pkg

Zastrzeżenie

System portów niekoniecznie wykonuje sprawdzanie zależności, chyba że port był dobrze napisany. Lekko dotknąłem problemu, co oznacza elibc_FreeBSD w nakładkach portage gentoo?

eyoung100
źródło
18

Niedawno zacząłem używać Noah do uruchamiania plików binarnych systemu Linux w systemie macOS. Możesz zainstalować za pomocą homebrew ( brew install linux-noah/noah/noah). Powinieneś być w stanie to zrobić:

noah linux_binary

Z mojego doświadczenia wynika, że ​​zachowanie pliku binarnego pasuje do tego, co widzę na moim komputerze Ubuntu.

snd
źródło
chociaż komenda pracował i nie powstanie żadne błędy, moi binarne nie działa zgodnie z oczekiwaniami
techkuz
2

Jedyny sposób, w jaki wiem, że można tego dokonać za pomocą wirtualizacji . Na przykład możesz użyć włóczęgi, która jest swego rodzaju opakowaniem wokół VBox Oracle lub vmplayer VMware. Inną rzeczą, którą czasami się robi, jest umieszczenie tego w pojemniku, takim jak doker .

skalisty
źródło
2

Emulacja sprzętu

Nie bezpośrednio! Tak, jak powiedział Rocky, musisz zwirtualizować go za pomocą VirtualBox , VMWare Fusion , który będzie pasował do twojego typu procesora.

Istnieje również Qemu , który zwirtualizuje różne typy procesorów, np. Intel lub Power itp.

Emulacja oprogramowania

Istnieje również emulacja warstwy oprogramowania, z programami takimi jak WiNE i moim własnym programem emulayer (WiP) Oba z nich częściowo emulują system operacyjny Windows poprzez konwersję wywołań systemowych na POSIX.

Większość aplikacji Linux będzie działać na OSX z rekompilacją źródłową.

bobbyjo
źródło
Naprawiłem twoje linki dla ciebie. Witamy w U & L.SE.
eyoung100