Unix and NetBSD Basics for Admins

Who this page is for

Use this page if you are an admin coming from Windows-centric tooling, hypervisor consoles, or managed cloud UIs and have limited Unix background.

Goal: give you enough orientation to run Cells safely without guessing.

Command-line basics you need first

  • most Cells commands are run as root (or through doas)
  • paths starting with / are absolute paths from filesystem root
  • configuration is text files under /etc; runtime data is usually under /var

Example pattern:

doas cellmgr cell list --view merged

If your environment already uses a root shell, you can run the same command without doas.

NetBSD paths that matter for Cells

Think of these as three separate areas:

  • desired state (what you want): /etc/cellmgr
  • runtime state (what currently exists): /var/cellmgr
  • backups (recovery material): /var/backups/cellmgr

Common files:

  • /etc/cellmgr/<name>.cell: cell definition
  • /etc/cellmgr/<name>.volume: persistent volume definition
  • /etc/cellmgr/<name>.apply: provisioning/configuration plan

Safe operating loop (best practice)

For almost every change, use this sequence:

  1. inspect current state (list/show)
  2. change desired config (create/set)
  3. preview with dry-run (cellmgr apply --dry-run ...)
  4. execute apply (cellmgr apply ...)
  5. verify (cellmgr ... list, cellctl list -T, cellctl stats -T)

This loop prevents accidental runtime drift and makes changes auditable.

Terms you will see everywhere

  • cell: isolated process domain on the shared NetBSD kernel
  • volume: persistent storage outside the writable runtime overlay
  • desired: intended configuration in manifests
  • runtime: currently materialized live state
  • reconcile/apply: operation that makes runtime match desired
  • apply plan: repeatable provisioning instructions in *.apply

Where to continue

  1. Getting Started
  2. System Concepts
  3. 5-Minute Admin Onboarding