Esto no funcionará. El kernel OSX es algo diferente de un kernel de Linux.
ott--
Bueno, OS X no usa binarios elfos, por lo que es un poco como tratar de ejecutar Windows .exe. Sin embargo, una breve búsqueda encuentra esto: osxbook.com/software/xbinary Si puede volver a compilar su código, no es un problema.
orion
XBinary requiere un programa que sepa cómo ejecutar su binario; en sí mismo no ejecuta nada.
saagarjha
Respuestas:
8
Estas respuestas son medio correctas, porque la virtualización es una opción, pero hay otra. ¿Puedo presentar ...
Apple volvió a adquirir el software NeXT en 1996, después de que Steve Jobs fuera despedido de Apple en 1984, y utilizó el software y las personas allí para construir OS X. OS X es el Darwin OS + el entorno de escritorio NeXT. Y ahora volvemos a Bullet # 1, ya que Darwin es una bifurcación de código cerrado de BSD. Para el proyecto de código abierto, vea PureDarwin . Para la página oficial del desarrollador de Apple, consulte Apple Open Source .
Cómo podemos usar esto
Los BSD utilizan tradicionalmente el sistema de puertos para la gestión de paquetes. Los más utilizados son los puertos de FreeBSD . Los puertos son paquetes instalados directamente desde la fuente. Dado que las mismas aplicaciones de Linux provienen de las mismas fuentes , puede ejecutar una aplicación de Linux si su puerto existe. No use estos puertos en una Mac porque ...
Incluido dentro de XCode está la versión de Apple del compilador GCC, y todas las otras herramientas asociadas. Para actualizar las herramientas, vea esta publicación en StackOverflow . Las herramientas dependen de la versión del sistema operativo, es decir, no son compatibles con versiones anteriores , que yo sepa (en resumen, no instale XCode para 10.8 en 10.6, etc.)
Recientemente comencé a usar Noah para ejecutar binarios de Linux en macOS. Puede instalar usando 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.
aunque el comando funcionó y no hay errores hizo suben, mis binarios no funcionaron como se esperaba
techkuz
2
La única forma en que sé que esto se puede hacer a través de algún tipo de virtualización . Por ejemplo, podría usar vagrant, que es una especie de envoltorio alrededor de VBox de Oracle o vmplayer de VMware. La otra cosa que a veces se hace es poner esto en un contenedor como docker .
¡No directamente! Sí, como dijo Rocky, debe virtualizarlo con VirtualBox , VMWare Fusion , que coincidirá con su tipo de CPU.
También está Qemu , que virtualizará diferentes tipos de CPU, es decir, Intel o Power, etc.
Emulación de software
También hay emulación de capa de software, con programas como WiNE y mi propio programa emulayer (WiP). Ambos emulan parcialmente el sistema operativo Windows al convertir las llamadas del sistema a POSIX.
La mayoría de las aplicaciones de Linux se ejecutarán en OSX con una fuente de recompilación.
Respuestas:
Estas respuestas son medio correctas, porque la virtualización es una opción, pero hay otra. ¿Puedo presentar ...
Historia
Cómo podemos usar esto
Los BSD utilizan tradicionalmente el sistema de puertos para la gestión de paquetes. Los más utilizados son los puertos de FreeBSD . Los puertos son paquetes instalados directamente desde la fuente. Dado que las mismas aplicaciones de Linux provienen de las mismas fuentes , puede ejecutar una aplicación de Linux si su puerto existe. No use estos puertos en una Mac porque ...
Dado que todas las GUI de Apple están escritas usando la API Cocoa - WikiEntry , incluida con XCode - OS X para desarrolladores , los puertos se pueden ajustar para aprovechar esto:
Consideración
El sistema de puertos no necesariamente verifica la dependencia, a menos que el puerto esté bien escrito. Toqué ligeramente el problema de ¿qué significa elibc_FreeBSD en las superposiciones de porte de gentoo?
fuente
Recientemente comencé a usar Noah para ejecutar binarios de Linux en macOS. Puede instalar usando homebrew (
brew install linux-noah/noah/noah
). Entonces deberías poder hacer esto:En mi experiencia, el comportamiento del binario coincide con lo que veo en mi máquina Ubuntu.
fuente
La única forma en que sé que esto se puede hacer a través de algún tipo de virtualización . Por ejemplo, podría usar vagrant, que es una especie de envoltorio alrededor de VBox de Oracle o vmplayer de VMware. La otra cosa que a veces se hace es poner esto en un contenedor como docker .
fuente
Emulación de hardware
¡No directamente! Sí, como dijo Rocky, debe virtualizarlo con VirtualBox , VMWare Fusion , que coincidirá con su tipo de CPU.
También está Qemu , que virtualizará diferentes tipos de CPU, es decir, Intel o Power, etc.
Emulación de software
También hay emulación de capa de software, con programas como WiNE y mi propio programa emulayer (WiP). Ambos emulan parcialmente el sistema operativo Windows al convertir las llamadas del sistema a POSIX.
La mayoría de las aplicaciones de Linux se ejecutarán en OSX con una fuente de recompilación.
fuente