The Living Thing / Notebooks :

Virtual machines for curmudgeons

On pretending you have hardware using software

Instant Virtualbox

How to get a Virtualbox virtual machine running with the minimum of dicking around on osx.


This is from a year ago. I hope things have improved since then.

For the sake of argument, let’s assume Ubuntu/Debian/Mint or one of those other dpkg distributions.

OK, we download Virtualbox. Ubuntu server is more-or-less a good default option, I suppose, try that.

Set up all the following things.

  1. Ubuntu as VM guest.

  2. Virtualbox extensions.

  3. Virtualbox USB.

    What? Didn’t work for you? ‘Course not. There are details.

    1. remote usb

    2. usb not working

    3. Virtualbox extensions need extra installation because why would you want things to just work by default? Your favourite thing to do is dick around with yak shaving right?

    4. Shared folders should now work.

    5. Wait what? Integration is STILL flakey? You still need to install the Guest additions, you duffer:

      sudo apt-get install dkms

      Didn’t work, eh? Maybe you don’t have the right sources in your package manager:

      sudo bash
      echo "deb wily contrib" >> /etc/apt/sources.list.d/oracle.list # http doesn't work because oracle were too poor to spring for the right cert
      wget -q -O- |  apt-key add -
      apt-get update
      apt-get install dkms

      Virtual box also ships with a virtual CD image with the right installers on, hidden in a submenu somewhere, which saves bandwidth.

You can skip some of these steps if you are happy to trust a complete stranger to build your OS for you; osboxes hosts some prebuilt machines of suspect pedigree.


Don’t really know what vagrant is

If you are a developer, Vagrant will isolate dependencies and their configuration within a single disposable, consistent environment, without sacrificing any of the tools you are used to working with (editors, browsers, debuggers, etc.). Once you or someone else creates a single Vagrantfile, you just need to vagrant up and everything is installed and configured for you to work. Other members of your team create their development environments from the same configuration, so whether you are working on Linux, Mac OS X, or Windows, all your team members are running code in the same environment, against the same dependencies, all configured the same way


Want and OS that uses modern hardwre virtualisation to run apps separately to improve your privacy?

Qubes, the VM-based OS, does that. Very tinfoil-hat and CPU wasting, but if you are going to insist on doing high-security things, probably worthwhile.

Containerized apps

Many of these. For practical purposes, people usually mean docker when they say this.

See containerized apps.