Home > Multipass
Slide 1 / 20
📦

Multipass

Ubuntu VMs Made Simple

1 Week - Complete Guide

Launch Ubuntu VMs on Windows, macOS, dan Linux dengan satu command

Overview

Tujuan Pembelajaran

Kenapa Multipass?

Minggu 1

Apa itu Multipass?

Multipass adalah tool dari Canonical untuk membuat Ubuntu VMs secara cepat dan mudah. Cukup satu command, VM Ubuntu sudah siap.

Dikembangkan Oleh

Use Cases

Minggu 1 - Install

Install Multipass di Linux

Ubuntu

# Install via snap (recommended)
sudo snap install multipass

# Atau via apt
sudo apt update
sudo apt install multipass

Fedora

sudo dnf install multipass

Arch Linux

sudo yay -S multipass
Linux: Multipass butuh KVM/libvirt atau VirtualBox sebagai hypervisor.
Minggu 1 - Install

Install Multipass di Windows

Cara 1: Installer (.exe)

  1. Download dari: multipass.run
  2. Jalankan installer
  3. Follow wizard → Install

Cara 2: Chocolatey

choco install multipass

Cara 3: Winget

winget install Canonical.Multipass
Windows: Multipass otomatis install Hyper-V atau VirtualBox sebagai hypervisor.
Minggu 1 - Install

Install Multipass di macOS

Cara 1: Homebrew

# Install Homebrew jika belum ada
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install Multipass
brew install --cask multipass

Cara 2: DMG Installer

  1. Download dari: multipass.run
  2. Buka .dmg file
  3. Drag Multipass ke Applications
macOS: Multipass menggunakan HyperKit (Apple Hypervisor) atau VirtualBox.
Minggu 1

Perintah Dasar Multipass

Cek Status

# Cek versi
multipass --version

# Cek status service
multipass info

# List semua VM
multipass list

Launch VM

# Launch VM dengan default specs
multipass launch

# Launch specific Ubuntu version
multipass launch 22.04
multipass launch 20.04
multipass launch 24.04

# Launch dengan custom specs
multipass launch -c 2 -m 4G -d 20G 22.04
Minggu 1

Mengelola VM

Start, Stop, Delete

# Start VM
multipass start my-vm

# Stop VM
multipass stop my-vm

# Delete VM
multipass delete my-vm

# Purge (hapus permanen yang sudah di-delete)
multipass purge

# Restart VM
multipass restart my-vm

Info & Shell

# Info VM
multipass info my-vm

# Shell ke VM
multipass shell my-vm

# Mount local folder
multipass mount ~/projects my-vm:/home/ubuntu/projects
Minggu 1

Resource Configuration

Saat Launch

# -c = CPU cores
# -m = Memory
# -d = Disk size

multipass launch -c 4 -m 8G -d 50G 22.04

Ubah specs VM yang sudah ada

# Set CPU
multipass set my-vm.cpus=4

# Set Memory
multipass set my-vm.memory=8G

# Set Disk
multipass set my-vm.disk=50G

Default Specs

ResourceDefault
CPU1 core
Memory1GB
Disk5GB
Minggu 1

Nama VM & Aliases

Nama VM

# Launch dengan nama custom
multipass launch --name web-server 22.04
multipass launch --name db-server 22.04

# Setiap VM dapat di-start/stop independently

Aliases (Shortcut Commands)

# Buat alias
multipass alias web-server:web

# Menggunakan alias
multipass shell web    # equivalent to: multipass shell web-server

# Hapus alias
multipass unalias web
Aliases memudahkan akses ke VM yang sering digunakan.
Minggu 1

Mounting Folder

Mount Local ke VM

# Mount folder
multipass mount ~/projects my-vm:/home/ubuntu/projects

# Mount dengan read-only
multipass mount -r ~/docs my-vm:/home/ubuntu/docs

# List mounts
multipass list my-vm

# Unmount
multipass umount my-vm:/home/ubuntu/projects

