Bash on Ubuntu on macOS
C C++ Shell Objective-C Ruby Perl
Clone or download
nyuichi Merge pull request #75 from kazumi007/fix-exec
Fix crash when directory is specified in elf path
Latest commit 528d716 May 16, 2018


Noah is a Darwin subsystem for Linux, or "Bash on Ubuntu on Mac OS X". Noah is implemented as a hypervisor that traps linux system calls and translates them into Darwin's system calls. Noah also has an interpreter of ELF files so that binary executables of Linux run directly and flawlessly without any modifications.

Quick Start

Noah is installed via homebrew or macports. On the first run, noah automatically downloads and installs a comprehensive linux environment in your home directory (by default, ubuntu 16.04 is installed in ~/.noah/tree). macOS Sierra or higher is required.


$ brew install linux-noah/noah/noah
$ noah


First, install a local portfile (see the macports guide).

$ mkdir -p ${LOCAL_MACPORTS_ROOT}/emulators/noah
$ cp Portfile ${LOCAL_MACPORTS_ROOT}/emulators/noah
$ (cd ${LOCAL_MACPORTS_ROOT}; portindex)
$ sudo port install noah
$ noah




Dual MITL/GPL, for all files without explicit notaiton.