sistema operativo mismo maquina mac instalar apple linux macos binary emulation

operativo - Emulación de binarios de Linux bajo Mac OS X



mac os linux (5)

Configure una máquina virtual (personalmente uso VMWare Fusion) y luego instale la distribución de Linux que desee en la máquina virtual.

O bien, si tiene la fuente del programa Linux, es probable que pueda recompilarla en una Mac y ejecutarla de forma nativa. Si instala Fink o MacPorts , puede instalar muchos programas de código abierto sin muchos problemas.

¿Cómo ejecuto los binarios de Linux con Mac OS X?

Buscando en Google encontré un par de emuladores pero ninguno para ejecutar binarios de Linux en una Mac. Hay bastantes publicaciones sobre cómo ejecutar Mac OS X en Linux y ese tipo de cosas, pero eso es lo contrario de lo que quiero hacer.

Actualizar:

¡Gracias por todas las respuestas! Soy plenamente consciente de MacPorts y Fink o de cualquiera de las otras cosas; y no, no quiero ninguna de estas utilidades, y no quiero a ninguno de los administradores de paquetes, prefiero compilar las cosas yo mismo. También tengo Parallels y podría configurar máquinas virtuales y todo ese jazz ...

Lo único que quiero hacer es encontrar una forma de ejecutar un código binario para el que no tengo el código fuente y que haya sido compilado para Linux, pero no quiero ejecutarlo bajo Linux, pero bajo Mac OS X. Por lo tanto, mi pregunta sobre emuladores.



Si decide ir a la ruta de virtualización, considere también VirtualBox .

Además, si solo necesita herramientas de línea de comandos de UNIX, existe el proyecto MacPorts . Esto es básicamente como configuré git en mi mac: después de haber instalado MacPorts solo tienes que ejecutar el comando sudo port install git para instalar git en tu sistema.


Bueno, hay un proyecto que presenta algo como binfmt_misc de Linux para OS X, así que ahora lo que necesitas es un cargador ELF, un enlazador dinámico que pueda cargar Mach-O y ELF, y algún mecanismo para traducir llamadas de Linux a OS X.

Solo como inspiración, puede implementar el enlazador dinámico de la manera en que ignora la extensión del nombre de archivo: se pueden cargar tanto libfoo.so.1 (como ELF de Linux) como libfoo.1.dylib (como Mach-O) para que el SO Las versiones X de las bibliotecas del sistema se pueden reutilizar para que no sea necesario escribir una libc.so "alojada en OS X" y las llamadas a los syscalls se pueden manejar mediante un kext que traduce las llamadas de Linux a OS X en kernel.

O, de una manera más elegante, implementar un kernel de Linux simplificado como un kext que hace que el kernel de OS X sea de doble propósito. Sin embargo, eso requerirá que use dos conjuntos de bibliotecas. (Los binarios no entran en conflicto, así que está bastante bien)


Recientemente encontré a Noah , que puede usar para ejecutar binarios de Linux en macOS. Puede instalar Noah a través de homebrew ( brew install linux-noah/noah/noah ). Entonces deberías poder hacer esto:

noah linux_binary

En mi experiencia, el comportamiento del binario coincide con lo que veo en mi máquina Ubuntu.