Use Cases

Mount otomatis di-recreate saat VM restart.
Minggu 1

Networking

Network Modes

ModeDescription
defaultBridged networking via dnsmasq
bridgedLangsung di network host
manualStatic IP configuration

Commands

# List networks
multipass networks

# Launch dengan bridged network
multipass launch --network name=br0 22.04

# Set network mode
multipass set my-vm.network.mode=bridged
Minggu 2

Cloud-init

cloud-init adalah standar industri untuk inisialisasi instance cloud. Multipass mendukung cloud-init untuk automate VM setup.

Contoh cloud-config.yaml

#cloud-config
users:
  - name: ubuntu
    primary_group: ubuntu
    sudo: ALL=(ALL) NOPASSWD:ALL
    ssh_authorized_keys:
      - ssh-rsa AAAAB3... your-key

packages:
  - docker.io
  - git
  - curl

runcmd:
  - sudo systemctl start docker
  - sudo usermod -aG docker ubuntu
Minggu 2

Menggunakan Cloud-init

Launch dengan Cloud-init

# Launch VM dengan cloud-init config
multipass launch -c 2 -m 2G 22.04 \
  --name dev-vm \
  --cloud-init cloud-config.yaml

Cek Logs

# View cloud-init logs di VM
multipass exec dev-vm -- cat /var/log/cloud-init.log

# View user data
multipass exec dev-vm -- cat /var/lib/cloud/seed/user-data.cur

Use Cases

Minggu 2

Transfer Files

Copy dari Host ke VM

# Copy file
multipass transfer my-file.txt my-vm:/home/ubuntu/

# Copy directory
multipass transfer -r ./my-folder my-vm:/home/ubuntu/

Copy dari VM ke Host

# Copy file dari VM
multipass transfer my-vm:/home/ubuntu/result.txt ./

# Copy directory
multipass transfer -r my-vm:/home/ubuntu/data ./
Transfer menggunakan scp internally.
Minggu 2

Execute Commands

Run Command tanpa Shell

# Jalankan single command
multipass exec my-vm -- uname -a
multipass exec my-vm -- ls -la
multipass exec my-vm -- df -h

Run sebagai User tertentu

# Run sebagai root
multipass exec my-vm -- sudo apt update

# Run sebagai user tertentu
multipass exec my-vm -- su - ubuntu -c "echo hello"

Use Cases

Minggu 2

Ubuntu Images

Available Images

# List available images
multipass find

# Output contoh:
# ubuntu                   # Latest LTS
# 22.04                    # Ubuntu 22.04 LTS
# 20.04                    # Ubuntu 20.04 LTS
# 24.04                    # Ubuntu 24.04 LTS
# docker                   # Ubuntu with Docker
# minikube                 # Ubuntu with Minikube

Daily Build

# Launch daily build
multipass launch daily:24.04

Snapshots

Multipass automatically updates images. Gunakan multipass get local.image untuk cek versi.
Troubleshooting

Troubleshooting

Common Issues

IssueSolution
VM tidak startmultipass restart my-vm
Hypervisor errorInstall VirtualBox atau enable Hyper-V
Disk penuhmultipass delete + purge
Permission deniedJalankan sebagai admin

Debug Mode

# Enable debug logging
multipass set local.verbosity=debug

# View logs
multipass list -v

# Restart daemon
sudo systemctl restart multipass
Best Practices

Tips & Tricks

Productivity Tips

# Tab completion (bash/zsh)
source /snap/multipass/current/completion.bash

# Export VM
multipass export my-vm my-vm.img

# Import VM
multipass import my-vm.img

🎉 Selesai!

Next Steps

1. Install Multipass di komputer Anda

2. Coba: multipass launch → multipass shell

3. Eksperimen dengan cloud-init

4. Build development environment

Kuis: Multipass

Apa itu Multipass?

Command apa untuk buat VM dengan Multipass?

Berapa default CPU untuk Multipass VM?