MacOS üzerinde bir Linux ikili çalıştırmanın bir yolu var mı?


16

MacOS'ta bir Linux ikili çalıştırmanın bir yolu var mı? Bir ikili çalıştırmayı denedim ama çalıştırılabilir olmadığını söyledi.


Bu işe yaramayacak. OSX çekirdeği bir Linux çekirdeğinden biraz farklıdır.
ott--

OS X, elf ikili dosyalarını kullanmaz, bu yüzden windows .exe'yi çalıştırmaya çalışmak gibidir. Ancak, kısa bir arama bunu bulur: osxbook.com/software/xbinary Kodunuzu yeniden derleyebiliyorsanız , bu bir sorun değildir.
orion

XBinary ikili çalıştırmayı bilen bir program gerektirir; kendi içinde hiçbir şey yapmaz.
saagarjha

Yanıtlar:


9

Bu cevaplar yarı doğrudur, çünkü sanallaştırma bir seçimdir, ancak başka bir şey vardır. Sunabilir miyim ...

Tarih

  1. İlk olarak 1972 dolaylarında UNIX vardı
  2. Sonra Zaman Çizelgesi Böl
    • 1977'de 90 $ karşılığında Bob Fabry ve diğerleri , Berkeley Systems Distribution'ın kısaltması olan BSD'nin ilk sürümlerini derledi / oluşturdu.
    • 1991'de Linus Torvalds , 1983'te GNU'yu başlatan Richard Stallman'dan kullandığı yazılım hakkında bir Newsgroup'ta yayınladı ve Linus'un UNIX'i doğdu.
    • Apple, Steve Jobs 1984'te Apple'dan kovulduktan sonra 1996 yılında NeXT Yazılımını yeniden satın aldı ve oradaki yazılım ve insanları OS X oluşturmak için kullandı. OS X, Darwin OS + NeXT Masaüstü Ortamıdır. Ve şimdi, Madde 1 BSD'nin kapalı kaynaklı bir çatalı olduğu için Bullet # 1'e geri döndük. Açık Kaynak Projesi için PureDarwin'e bakınız . Resmi Apple Geliştirici Sayfası için bkz. Apple Açık Kaynak .

Bunu Nasıl Kullanabiliriz

BSD'ler geleneksel olarak Paket Yönetimi için Ports sistemini kullanıyor. Bunların en yaygın kullanılanı FreeBSD Portlarıdır . Bağlantı noktaları doğrudan kaynaktan kurulan paketlerdir. Yana aynı Linux uygulamaları aynı kaynaktan gelir limanı varsa bunu Linux uygulamasını çalıştırabilir. Bu Bağlantı Noktalarını Mac'te kullanmayın çünkü ...


Apple'ın tüm GUI'leri , Geliştiriciler için XCode - OS X ile birlikte verilen Cocoa API - WikiEntry kullanılarak yazıldığından , Bağlantı Noktaları bundan yararlanmak üzere ayarlanabilir:

  1. OS X sürümünüz için XCode'u yükleyin.
  2. XCode'un içinde Apple'ın GCC Derleyici sürümü ve diğer tüm ilişkili araçlar bulunur. Araçları güncellemek için StackOverflow'daki bu gönderiye bakın . Araçlar işletim sistemi sürümüne bağlıdır, yani bilgimle geriye dönük uyumlu değildirler (kısaca, 10.6 için 10.8 için XCode'u yüklemeyin, vb.)
  3. XCode'u yükledikten sonra bir derleyiciniz var ve MacPorts .pkg yükleyicisini yükledikten sonra MacPorts sayfasına gidip yüklemeniz gereken bağlantı noktasına göz atabilirsiniz.

Uyarı

Bağlantı noktası iyi yazılmadığı sürece bağlantı noktası sisteminin bağımlılık denetimi yapması gerekmez. Ben elibc_FreeBSD gentoo portage bindirmeleri ne anlama geliyor sorununa hafifçe dokundu ?


18

Son zamanlarda macOS'ta Linux ikili dosyaları çalıştırmak için Noah kullanmaya başladım . Homebrew ( brew install linux-noah/noah/noah) kullanarak kurabilirsiniz . O zaman bunu yapabilmelisiniz:

noah linux_binary

Benim tecrübelerime göre ikili programın davranışları Ubuntu makinemde gördüklerime uyuyor.


komut çalıştı ve hiçbir hata
oluşmasa da

2

Bunun bir çeşit sanallaştırma yoluyla yapılabileceğini bilmemin tek yolu . Örneğin, kullanabilirsiniz serseri Oracle'ın Vbox veya VMware'in vmplayer etrafında bir çeşit sarıcı olan. Bazen yapılan diğer şey, bunu liman işçiliği gibi bir kaba koymaktır .


2

Donanım Öykünmesi

Dolaylı! Evet, rocky'nin dediği gibi, CPU türünüze uyan VirtualBox , VMWare Fusion ile sanallaştırmanız gerekiyor .

Intel veya Power gibi farklı CPU türlerini sanallaştıracak Qemu da var .

Yazılım Öykünmesi

WiNE gibi programlar ve kendi emulayer programım (WiP) ile birlikte yazılım katmanı emülasyonu da var . Bunların her ikisi de sistem çağrılarını POSIX'e dönüştürerek Windows işletim sistemini kısmen taklit ediyor.

Çoğu Linux uygulaması, kaynak yeniden derleme ile OSX üzerinde çalışır.


Bağlantılarını senin için düzelttim. U & L.SE'ye hoş geldiniz.
eyoung100
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.