Cela ne fonctionnera pas. Le noyau OSX est quelque peu différent d'un noyau Linux.
ott--
Eh bien OS X n'utilise pas les binaires elf, c'est donc un peu comme essayer d'exécuter Windows .exe. Cependant, une brève recherche trouve ceci: osxbook.com/software/xbinary Si vous pouvez recompiler votre code, ce n'est pas un problème.
orion
XBinary nécessite un programme qui sait exécuter votre binaire; en soi, il ne fait rien.
saagarjha
Réponses:
8
Ces réponses sont à moitié correctes, car la virtualisation est un choix mais il y en a un autre. Puis-je présenter ...
Apple a racheté NeXT Software en 1996, après que Steve Jobs a été licencié d'Apple en 1984, et a utilisé le logiciel et les gens là-bas pour construire OS X. OS X est le Darwin OS + NeXT Desktop Environment. Et maintenant, nous sommes de retour à la puce # 1, car Darwin est un fork source fermé de BSD. Pour le projet Open Source, voir PureDarwin . Pour la page officielle des développeurs Apple, consultez Apple Open Source .
Comment pouvons-nous utiliser cela
BSD utilise traditionnellement le système de ports pour la gestion des packages. Les plus utilisés sont les ports FreeBSD . Les ports sont des packages installés directement à partir de la source. Étant donné que les mêmes applications Linux proviennent des mêmes sources , vous pouvez exécuter une application Linux si son port existe. N'utilisez pas ces ports sur un Mac car ...
La version Apple du compilateur GCC et de tous les autres outils associés est intégrée à XCode. Pour mettre à jour les outils, consultez cet article sur StackOverflow . Les outils dépendent de la version du système d'exploitation, c'est-à-dire qu'ils ne sont pas rétrocompatibles , à ma connaissance (en bref, n'installez pas XCode pour 10.8 sur 10.6, etc.)
J'ai récemment commencé à utiliser Noah pour exécuter des binaires Linux sous macOS. Vous pouvez installer en utilisant homebrew ( brew install linux-noah/noah/noah). Vous devriez alors pouvoir faire ceci:
noah linux_binary
D'après mon expérience, le comportement du binaire correspond à ce que je vois sur ma machine Ubuntu.
bien que la commande ait fonctionné et qu'aucune erreur n'ait augmenté, mes binaires n'ont pas fonctionné comme prévu
techkuz
2
La seule façon dont je sais que cela peut se faire via une sorte de virtualisation . Par exemple, vous pouvez utiliser vagrant qui est une sorte de wrapper autour de la VBox d'Oracle ou du vmplayer de VMware. L'autre chose qui est parfois faite est de mettre cela dans un conteneur tel que docker .
Pas directement! Oui, comme l'a dit Rocky, vous devez le virtualiser avec VirtualBox , VMWare Fusion , qui correspondra à votre type de processeur.
Il y a aussi Qemu , qui virtualisera différents types de CPU, par exemple Intel ou Power, etc.
Émulation logicielle
Il existe également une émulation de couche logicielle, avec des programmes comme WiNE , et mon propre programme d'émulateur (WiP). Ces deux émulent partiellement le système d'exploitation Windows en convertissant les appels système en POSIX.
La plupart des applications Linux fonctionneront sur OSX avec une recompilation source.
Réponses:
Ces réponses sont à moitié correctes, car la virtualisation est un choix mais il y en a un autre. Puis-je présenter ...
Histoire
Comment pouvons-nous utiliser cela
BSD utilise traditionnellement le système de ports pour la gestion des packages. Les plus utilisés sont les ports FreeBSD . Les ports sont des packages installés directement à partir de la source. Étant donné que les mêmes applications Linux proviennent des mêmes sources , vous pouvez exécuter une application Linux si son port existe. N'utilisez pas ces ports sur un Mac car ...
Étant donné que toutes les interfaces graphiques d'Apple sont écrites à l'aide de l' API Cocoa - WikiEntry , fournie avec XCode - OS X pour les développeurs , les ports peuvent être réglés pour tirer parti de ceci:
Caveat
Le système de ports ne fait pas nécessairement de vérification des dépendances, sauf si le port a été bien écrit. J'ai légèrement abordé le problème dans ce que signifie elibc_FreeBSD dans les superpositions de portage gentoo?
la source
J'ai récemment commencé à utiliser Noah pour exécuter des binaires Linux sous macOS. Vous pouvez installer en utilisant homebrew (
brew install linux-noah/noah/noah
). Vous devriez alors pouvoir faire ceci:D'après mon expérience, le comportement du binaire correspond à ce que je vois sur ma machine Ubuntu.
la source
La seule façon dont je sais que cela peut se faire via une sorte de virtualisation . Par exemple, vous pouvez utiliser vagrant qui est une sorte de wrapper autour de la VBox d'Oracle ou du vmplayer de VMware. L'autre chose qui est parfois faite est de mettre cela dans un conteneur tel que docker .
la source
Émulation matérielle
Pas directement! Oui, comme l'a dit Rocky, vous devez le virtualiser avec VirtualBox , VMWare Fusion , qui correspondra à votre type de processeur.
Il y a aussi Qemu , qui virtualisera différents types de CPU, par exemple Intel ou Power, etc.
Émulation logicielle
Il existe également une émulation de couche logicielle, avec des programmes comme WiNE , et mon propre programme d'émulateur (WiP). Ces deux émulent partiellement le système d'exploitation Windows en convertissant les appels système en POSIX.
La plupart des applications Linux fonctionneront sur OSX avec une recompilation source.
la source