2009-12-23 7 views
21

Jak uruchomić pliki binarne dla systemu Linux w systemie Mac OS X?Emulowanie plików binarnych dla systemu Linux w systemie Mac OS X

Googling Znalazłem kilka emulatorów, ale żaden nie do uruchamiania binarek Linux na Macu. Istnieje sporo postów dotyczących uruchamiania Mac OS X na Linuksie i tego typu rzeczy - ale jest to przeciwieństwo tego, co chcę zrobić.

Aktualizacja:

Dziękuję za wszystkie odpowiedzi! W pełni zdaję sobie sprawę z MacPorts i Fink lub jakiejkolwiek innej rzeczy; i nie, nie chcę żadnego z tych narzędzi, i nie chcę żadnego menedżera pakietów, wolę kompilować rzeczy samodzielnie. Mam również paralele i mogę skonfigurować maszyny wirtualne i cały ten jazz ...

Jedyne, co chcę zrobić, to znaleźć sposób na uruchomienie pliku binarnego, dla którego nie mam kodu źródłowego i został skompilowany dla Linuksa, ale nie chcę go uruchamiać pod Linuksem, ale pod Mac OS X. Dlatego moje pytanie dotyczące emulatorów.

+2

Jeśli tylko chcesz uruchomić oprogramowanie ze świata * nix/POSIX, prawdopodobnie zostanie ono skompilowane pod warunkiem, że nie będzie zależało od bibliotek specyficznych dla systemu operacyjnego. Fink lub MacPorts mogą w tym trochę pomóc. – Matt

+0

Nie mogę wymyślić żadnego oprogramowania, które jest dostępne dla Linuksa, ale nie dla Maca (niestety, ponieważ jestem facetem z Linuksa). Dlaczego tego szukasz? – Davide

+0

Serwer dedykowany Team Fortress 2 to przykład systemu Windows i Linux: -/ – Tommy

Odpowiedz

7

Skonfiguruj maszynę wirtualną (osobiście używam VMWare Fusion), a następnie zainstaluj dowolną dystrybucję Linuksa, której pragniesz na maszynie wirtualnej.

Jeśli masz źródło do programu dla systemu Linux, istnieje możliwość przekompilowania go na komputerze Mac i uruchomienia go natywnie. Jeśli zainstalujesz Fink lub MacPorts, możesz zainstalować wiele programów open source bez większych problemów.

+0

Dodałem linki do Fink i DarwinPorts, ponieważ są one zwykle łatwiejsze niż pobieranie źródła i próbowanie go skompilować, zdając sobie sprawę, że najpierw trzeba zainstalować coś innego, pobrać i próbować skompilować, itp. Itd. –

+0

Fajnie. Właściwie to teraz jest MacPorts. ;) – mipadi

2

Jeśli zdecydujesz się na trasę wirtualizacji, rozważ także VirtualBox.

Ponadto, jeśli potrzebujesz tylko narzędzi UNIX takich jak wiersze poleceń, istnieje projekt MacPorts. Zasadniczo konfiguruję na moim komputerze: git: po zainstalowaniu MacPorta wystarczy uruchomić polecenie sudo port install git, aby zainstalować git w systemie.

3

Można mieć trochę szczęścia z systemem plików wykonywalnych systemu Linux w systemie Mac OS X za pomocą qemu za User Space Emulator

7

Dobrze jest projekt wprowadzenia coś binfmt_misc Linuksa na OS X, tak teraz to, czego potrzebujesz to ładowarka Elf, dynamiczny linker który może załadować zarówno Mach-O, jak i ELF, oraz pewien mechanizm do tłumaczenia wywołań Linuksa na OS X.

Tylko dla inspiracji można zaimplementować dynamiczny linker w taki sposób, że ignoruje rozszerzenie nazwy pliku - zarówno libfoo.so.1 (jako Linux ELF), jak i libfoo.1.dylib (jako Mach-O) może być ładowane tak, aby wersje systemu OS X mogły zostać ponownie wykorzystane, tak abyś nie musiał pisać "hostowanej na OS X" biblioteki libc.so, a syscalls może być obsługiwane przez kext, który tłumaczy wywołania Linuxa na OS X w jądrze.

Albo, w bardziej elegancki sposób, zaimplementowane jądro systemu operacyjnego w postaci jądra, które powoduje, że jądro OS X ma podwójny cel. Będzie to jednak wymagało użycia dwóch zestawów bibliotek. (Pliki binarne nie kolidują, więc jest w zasadzie w porządku)

+1

Czy masz link do tego? –

1

Niedawno znalazłem Noah, którego można używać do uruchamiania plików binarnych Linux na MacOS. Możesz zainstalować Noah przez homebrew (brew install linux-noah/noah/noah). Następnie powinieneś być w stanie to zrobić:

noah linux_binary 

w moim doświadczeniu zachowanie binarny pasuje to, co widzę na moim komputerze Ubuntu.

Powiązane problemy