All Projects → canonical → Multipass

canonical / Multipass

Multipass orchestrates virtual Ubuntu instances

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to Multipass

virtnbdbackup
Backup utiliy for Libvirt / qemu / kvm supporting incremental and differencial backups.
Stars: ✭ 62 (-98.44%)
Mutual labels:  virtual-machine, qemu, libvirt, qemu-kvm
yosild
Yosild is a single shell script that builds a full, minimal Linux distribution based on BusyBox.
Stars: ✭ 97 (-97.56%)
Mutual labels:  virtualbox, libvirt, hyper-v
Dockerpi
A Virtualised Raspberry Pi inside a Docker image
Stars: ✭ 1,064 (-73.25%)
Mutual labels:  virtual-machine, container, qemu
Packer Templates
Scripts and Templates used for generating Vagrant images
Stars: ✭ 219 (-94.49%)
Mutual labels:  virtualbox, qemu, libvirt
Qemu Images
A collection of disk images and virtual machines that can be used by the QEMU emulator
Stars: ✭ 145 (-96.35%)
Mutual labels:  virtual-machine, virtualbox, qemu
Runtime
Kata Containers version 1.x runtime (for version 2.x see https://github.com/kata-containers/kata-containers).
Stars: ✭ 2,103 (-47.13%)
Mutual labels:  virtual-machine, container, qemu
Nixbox
NixOS Vagrant boxes [[email protected]]
Stars: ✭ 189 (-95.25%)
Mutual labels:  virtualbox, qemu, libvirt
js5005
js5005 is a virtual CPU with every logic gate simulated. A pretty interface, a built in assembler, display, and 256 bytes of RAM to boot. It's the better i4004.
Stars: ✭ 14 (-99.65%)
Mutual labels:  virtualbox, virtual-machine, qemu
Awesome Vm Exploit
share some useful archives about vm and qemu escape exploit.
Stars: ✭ 239 (-93.99%)
Mutual labels:  virtual-machine, virtualbox, qemu
Nixops
NixOps is a tool for deploying to NixOS machines in a network or cloud.
Stars: ✭ 838 (-78.93%)
Mutual labels:  cloud, virtualbox, libvirt
ubuntu-vnc-xfce-chromium
Retired. Headless Ubuntu/Xfce container with VNC/noVNC and Chromium (Generation 1)
Stars: ✭ 20 (-99.5%)
Mutual labels:  virtual-machine, container
qemu-windows-10
running a windows 10 guest on a linux host with pci passthrough
Stars: ✭ 66 (-98.34%)
Mutual labels:  qemu, qemu-kvm
ProxmoxVE PHP API
ProxmoxVE PHP API
Stars: ✭ 78 (-98.04%)
Mutual labels:  container, qemu
packer-post-processor-virtualbox-to-hyperv
Packer plugin to create Hyper-V vagrant boxes from VirtualBox artifacts
Stars: ✭ 18 (-99.55%)
Mutual labels:  virtualbox, hyper-v
vm-automation
VirtualBox automation using Python
Stars: ✭ 1 (-99.97%)
Mutual labels:  virtualbox, virtual-machine
ubuntu-vnc-xfce-firefox
Retired. Headless Ubuntu/Xfce containers with VNC/noVNC and Firefox (Generation 1)
Stars: ✭ 20 (-99.5%)
Mutual labels:  virtual-machine, container
packer-kvm
Create VM templates with Packer for usage with Libvirt/KVM virtualization : CentOS 7, CentOS 8, CentOS 8 Stream, Alma Linux, Rocky Linux, Bionic (Ubuntu 1804), Focal (Ubuntu 2004), Debian 11 (stable), Kali Linux, Fedora 33 and Fedora 34.
Stars: ✭ 99 (-97.51%)
Mutual labels:  qemu, qemu-kvm
Lubuntu-VirtualBox
Lubuntu Bionic 18.04.5 Minimal and Full virtual machines. VirtualBox OVA files less than 400 MB and 1GB respectively
Stars: ✭ 25 (-99.37%)
Mutual labels:  virtualbox, virtual-machine
kubash
Kubash - the K8$ shell for your kube clusters
Stars: ✭ 20 (-99.5%)
Mutual labels:  qemu, qemu-kvm
ModSecurityCRS
Implementation of ModSecurity, Core Rule Set (CRS) on Apache server. ModSecurity, sometimes called Modsec, is an open-source web application firewall. ModSecurity was installed and configured on an Ubuntu VM using Virtual Box
Stars: ✭ 24 (-99.4%)
Mutual labels:  virtualbox, virtual-machine

What is Multipass?

Multipass is a lightweight VM manager for Linux, Windows and macOS. It's designed for developers who want a fresh Ubuntu environment with a single command. It uses KVM on Linux, Hyper-V on Windows and HyperKit on macOS to run the VM with minimal overhead. It can also use VirtualBox on Windows and macOS. Multipass will fetch images for you and keep them up to date.

Since it supports metadata for cloud-init, you can simulate a small cloud deployment on your laptop or workstation.

Project Status

Service Status
CI Build Status
Snap Build Status
Codecov Codecov Status

Install Multipass

On Linux it's available as a snap:

sudo snap install multipass

For macOS, you can download the installers from GitHub or use Homebrew:

# Note, this may require you to enter your password for some sudo operations during install
brew install --cask multipass

On Windows, download the installer from GitHub.

Usage

Find available images

$ multipass find
Image                       Aliases           Version          Description
core                        core16            20200213         Ubuntu Core 16
core18                                        20200210         Ubuntu Core 18
16.04                       xenial            20200721         Ubuntu 16.04 LTS
18.04                       bionic,lts        20200717         Ubuntu 18.04 LTS
20.04                       focal             20200720         Ubuntu 20.04 LTS
daily:20.10                 devel,groovy      20200721         Ubuntu 20.10

Launch a fresh instance of the current Ubuntu LTS

$ multipass launch ubuntu
Launching dancing-chipmunk...
Downloading Ubuntu 18.04 LTS..........
Launched: dancing chipmunk

Check out the running instances

$ multipass list
Name                    State             IPv4             Release
dancing-chipmunk        RUNNING           10.125.174.247   Ubuntu 18.04 LTS
live-naiad              RUNNING           10.125.174.243   Ubuntu 18.04 LTS
snapcraft-asciinema     STOPPED           --               Ubuntu Snapcraft builder for Core 18

Learn more about the VM instance you just launched

$ multipass info dancing-chipmunk
Name:           dancing-chipmunk
State:          RUNNING
IPv4:           10.125.174.247
Release:        Ubuntu 18.04.1 LTS
Image hash:     19e9853d8267 (Ubuntu 18.04 LTS)
Load:           0.97 0.30 0.10
Disk usage:     1.1G out of 4.7G
Memory usage:   85.1M out of 985.4M

Connect to a running instance

$ multipass shell dancing-chipmunk
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-42-generic x86_64)

