Có cách nào để chạy nhị phân Linux trên macOS không?


16

Có cách nào để chạy nhị phân Linux trong macOS không? Tôi đã cố chạy nhị phân nhưng nó nói nó không thực thi được.


Điều này sẽ không hoạt động. Nhân OSX hơi khác so với nhân Linux.
ott--

Chà, OS X không sử dụng nhị phân elf, nên hơi giống với việc chạy windows .exe. Tuy nhiên, một tìm kiếm ngắn gọn tìm thấy điều này: osxbook.com/software/xbinary Nếu bạn có thể biên dịch lại mã của mình, đó không phải là vấn đề.
orion

XBinary yêu cầu một chương trình biết cách chạy nhị phân của bạn; Nó không chạy bất cứ thứ gì.
saagarjha

Câu trả lời:


8

Những câu trả lời này đúng một nửa, bởi vì ảo hóa là một lựa chọn nhưng có một lựa chọn khác. Tôi có thể trình bày ...

Lịch sử

  1. Đầu tiên là UNIX, khoảng năm 1972
  2. Sau đó phân chia dòng thời gian
    • Vào năm 1977, với giá 90 đô la, Bob Fabry và những người khác , đã biên soạn / xây dựng các phiên bản đầu tiên của BSD, viết tắt của Berkeley Systems Distribution.
    • Năm 1991, Linus Torvalds đăng trên Newsgroup , về phần mềm anh sử dụng từ Richard Stallman, người bắt đầu GNU năm 1983, và Linus'es UNIX ra đời.
    • Apple đã lấy lại phần mềm NeXT vào năm 1996, sau khi Steve Jobs bị đuổi khỏi Apple năm 1984, và sử dụng phần mềm và con người ở đó để xây dựng OS X. OS X là Darwin OS + Môi trường máy tính để bàn NeXT. Và bây giờ chúng tôi trở lại Bullet # 1, vì Darwin là một ngã ba nguồn đóng của BSD. Đối với Dự án mã nguồn mở, xem PureDarwin . Đối với Trang Nhà phát triển chính thức của Apple, hãy xem Nguồn mở của Apple .

Làm thế nào chúng ta có thể sử dụng này

Theo truyền thống, BSD sử dụng hệ thống Cổng để quản lý gói. Được sử dụng rộng rãi nhất trong số này là Cổng FreeBSD . Cổng là các gói được cài đặt trực tiếp từ nguồn. Vì các ứng dụng Linux giống nhau đến từ cùng một nguồn , bạn có thể chạy ứng dụng Linux nếu cổng của nó tồn tại. Đừng sử dụng các Cổng này trên máy Mac vì ...


Vì tất cả GUI của Apple được viết bằng API API - WikiEntry , đi kèm với XCode - OS X dành cho Nhà phát triển , các Cổng có thể được điều chỉnh để tận dụng lợi thế này:

  1. Cài đặt XCode cho phiên bản OS X của bạn.
  2. Được gói bên trong XCode là phiên bản Trình biên dịch GCC của Apple và tất cả các công cụ liên quan khác. Để cập nhật các công cụ, hãy xem bài đăng này trên StackOverflow . Các công cụ phụ thuộc vào Phiên bản HĐH, tức là chúng không tương thích ngược , theo hiểu biết của tôi (tóm lại, không cài đặt XCode cho 10.8 ngày 10.6, v.v.)
  3. Sau khi cài đặt XCode, giờ bạn đã có trình biên dịch và có thể truy cập trang MacPorts và duyệt tìm cổng bạn cần cài đặt, sau khi cài đặt trình cài đặt MacPorts .pkg

Hãy cẩn thận

Hệ thống cổng không nhất thiết phải kiểm tra phụ thuộc, trừ khi cổng được viết tốt. Tôi chạm nhẹ vào vấn đề trong elibc_FreeBSD có nghĩa là gì trong lớp phủ portoo gentoo?


17

Gần đây tôi bắt đầu sử dụng Noah để chạy các tệp nhị phân Linux trong macOS. Bạn có thể cài đặt bằng homebrew ( brew install linux-noah/noah/noah). Sau đó, bạn sẽ có thể làm điều này:

noah linux_binary

Theo kinh nghiệm của tôi, hành vi của nhị phân khớp với những gì tôi thấy trên máy Ubuntu của mình.


mặc dù lệnh đã hoạt động và không có lỗi nào tăng lên, các nhị phân của tôi không hoạt động như mong đợi
techkuz

2

Cách duy nhất tôi biết rằng điều này có thể được thực hiện thông qua một số loại ảo hóa . Ví dụ: bạn có thể sử dụng vagrant là trình bao bọc các loại xung quanh VBox hoặc vmplayer của VMware. Một điều khác đôi khi được thực hiện là đặt nó trong một thùng chứa như docker .


2

Thi đua phần cứng

Không trực tiếp! Đúng như rocky đã nói, bạn phải ảo hóa nó bằng VirtualBox , VMWare Fusion , sẽ phù hợp với loại CPU của bạn.

Ngoài ra còn có Qemu , sẽ ảo hóa các loại CPU khác nhau, ví dụ như Intel hoặc Power, v.v.

Thi đua phần mềm

Ngoài ra còn có phần mềm mô phỏng, với các chương trình như WiNE và chương trình trình giả lập của riêng tôi (WiP) Cả hai phần mềm này mô phỏng một phần HĐH Windows bằng cách chuyển đổi các cuộc gọi hệ thống sang POSIX.

Hầu hết các ứng dụng Linux sẽ chạy trên OSX với một biên dịch lại nguồn.


Tôi đã sửa các liên kết của bạn cho bạn. Chào mừng bạn đến với U & L.SE.
Eyoung100
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.