---
name: "sysupgrade"
section: "8"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/sysupgrade"
---

# sysupgrade(8)

upgrade system to the next release or a new snapshot

## NAME

**sysupgrade** – upgrade system to the next release or a new snapshot

## SYNOPSIS

**sysupgrade** \[**-fkns**\] \[**-b** *base-directory*\] \[**-R** *version*\] \[*installurl* \| *path*\]

## DESCRIPTION

**sysupgrade** is a utility to upgrade OpenBSD to a new release or snapshot if available.

**sysupgrade** downloads the necessary files to */home/\_sysupgrade*, verifies them with [signify(1)](/signify/1.md), and copies bsd.rd to */bsd.upgrade*.

**sysupgrade** by default then reboots the system. The bootloader will automatically choose */bsd.upgrade*, triggering a one-shot upgrade using the files in */home/\_sysupgrade*.

The options are as follows:

- **-b** *base-directory*

  Download files to *base-directory*/*\_sysupgrade* instead of */home/\_sysupgrade*.

- **-f**

  For snapshots, force an already applied upgrade. This option has no effect on releases.

- **-k**

  Keep the files in */home/\_sysupgrade*. By default they will be deleted after the upgrade.

- **-n**

  Fetch and verify the files and create */bsd.upgrade* but do not reboot.

- **-R** *version*

  Upgrade to a specific release version. Only upgrades from one version to the next are tested. Skipping versions may work. Downgrading is unlikely to work.

- **-s**

  Upgrade to a snapshot. The default is to upgrade to the next release.

When updating to a release or snapshot which lacks the required signify keys in */etc/signify*, the missing keys will be downloaded in a secure way. In the usual case, the keys will already be present because OpenBSD releases ship with the current key, the next key, and a collection of older keys.

See upgrade.site(5) for how to customize the upgrade process.

## PRUNING

Upgrading between releases and snapshots will over time collect much detritus in the */usr* sub-directory (which may or may not be an independent filesystem, based on original install-time decisions). **sysupgrade** will complain if [df(1)](/df/1.md) indicates insufficient space, and prevent the upgrade. **sysupgrade** does not know what historical files can be deleted, and the problem becomes worse if the */usr/local* directory is in the same filesystem as */usr*.

When the described problem happens, manual cleaning of the */usr* partition is required, and in the worst cases a reinstall will be required.

## FILES

- */auto\_upgrade.conf*

  Response file for the ramdisk kernel.

- */bsd.upgrade*

  The ramdisk kernel to trigger an unattended upgrade.

- */etc/installurl*

  OpenBSD mirror top-level URL for fetching an upgrade.

- */home/\_sysupgrade*

  Directory the upgrade is downloaded to.

## SEE ALSO

[signify(1)](/signify/1.md), [installurl(5)](/installurl/5.md), upgrade.site(5), [autoinstall(8)](/autoinstall/8.md), [release(8)](/release/8.md), [sysmerge(8)](/sysmerge/8.md)

## HISTORY

**sysupgrade** first appeared in OpenBSD 6.6.
