Karta cheatów do zarządzania wirtualnymi maszynami Multipass: przewodnik po Ubuntu, Windows i macOS
Zainstalowanie i konfiguracja wieloprzejściowa oraz podstawowe polecenia
Multipass to lekki menedżer maszyn wirtualnych, który ułatwia tworzenie i zarządzanie instancjami chmurowymi Ubuntu na systemach Linux, Windows i macOS.
Nie ważne, czy jesteś programistą potrzebującym izolowanych środowisk, inżynierem DevOps testującym konfiguracje, czy kimś, kto uczy się Linuxa – Multipass oferuje prosty interfejs wiersza poleceń do szybkiego uruchamiania maszyn wirtualnych Ubuntu.
Co to jest Multipass?
Multipass to oficjalne narzędzie Canonical do tworzenia i zarządzania wirtualnymi maszynami Ubuntu. Jest zaprojektowany tak, aby być prostym, szybkim i wieloplatformowym, co czyni go świetnym wyborem dla programistów potrzebujących spójnych środowisk Ubuntu na różnych systemach operacyjnych.
Główne funkcje
- Wieloplatformowy: działa na Linuxie, Windowsie i macOS
- Lekki: niewielki narzut zasobów w porównaniu do tradycyjnych maszyn wirtualnych
- Wsparcie dla cloud-init: konfiguracja maszyn wirtualnych za pomocą metadanych cloud-init
- Wsparcie dla kopii zapasowych: tworzenie i przywracanie kopii zapasowych maszyn wirtualnych
- Integracja sieciowa: łatwe łączenie sieci między hostem a maszynami wirtualnymi
- Dostęp SSH: wbudowane zarządzanie kluczami SSH
Najważniejsze polecenia
# Szybki przewodnik
multipass launch --name dev --cpus 2 --memory 4G --disk 20G
multipass shell dev
multipass mount ./project dev:/home/ubuntu/project
multipass snapshot dev before-changes
multipass restore dev before-changes
multipass delete dev
multipass purge
Instalacja
Ubuntu/Linux
# Instalacja przez snap (zalecane)
sudo snap install multipass
# Albo instalacja przez apt
sudo apt update
sudo apt install multipass
Windows
- Pobierz instalator Windows z multipass.run
- Uruchom instalator jako administrator
- Multipass domyślnie użyje Hyper-V (Windows 10 Pro/Enterprise) lub przejdzie do VirtualBox
macOS
# Instalacja przez Homebrew
brew install --cask multipass
# Albo pobierz z multipass.run
Podstawowe użycie
Tworzenie pierwszej maszyny wirtualnej
# Utwórz maszynę wirtualną z ustawieniami domyślnymi
multipass launch
# Utwórz maszynę wirtualną z określonym nazwą
multipass launch --name my-vm
# Utwórz maszynę wirtualną z określonym wersją Ubuntu
multipass launch 22.04 --name ubuntu-22
# Utwórz maszynę wirtualną z niestandardowymi zasobami
multipass launch --name dev-vm --cpus 2 --memory 4G --disk 20G
Zarządzanie maszynami wirtualnymi
# Lista wszystkich maszyn wirtualnych
multipass list
# Uruchom maszynę wirtualną
multipass start my-vm
# Zatrzymaj maszynę wirtualną
multipass stop my-vm
# Usuń maszynę wirtualną
multipass delete my-vm
multipass purge # Usuń wszystkie usunięte maszyny wirtualne
Dostęp do maszyn wirtualnych
# Otwórz powłokę w maszynie wirtualnej
multipass shell my-vm
# Wykonaj polecenie w maszynie wirtualnej
multipass exec my-vm -- ls -la
# Kopiuj pliki do/z maszyny wirtualnej
multipass transfer file.txt my-vm:/home/ubuntu/
multipass transfer my-vm:/home/ubuntu/file.txt ./
Po wejściu do maszyny wirtualnej Multipass, będziesz miał dostęp do pełnego środowiska powłoki Ubuntu. Dla wydajnej pracy w wierszu poleceń, odnosząc się do naszej Kartki z zaklętymi wierszami poleceń Bash dla istotnych poleceń i skrótów.
Kartka z zaklętymi wierszami poleceń Multipass
Polecenia zarządzania maszynami wirtualnymi
# Tworzenie i uruchamianie
multipass launch # Utwórz domyślną maszynę wirtualną
multipass launch --name vm1 # Utwórz nazwaną maszynę wirtualną
multipass launch 20.04 --name old # Określona wersja Ubuntu
# Przydzielanie zasobów
multipass launch --cpus 2 --memory 4G --disk 20G --name dev
# Zarządzanie maszyną wirtualną
multipass start vm1 # Uruchom maszynę wirtualną
multipass stop vm1 # Zatrzymaj maszynę wirtualną
multipass restart vm1 # Uruchom ponownie maszynę wirtualną
multipass suspend vm1 # Przerwij działanie maszyny wirtualnej
# Informacje
multipass list # Lista wszystkich maszyn wirtualnych
multipass info vm1 # Szczegóły maszyny wirtualnej
multipass get local.privileged-mounts # Sprawdź ustawienia montowania
Operacje plikowe
# Przekazywanie plików
multipass transfer file.txt vm1:/home/ubuntu/
multipass transfer vm1:/home/ubuntu/file.txt ./
multipass transfer --recursive ./folder vm1:/home/ubuntu/
# Montowanie katalogu hosta
multipass mount /host/path vm1:/vm/path
multipass umount vm1:/vm/path
Konfiguracja sieci
# Informacje sieciowe
multipass info vm1 | grep IPv4
# Przekazywanie portów (Windows/macOS)
multipass set local.port-forwarding=true
multipass restart vm1
Kopie zapasowe i przywracanie
# Utwórz kopię zapasową
multipass snapshot vm1 snapshot1
# Przywróć kopię zapasową
multipass restore vm1 snapshot1
# Lista kopii zapasowych
multipass list --all
Zaawansowana konfiguracja
Integracja z cloud-init
Utwórz plik cloud-config.yaml
:
#cloud-config
package_update: true
package_upgrade: true
packages:
- docker.io
- git
- curl
users:
- name: developer
sudo: ALL=(ALL) NOPASSWD:ALL
shell: /bin/bash
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC...
runcmd:
- systemctl enable docker
- systemctl start docker
Uruchom maszynę wirtualną z cloud-init:
multipass launch --cloud-init cloud-config.yaml --name configured-vm
Obrazy niestandardowe
# Lista dostępnych obrazów
multipass find
# Użyj określonego obrazu
multipass launch daily:22.04 --name daily-vm
Integracja z narzędziami do rozwoju
Integracja z Dockerem Multipass działa bardzo dobrze z Dockerem w celu rozwoju w kontenerach. Możesz uruchomić Docker wewnątrz maszyn wirtualnych Multipass lub użyć Multipass do tworzenia izolowanych środowisk dla rozwoju w Dockerze.
Środowiska rozwoju Dla rozwoju w Pythonie możesz ustawić izolowane środowiska podobne do wirtualnych środowisk Pythona ale z pełną izolacją systemu operacyjnego. Dla użytkowników VS Code, maszyny wirtualne Multipass mogą być używane jako środowiska rozwoju zdalne, uzupełniając kontenery rozwojowe w VS Code w scenariuszach wymagających pełnej izolacji systemu operacyjnego.
Autonomiczne aplikacje Multipass jest idealny do testowania autonomicznych aplikacji takich jak Gitea lub Ollama w izolowanych środowiskach. Dla orchestracji kontenerów możesz uruchomić klastry Kubernetes wewnątrz maszyn wirtualnych Multipass i użyć naszej kartki z zaklętymi wierszami poleceń Kubernetes do zarządzania swoich obciążeń kontenerowych.
Rozwiązywanie problemów
Typowe problemy
# Sprawdź status Multipass
multipass get local.driver
# Resetuj Multipass
multipass purge
sudo snap restart multipass
# Sprawdź logi maszyny wirtualnej
multipass logs vm1
Optymalizacja wydajności
# Włącz uprzywilejowane montowanie dla lepszej wydajności
multipass set local.privileged-mounts=true
# Skonfiguruj limity pamięci
multipass set local.memory=8G
Porównanie z alternatywami
Multipass vs Docker
- Multipass: pełne maszyny wirtualne, lepsze do testowania na poziomie systemu operacyjnego, bardziej intensywne w użyciu zasobów
- Docker: kontenery, bardziej wydajne, lepsze do wdrażania aplikacji
Multipass vs VirtualBox/VMware
- Multipass: skupione na wierszu poleceń, wsparcie dla cloud-init, łatwiejsza automatyzacja
- VirtualBox/VMware: oparte na interfejsie graficznym, więcej opcji konfiguracji, lepsze do użycia na biurku
Multipass vs Proxmox
- Multipass: lekki, skupiony na pojedynczej maszynie wirtualnej, świetny do środowisk rozwojowych
- Proxmox: pełna stosów wirtualizacji, lepszy do środowisk produkcyjnych, zaawansowane funkcje takie jak klastry i wysoka dostępność
Multipass vs Vagrant
- Multipass: Ubuntu-skupione, prostsza konfiguracja, lepsze do scenariuszy z pojedynczą maszyną wirtualną
- Vagrant: wsparcie wielu dostawców, złożona konfiguracja, lepsze do scenariuszy z wieloma maszynami wirtualnymi
Najlepsze praktyki
- Zarządzanie zasobami: przydziel odpowiednie ilości procesorów i pamięci w zależności od obciążenia
- Strategia kopii zapasowych: twórz kopie zapasowe przed dużymi zmianami
- Bezpieczeństwo sieciowe: używaj odpowiednich reguł zapory ogniowej dla wystawionych usług
- Strategia kopii zapasowych: regularnie kopiuje ważne dane maszyn wirtualnych
- Czyszczenie: usuwaj nieużywane maszyny wirtualne, aby zwolnić miejsce na dysku
Kiedy używać Multipass
Wybierz Multipass, gdy:
- Potrzebujesz pełnych maszyn wirtualnych Ubuntu do rozwoju
- Chcesz prosty interfejs wiersza poleceń do zarządzania maszynami wirtualnymi
- Pracujesz na różnych systemach operacyjnych
- Potrzebujesz wsparcia dla konfiguracji cloud-init
- Chcesz testować autonomiczne aplikacje w izolacji
Rozważ alternatywy, gdy:
- Potrzebujesz maksymalnej wydajności (użyj kontenerów Docker)
- Potrzebujesz złożonych scenariuszy z wieloma maszynami wirtualnymi (użyj Vagrant)
- Potrzebujesz zarządzania graficznego (użyj VirtualBox/VMware)
Multipass wyróżnia się prostotą i spójnością środowisk rozwojowych Ubuntu na wielu platformach, czyniąc go świetnym wyborem dla programistów potrzebujących niezawodnego zarządzania maszynami wirtualnymi bez skomplikowania tradycyjnych narzędzi wirtualizacji.
Przydatne linki
- Oficjalna dokumentacja Multipass
- Repozytorium GitHub Multipass
- Dokumentacja cloud-init
- Obrazy chmurowe Ubuntu
- Proxmox w 2025: praktyczny, kompletny stos wirtualizacji
- Konfiguracja udostępnionych folderów VirtualBox dla systemu Linux
- Aplikacje do monitorowania GPU w Linux / Ubuntu
- Jak zainstalować Ubuntu 24.04 i przydatne narzędzia
- Użycie kontenerów rozwojowych w VS Code