Updates¶
Keep a fielded AryaOS unit patched with one click. Updates come from the signed Sensors & Signals package repository, run in the background so they survive a closed browser, and never restart your sensors without you saying so.
One-click updates in Cockpit¶
The Software updates card on Cockpit → AryaOS Site is the operator path.
- Open Cockpit → AryaOS Site → Software updates.
- Click Check for updates. The card shows the current AryaOS version and lists every upgradable package (with current and candidate versions).
- Click Install all updates. Sensor services may restart briefly while the upgrade applies.
- If a reboot is required afterward, the card tells you — reboot at a convenient time.
flowchart LR
A[Check for updates] --> B{Updates?}
B -- yes --> C[Install all updates]
B -- no --> D[Up to date]
C --> E{Reboot required?}
E -- yes --> F[Reboot when convenient]
E -- no --> D
The upgrade survives a closed browser
The card starts the apply step under aryaos-update.service, not inside
the browser session. Close the tab, lose Wi-Fi, walk away — the upgrade
keeps running on the box, and the card picks the result back up when you
return.
What's automatic and what isn't¶
AryaOS splits updates deliberately so an operation is never disrupted by a surprise sensor restart:
| Update stream | Applied | Why |
|---|---|---|
| Debian security fixes | Automatically, daily (unattended-upgrades) |
OS-level security shouldn't wait for an operator. No automatic reboots. |
| AryaOS sensor stack | Manually, when you click Install all updates | Restarting a sensor mid-operation is an operator decision, not a background job. |
readsb is held on purpose
readsb (the ADS-B decoder) is pinned with apt-mark hold so an upgrade
can't swap the decoder out from under a running air pipeline. The update
check reports it under held so you can see it's intentionally pinned, not
stuck.
Where updates come from¶
Everything installs from the signed snstac apt repository,
https://snstac.github.io/packages. The
repo is GPG-signed, so the box only installs packages it can verify came from
Sensors & Signals. This is the same trust anchor described in
SBOM & supply chain.
The upgrade preserves your locally edited config files (site config, lighttpd
snippets) rather than prompting or clobbering them: aryaos-update applies with
--force-confdef/--force-confold and runs non-interactively, so a dpkg
conffile prompt can never hang an unattended box.
The command line¶
The backend is /usr/local/sbin/aryaos-update, and you can run it directly over
SSH:
sudo aryaos-update check # refresh apt metadata, print upgradable packages (JSON)
sudo aryaos-update apply # full-upgrade + autoremove, non-interactive
sudo aryaos-update status # last check/apply results + reboot-required (JSON)
| Subcommand | What it does |
|---|---|
check |
Runs apt-get update, then reports upgradable packages and dpkg holds as JSON. Cached to /var/lib/aryaos/update-check.json. |
apply |
Non-interactively runs apt-get full-upgrade then autoremove --purge. Records the result and reboot-required flag to /var/lib/aryaos/update-apply.json. |
status |
Reports the AryaOS version, whether a reboot is required, and the last check/apply results as JSON. |
State lives in /var/lib/aryaos/
The check and apply results are cached as JSON in /var/lib/aryaos/ so the
Cockpit card, status, and any tooling see the same picture whether the
upgrade ran from the browser or the shell.
apply requires root
aryaos-update refuses to run its privileged subcommands as a normal user —
always sudo aryaos-update apply. The Cockpit card handles privilege for
you.
Related¶
- SBOM & supply chain — the signed-repo trust anchor and per-build SBOMs. SBOM & supply chain
- Security posture — how the update split fits the hardening story. Security posture
- Support bundles — capture state if an update goes sideways. Support bundles
- AryaOS Site — the admin page hosting the updates card. AryaOS Site