Repository snapshots

Production installs from the same package snapshot as test.

LinuxAid keeps dated snapshots of your package repositories, and you pin each update tag to one. Packages the mirror picks up after that date stay off your pinned servers until you move the pin.

The problem with live repositories

  • Whatever upstream published that morning

    A server that installs straight from the upstream repositories gets the packages as they are at that moment.

  • Production gets packages test never saw

    Updating test days before production doesn't help when each run installs whatever is current that day.

How LinuxAid does it

01

Mirror the upstream repositories

Point your Ubuntu, Debian, CentOS or Rocky Linux servers at the LinuxAid repository server, and they install their distribution packages from its mirror instead of from the internet.

02

Keep dated snapshots

Every Sunday the server takes a dated snapshot of the mirror.

03

Pin each update tag to a date

You pin each tag to a snapshot date, and its servers install from that snapshot instead of the live mirror.

04

Move the pin one tag at a time

Move test to the newer snapshot first. When test is fine, move staging, then production.

Three update tags, one snapshot

  • test

    Pinned snapshot
    2026-10-04
    Service window
    Tue 6 Oct, 22:00
  • staging

    Pinned snapshot
    2026-10-04
    Service window
    Thu 8 Oct, 22:00
  • production

    Pinned snapshot
    2026-10-04
    Service window
    Mon 12 Oct, 22:00

Test updates from the 2026‑10‑04 snapshot on Tue 6 Oct, and production updates from the same snapshot on Mon 12 Oct.

Technical details

The pin

Set the date in the update tag's hiera file.

agents/tags/staging.yaml

common::system::repo::snapshot: '2026-10-04'

On the distribution sources, the pin only applies to servers that got LinuxAid before the pinned date. A server set up on or after that date installs them from the live mirror.

The repository server

This role sets up the LinuxAid repository server, with snapshots on by default. Snapshots hardlink the mirror's packages instead of copying them, so a package that stays in the mirror takes disk space once. The server deletes each snapshot after 60 days unless you change retention_days.

role::package_management::repo
Staged rollouts in the LinuxAid docs
With Obmondo

What Obmondo adds

A service window per update tag

Obmondo books a service window for each update tag, in the order your update cycle sets.

One snapshot per update cycle

About 24 hours before the cycle's first service window, Obmondo pushes a branch to your LinuxAid config repo. It moves every pinned tag in the cycle to the newest snapshot your repository server reports.

The snapshot date on each booking

Merge the branch, and each pinned tag installs from that snapshot in its own service window. From the first window on, every booking in the cycle shows the snapshot date in the Obmondo dashboard. Leave it unmerged, and the tags keep their current pin.

Want snapshots on your servers?

Opt in on the Features page in Obmondo, or talk to us to set up snapshots on your repository server.