Similar to the Ubuntu snapshot service, you can use the PPA snapshot service to retrieve and install a package from a Personal Package Archive (PPA) as it was at a specific point in time.
Common use cases of this service include:
The PPA snapshot feature has been available since 1st March 2023. No PPA has snapshots from before this date.
Unlike regular PPAs, you need a snapshot ID to install a package from a PPA snapshot. A snapshot ID specifies the date and UTC time of the snapshot you’d like to use. The ID is written in the format YYYYMMDDTHHMMSSZ.
For example, the PPA snapshot ID for 1st January 2025 at midnight UTC will be 20250101T000000Z.
Snapshots are enabled by default on all PPAs and a snapshot is created each time a publisher run finishes. By default, public PPA snapshots are retained for approximately two weeks. Reach out to the Launchpad team if you require a longer retention period.
Private PPA snapshots have an indefinite retention period by default, but require additional configuration to use this service.
There are two methods of installing packages from PPA snapshots. You can change a PPA’s config file in sources.list.d to use a specific snapshot when any package is installed from that PPA, or you can use a --snapshot flag when installing a package to specify the snapshot it will be sourced from.
In the examples below, we install a package from a snapshot of the checkbox PPA (specifically the stable releases of the PPA).
Fetch the PPA repository:
sudo add-apt-repository ppa:checkbox-dev/stable
Navigate to /etc/apt/sources.list.d and open the configuration file for the PPA, i.e., checkbox-dev-ubuntu-stable-noble.sources. Add a Snapshot field and enter the ID of the snapshot to be used when installing any package from this PPA:
Types: deb
URIs: https://ppa.launchpadcontent.net/checkbox-dev/stable/ubuntu/
Suites: noble
Components: main
Signed-By:
-----BEGIN PGP PUBLIC KEY BLOCK-----
...
-----END PGP PUBLIC KEY BLOCK-----
Snapshot: 20250101T000000Z
Save your changes and update the package indexes:
sudo apt update
One of the outputs should contain a URL with a snapshot sub-subdomain:
Hit:6 https://snapshot.ppa.launchpadcontent.net/checkbox-dev/stable/ubuntu/20250101T000000Z noble InRelease
The next time you install a package from this PPA, it will be downloaded from the snapshot instead of the live archive.
--snapshot flag at installationYou can also download a package from a snapshot directly without changing the configuration file. This gives you the flexibility of defining a snapshot at the time of installation.
The Snapshot ID will be the desired date and UTC time in the YYYYMMDDTHHMMSSZ format, for example 20230302T030400Z for 03:04 UTC on 2 March 2023.
Fetch the PPA repository:
sudo add-apt-repository ppa:checkbox-dev/stable
Install a package, e.g., checkbox-provider-base, directly from the snapshot using the --snapshot flag and the snapshot ID:
sudo apt install checkbox-provider-base --update --snapshot 20250101T000000Z