it-swarm.com.de

Gibt es eine Möglichkeit, eine Linux-Binärdatei unter macOS auszuführen?

Gibt es eine Möglichkeit, eine Linux-Binärdatei unter macOS auszuführen? Ich habe versucht, eine Binärdatei auszuführen, aber es wurde angegeben, dass sie nicht ausführbar ist.

19
Saeid

Diese Antworten sind zur Hälfte richtig, da Virtualisierung eine Wahl ist, aber es gibt eine andere. Darf ich präsentieren ...

Geschichte

  1. Zuerst gab es UNIX, circa 1972
  2. Dann wird die Zeitleiste aufgeteilt
    • 1977 kompilierte/baute Bob Fabry und andere für 90 US-Dollar die ersten Versionen von BSD, kurz für Berkeley Systems Distribution.
    • 1991 veröffentlichte Linus Torvalds in einer Newsgroup über Software, die er von Richard Stallman verwendete, der 1983 GNU startete, und Linus 'UNIX wurde geboren.
    • Apple hat NeXT Software 1996 wiedererlangt, nachdem Steve Jobs 1984 von Apple entlassen wurde und die Software und die Leute dort zum Erstellen von OS X verwendet hat. OS X ist das Darwin OS + die NeXT Desktop-Umgebung. Und jetzt sind wir wieder bei Bullet # 1, da Darwin eine Closed-Source-Gabel von BSD ist. Für das Open Source-Projekt siehe PureDarwin . Die offizielle Entwicklerseite Apple finden Sie unter Apple Open Source .

Wie wir das nutzen können

BSDs verwenden traditionell das Ports-System für die Paketverwaltung. Am weitesten verbreitet sind die FreeBSD Ports . Ports sind Pakete, die direkt von der Quelle installiert werden. Da dieselben Linux-Anwendungen aus denselben Quellen stammen , können Sie eine Linux-Anwendung ausführen, wenn ihr Port vorhanden ist. Verwenden Sie diese Ports nicht auf einem Mac, weil ...


Da alle GUI von Apple mit der Cocoa API - WikiEntry , zusammen mit XCode - OS X für Entwickler geschrieben wurden, können die Ports so optimiert werden, dass sie die Vorteile nutzen diese:

  1. Installieren Sie XCode für Ihre Version von OS X.
  2. In XCode sind Apples Version des GCC-Compilers und alle anderen zugehörigen Tools enthalten. Informationen zum Aktualisieren der Tools finden Sie unter dieser Beitrag zu StackOverflow . Die Tools sind von der Betriebssystemversion abhängig, dh sie sind meines Wissens nicht abwärtskompatibel (kurz gesagt, installieren Sie XCode für 10.8 nicht auf 10.6 usw. .)
  3. Nachdem Sie XCode installiert haben, haben Sie jetzt einen Compiler und können auf die Seite MacPorts gehen und nach Installation des MacPorts .pkg-Installationsprogramms!) Nach dem Port suchen, den Sie installieren müssen

Vorbehalt

Das Ports-System führt nicht unbedingt eine Abhängigkeitsprüfung durch, es sei denn, der Port wurde gut geschrieben. Ich habe das Problem in was bedeutet elibc_FreeBSD in Gentoo-Portage-Overlays ? leicht angesprochen

10
eyoung100

Ich habe vor kurzem angefangen, Noah zu verwenden, um Linux-Binärdateien in macOS auszuführen. Sie können mit Homebrew installieren (brew install linux-noah/noah/noah). Dann sollten Sie dazu in der Lage sein:

noah linux_binary

Nach meiner Erfahrung entspricht das Verhalten der Binärdatei dem, was ich auf meinem Ubuntu-Computer sehe.

18
snd

Nur so weiß ich, dass dies über eine Art Virtualisierung erfolgen kann. Zum Beispiel könnten Sie vagrant verwenden, eine Art Wrapper um die VBox von Oracle oder den VMplayer von VMware. Das andere, was manchmal gemacht wird, ist, dies in einen Container wie Docker zu legen.

2
rocky

Hardware-Emulation

Nicht direkt! Ja, wie Rocky sagte, müssen Sie es mit VirtualBox , VMWare Fusion virtualisieren, was Ihrem CPU-Typ entspricht.

Es gibt auch Qem , das verschiedene CPU-Typen virtualisiert, d. H. Intel oder Power usw.

Software-Emulation

Es gibt auch eine Software-Layer-Emulation mit Programmen wie WiNE und meinem eigenen Emulayer-Programm (WiP). Beide emulieren teilweise das Windows-Betriebssystem, indem sie die Systemaufrufe in POSIX konvertieren.

Die meisten Linux-Anwendungen werden unter OSX mit einer Neukompilierung der Quelle ausgeführt.

2
bobbyjo