Apakah ada cara untuk menjalankan binari Linux di macOS?

16

Apakah ada cara untuk menjalankan binari Linux di macOS? Saya mencoba menjalankan biner tetapi dikatakan tidak dapat dieksekusi.

Saeid
sumber
Ini tidak akan berfungsi. Kernel OSX agak berbeda dari kernel Linux.
ott--
Yah OS X tidak menggunakan binari elf, jadi ini seperti mencoba menjalankan windows .exe. Namun, pencarian singkat menemukan ini: osxbook.com/software/xbinary Jika Anda dapat mengkompilasi ulang kode Anda, itu bukan masalah.
orion
XBinary membutuhkan program yang tahu cara menjalankan biner Anda; itu dengan sendirinya tidak menjalankan apa pun.
saagarjha

Jawaban:

8

Jawaban ini setengah benar, karena virtualisasi adalah pilihan tetapi ada yang lain. Bolehkah saya menyajikan ...

Sejarah

  1. Pertama ada UNIX, sekitar tahun 1972
  2. Kemudian Timeline Split
    • Pada tahun 1977, seharga $ 90, Bob Fabry dan yang lainnya , menyusun / membangun versi pertama BSD, kependekan dari Berkeley Systems Distribution.
    • Pada tahun 1991, Linus Torvalds memposting di Newsgroup , tentang perangkat lunak yang ia gunakan dari Richard Stallman, yang memulai GNU pada tahun 1983, dan Linus'es UNIX lahir.
    • Apple memperoleh kembali NeXT Software pada tahun 1996, setelah Steve Jobs dipecat dari Apple pada tahun 1984, dan menggunakan perangkat lunak dan orang-orang di sana untuk membangun OS X. OS X adalah OS Darwin + Lingkungan Desktop NeXT. Dan sekarang kita kembali ke Bullet # 1, karena Darwin adalah garpu sumber tertutup BSD. Untuk Proyek Open Source, lihat PureDarwin . Untuk Halaman Pengembang Apple Resmi, lihat Apple Open Source .

Bagaimana Kita Dapat Menggunakan Ini

BSD secara tradisional menggunakan sistem Ports untuk Manajemen Paket. Port yang paling banyak digunakan adalah Port FreeBSD . Port adalah paket yang diinstal langsung dari sumber. Karena aplikasi Linux yang sama berasal dari sumber yang sama , Anda dapat menjalankan aplikasi Linux jika portnya ada. Jangan gunakan Ports ini pada Mac karena ...


Karena semua GUI Apple ditulis menggunakan Cocoa API - WikiEntry , yang dibundel dengan XCode - OS X untuk Pengembang , Ports dapat disetel untuk memanfaatkan ini:

  1. Instal XCode untuk versi OS X Anda.
  2. Dibundel di dalam XCode adalah versi Apple dari GCC Compiler, dan semua alat terkait lainnya. Untuk memperbarui alat, lihat posting ini di StackOverflow . Alat-alat ini tergantung pada Versi OS, yaitu mereka tidak kompatibel ke belakang , sepengetahuan saya (singkatnya, jangan menginstal XCode untuk 10.8 pada 10.6, dll.)
  3. Setelah menginstal XCode, Anda sekarang memiliki kompiler, dan dapat menuju ke halaman MacPorts dan mencari port yang perlu Anda instal, setelah menginstal MacPorts .pkg installer

Peringatan

Sistem port tidak harus melakukan pengecekan dependensi, kecuali port tersebut ditulis dengan baik. Saya sedikit menyentuh masalah pada apa yang di maksud elibc_FreeBSD pada overlay gentoo portage?

eyoung100
sumber
17

Saya baru-baru ini mulai menggunakan Nuh untuk menjalankan binari Linux di macOS. Anda dapat menginstal menggunakan homebrew ( brew install linux-noah/noah/noah). Maka Anda harus dapat melakukan ini:

noah linux_binary

Dalam pengalaman saya, perilaku biner cocok dengan apa yang saya lihat di mesin Ubuntu saya.

snd
sumber
meskipun perintahnya berhasil dan tidak ada kesalahan yang muncul, binari saya tidak berfungsi seperti yang diharapkan
techkuz
2

Satu-satunya cara saya tahu bahwa ini dapat dilakukan melalui semacam virtualisasi . Misalnya, Anda bisa menggunakan gelandangan yang merupakan semacam bungkus di sekitar VBox Oracle atau vmplayer VMware. Hal lain yang kadang dilakukan adalah memasukkannya ke dalam wadah seperti buruh pelabuhan .

berbatu
sumber
2

Emulasi Perangkat Keras

Tidak secara langsung! Ya seperti kata rocky, Anda harus melakukan virtualisasi dengan VirtualBox , VMWare Fusion , yang akan cocok dengan tipe CPU Anda.

Ada juga Qemu , yang akan memvirtualkan berbagai jenis CPU, misalnya Intel atau Power, dll.

Emulasi Perangkat Lunak

Ada juga emulasi lapisan perangkat lunak, dengan program-program seperti WiNE , dan program emulayer saya sendiri (WiP) Keduanya meniru sebagian OS Windows dengan mengubah panggilan sistem ke POSIX.

Sebagian besar aplikasi Linux akan berjalan pada OSX dengan kompilasi ulang sumber.

bobbyjo
sumber
Saya memperbaiki tautan Anda untuk Anda. Selamat datang di U & L.SE.
eyoung100