...

Don't forget to logout (or Ctrl-D) or you may find yourself heading all the way down the Inception levels... ;)

Run commands inside an instance from outside

$ multipass exec dancing-chipmunk -- lsb_release -a
No LSB modules are available.
Distributor ID:  Ubuntu
Description:     Ubuntu 18.04.1 LTS
Release:         18.04
Codename:        bionic

Stop an instance to save resources

$ multipass stop dancing-chipmunk

Delete the instance

$ multipass delete dancing-chipmunk

It will now show up as deleted:

Name                    State             IPv4             Release
snapcraft-asciinema     STOPPED           --               Ubuntu Snapcraft builder for Core 18
dancing-chipmunk        DELETED           --               Not Available

And when you want to completely get rid of it:

$ multipass purge

Get help


multipass help
multipass help <command>

Get involved!

Here's a set of steps to build and run your own build of Multipass:

Build Dependencies

cd <multipass>
apt install devscripts equivs
mk-build-deps -s sudo -i

Building

cd <multipass>
git submodule update --init --recursive
mkdir build
cd build
cmake ../
make

Running Multipass daemon and client

First, install multipass's runtime dependencies. On amd64 architecture, you can achieve that with:

sudo apt update
sudo apt install libgl1 libpng16-16 libqt5core5a libqt5gui5 \
    libqt5network5 libqt5widgets5 libxml2 libvirt0 dnsmasq-base \
    dnsmasq-utils qemu-system-x86 qemu-utils libslang2 iproute2 \
    iptables iputils-ping libatm1 libxtables12 xterm

Then run multipass's daemon:

sudo <multipass>/build/bin/multipassd &

Copy the desktop file multipass clients expect to find in your home:

mkdir -p ~/.local/share/multipass/
cp <multipass>/data/multipass.gui.autostart.desktop ~/.local/share/multipass/

Optionally, enable auto-complete in bash:

source <multipass>/completions/bash/multipass

Finally, use multipass's clients:

<multipass>/build/bin/multipass launch --name foo  # CLI client
<multipass>/build/bin/multipass.gui                # GUI client

More information

See the Multipass documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].