Чи є спосіб запустити бінарний Linux на macOS?


16

Чи є спосіб запустити бінарний Linux в macOS? Я спробував запустити бінарний файл, але він сказав, що він не виконується.


Це не вийде. Ядро OSX дещо відрізняється від ядра Linux.
ott--

Добре OS X не використовує бінарні файли ельфів, тому це трохи схоже на спробу запуску windows .exe. Однак короткий пошук виявляє це: osxbook.com/software/xbinary Якщо ви можете перекомпілювати свій код, це не проблема.
Оріон

XBinary вимагає програми, яка вміє запускати свій бінарний файл; воно саме по собі нічого не запускає.
saagarjha

Відповіді:


9

Ці відповіді наполовину правильні, адже віртуалізація - це вибір, але є й інший. Чи можу я представити ...

Історія

  1. Спочатку був UNIX, близько 1972 року
  2. Потім Часова шкала
    • У 1977 році, за $ 90, Боб Фабрі та інші склали / побудували перші версії BSD, короткі для Berkeley Systems Distribution.
    • У 1991 році Лінус Торвальдс розмістив інформацію в групі новин про програмне забезпечення, яке він використовував у Річарда Сталлмана, який розпочав роботу з GNU у 1983 році, і Linus'es UNIX народився.
    • Apple знову придбала програмне забезпечення NeXT в 1996 році, після того, як Стіва Джобса було звільнено з Apple у 1984 р., І використовувало програмне забезпечення та людей, які існували там, для створення ОС X. OS X - це Darwin OS + NeXT Desktop Environment. А тепер ми повернулися до кулі №1, оскільки Дарвін - це закрите джерело BSD. Проект з відкритим кодом див. У статті PureDarwin . Офіційну сторінку розробника Apple див. У відкритому коді Apple .

Як ми можемо це використати

BSD традиційно використовує систему «Порти» для управління пакетами. Найпоширенішими з них є порти FreeBSD . Порти - це пакунки, встановлені безпосередньо з джерела. Оскільки ті самі програми Linux надходять з одних і тих же джерел , ви можете запустити програму Linux, якщо її порт існує. Не використовуйте ці порти на Mac, тому що ...


Оскільки всі графічні інтерфейси Apple написані за допомогою API какао - WikiEntry , в комплекті з XCode - OS X для розробників , порти можна налаштувати, щоб скористатися цим:

  1. Встановіть XCode для вашої версії ОС X.
  2. У комплекті XCode є версія Gpi-компілятора GCC та всі інші пов'язані з цим інструменти. Щоб оновити інструменти, перегляньте цю публікацію в StackOverflow . Інструменти залежать від версії ОС, тобто, наскільки я не сумісний із зворотним бажанням (коротше кажучи, не встановлюйте XCode для 10,8 на 10,6 тощо)
  3. Встановивши XCode, тепер у вас є компілятор, і ви можете перейти на сторінку MacPorts і переглядати потрібний порт після встановлення MacPorts .pkg.

Caveat

Система портів не обов'язково перевіряє залежність, якщо тільки порт не був добре написаний. Я злегка торкнувся проблеми, що означає elibc_FreeBSD у накладках gentoo portage?


18

Нещодавно я почав використовувати Ноа для запуску бінарних файлів Linux у macOS. Ви можете встановити за допомогою homebrew ( brew install linux-noah/noah/noah). Тоді ви повинні зробити це:

noah linux_binary

З мого досвіду поведінка бінарних даних відповідає тому, що я бачу на своїй машині Ubuntu.


хоч команда працювала і помилок не виникало, мої бінарні файли не працювали так, як очікувалося
techkuz

2

Єдиний спосіб я знаю, що це можна зробити за допомогою якоїсь віртуалізації . Наприклад, ви можете використовувати vagrant, який є обгорткою різновидів навколо VBox Oracle або vmplayer VMware. Інша річ, яку іноді роблять, - це помістити це в тару, як докер .


2

Емуляція обладнання

Не безпосередньо! Так, як сказали скалі, вам доведеться віртуалізувати це за допомогою VirtualBox , VMWare Fusion , який буде відповідати вашому типу процесора.

Є також Qemu , який буде віртуалізувати різні типи процесорів, наприклад Intel або Power тощо.

Емуляція програмного забезпечення

Існує також емуляція програмного рівня з такими програмами, як WiNE , і моя власна програма емулятора (WiP). Вони обидва частково емулюють ОС Windows шляхом перетворення системних викликів у POSIX.

Більшість додатків Linux буде працювати на OSX з перекомпіляцією джерела.


Я виправив ваші посилання. Ласкаво просимо в U & L.SE.
eyoung100
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.