npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

linux

v4.2.1

Published

run linux on mac os

Downloads

363

Readme

linux

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)

WARNING

  • hyperkit is a very new project, expect bugs! You must be running OS X 10.10.3 Yosemite or later and 2010 or later Mac for this to work.
  • if you happen to be running any version of VirtualBox prior to 4.3.30 or 5.0 then hyperkit will crash your system either if VirtualBox is running or had been run previously after the last reboot (see xhyve's issues #5 and #9 for the full context). So, if you are unable to update VirtualBox to version 4.3.30 or 5, or later, and were using it in your current session please do restart your Mac before attempting to run xhyve.
  • (these warnings were borrowed from coreos-xhyve)

js-standard-style Build Status dat

installation

npm install linux -g

usage

Quickstart:

  1. Run linux init in a folder where you want to store your linux runtime config
  2. Run sudo linux boot to start the local linux server daemon
  3. Run linux ssh to log in to the server daemon over ssh
  4. Run linux 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

example

# 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

special thanks