Skip to main content

Debian Sid Sandbox — instant QEMU/KVM VM from cloud images

Project description

debsb

Debian Sid sandbox in one command. Downloads a Debian cloud image, boots it in QEMU/KVM, and gives you an isolated VM with auto-login, SSH, and shared filesystem. No kernel building, no complex setup.

Install

pip install debsb

Dependencies

  • qemu-system-x86_64 (with KVM support)
  • cloud-image-utils (cloud-localds)
  • whois (mkpasswd)
  • wget
  • ssh

On Debian/Ubuntu:

sudo apt install qemu-system-x86 cloud-image-utils whois wget openssh-client

Usage

Build the sandbox (one-time)

debsb build --size 20G

This downloads the Debian Sid cloud image, configures SSH keys and auto-login, and runs first boot. All artifacts are stored in ~/.debsb/.

Use --reset to skip the prompt and rebuild from scratch:

debsb build --size 20G --reset

Run the sandbox

# Serial console (auto-login as debian, Ctrl-A X to quit)
debsb run

# SSH session (as debian)
debsb run --ssh

# SSH as root
debsb run --ssh --root

# Graphical QEMU window
debsb run --graphics

# With sound
debsb run --sound

# Extra QEMU options
debsb run --qemu-opts='-m 8192'

Verbose mode

Show kernel boot messages:

debsb run --verbose

Shared filesystem

Your host ~/.debsb/ directory is mounted inside the VM at:

  • /root/.debsb (symlink to /mnt/debsb)
  • /home/debian/.debsb (symlink to /mnt/debsb)

This is automatic — no manual mounting needed.

How it works

  1. Downloads debian-sid-generic-amd64-daily.qcow2 from cloud.debian.org
  2. Creates a cloud-init ISO with SSH keys, user config, and auto-login
  3. Boots the VM with QEMU/KVM and waits for cloud-init to finish
  4. On subsequent debsb run, boots the prepared image directly

Accounts

User Access
debian Serial auto-login, SSH with key, sudo NOPASSWD
root SSH with key (--root flag)

SSH key: ~/.debsb/id_ed25519 (auto-generated on first build)

License

GPL-2.0-only

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

debsb-0.1.0.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

debsb-0.1.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file debsb-0.1.0.tar.gz.

File metadata

  • Download URL: debsb-0.1.0.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for debsb-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8ae3aec50603fc5717731ef56b39ed0f2db0e61b80a098e0e6058e19ba22dd8c
MD5 c31af7c1cfd0fdb2f3fe6ded806d77df
BLAKE2b-256 aa5a57ca467f7a04f579484ebe89ea5452dd90b56d3fb5a6d27f8e2aac65a0ca

See more details on using hashes here.

File details

Details for the file debsb-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: debsb-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for debsb-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 af4b9542474e68fd4cc2365143a74d627ec98b04199238521f1db36731cc49c9
MD5 9f19e2e05519df5b9221d9d8be419489
BLAKE2b-256 c31285bd708bd17bf5933d0ec6786a81563629db56209857784c4f5cfda8d274

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page