beta software! proceed with caution
Download, install and run Linux on OS X in less than 60 seconds!
npm installs hypercore linux and runs it as a daemon using the new Mac OS Yosemite hypervisor (via hyperkit).
See this youtube video for a demonstration with a cool soundtrack.
This module is a low level component that is part of HyperOS, made by the team working on the Dat data version control tool. We are working on integrating the other HyperOS components to support advanced functionality like running containers, sharing filesystems etc.
Mac OS Yosemite only for now, Windows support coming later through Hyper-V integration (see this issue if you wanna help)
npm install linux -g
Quickstart:
linux init
in a folder where you want to store your linux runtime configsudo linux boot
to start the local linux server daemonlinux ssh
to log in to the server daemon over sshlinux halt
to stop the server daemon when you're done$ linux
Usage: linux <command> [args...]
Commands:
init creates a new ./linux folder in this directory to hold config
boot boots up linux from config in ./linux
status checks if linux is running or not
ssh sshes into linux and attaches the session to your terminal
run runs a single command over ssh
halt runs halt in linux, initiating a graceful shutdown
kill immediately ungracefully kills the linux process with SIGKILL
pid get the pid of the linux process
ps print all linux processes running on this machine
# initialize a linux folder to hold state
$ linux init
Created new config folder at /Users/max/test/linux
# starts a linux daemon
$ sudo linux boot
Linux has booted { ip: '192.168.64.127',
hostname: 'simon-mittens-snuggles-toby',
pid: 20665 }
# ssh login
$ linux ssh
Warning: Permanently added '192.168.64.127' (ECDSA) to the list of known hosts.
__ __ __
/ \__/ \__/ \__ Welcome to HyperOS Linux!
\__/ \__/ \__/ \
\__/ \__/ \__/
tc@simon-mittens-snuggles-toby:~$ pwd
/root
tc@simon-mittens-snuggles-toby:~$ exit
Connection to 192.168.64.127 closed.
# run a single command over ssh
$ linux run hostname
simon-mittens-snuggles-toby
$ linux status
Linux is running { pid: 20665 }
# gracefully shutdown
$ linux halt
$ linux status
Linux is not running