How to manage and mirror repositories from the web portal (26.04 and later)

Note

This document applies to Landscape Server 26.04 LTS and later. See the 26.04 LTS release notes for details on our changes to repository management in 26.04.

The repository mirroring feature in Landscape lets you mirror Ubuntu and third-party repositories, create local repositories for personal packages, and publish repositories to different targets. This adds an extra layer of control over the software versions available to your client machines. If you’re not familiar with repository mirroring in Landscape, read our explanation before continuing through this how-to guide: Repository mirroring (26.04 LTS and later).

This guide demonstrates how to mirror Ubuntu and other third-party debian repositories. For a complete guide that publishes a mirror to object storage and installs a package from it on a client, see How to set up repository mirroring end-to-end (26.04 and later).

Disk space requirements

As of April 2026, these are the estimates for the amount of disk space needed to download the following Ubuntu distributions:

Series

amd64

i386

Both

Resolute

150GB

110GB

180GB

Noble

625GB

170GB

680GB

Jammy

945GB

140GB

975GB

Focal

655GB

115GB

670GB

Bionic

335GB

155GB

395GB

These estimates are a breakdown of the total size of the pockets for the main, restricted, universe, and multiverse components of the amd64 and i386 architectures (release, updates and security pockets). The last column provides an estimate for downloading both the amd64 and i386 architectures. It’s not a total of the amd64 and i386 disk space requirements because it doesn’t duplicate packages that are present in both architectures.

These estimates are only a subset, and it doesn’t include arm and other architectures. Including these will use more disk space.

Note that the restricted component is usually large, and it contains proprietary packages and drivers that aren’t fully open-source (e.g., Nvidia graphics drivers). If you know you won’t need these packages and drivers, you could significantly reduce the size of your mirrors by not mirroring the restricted component.

Create a new mirror

To create a new mirror:

  1. From the sidebar, navigate to Repositories > Mirrors

  2. Click Add mirror

  3. Enter the name of the mirror. For example, noble-backports-mirror.

    • Note: You can’t use the same name for multiple mirrors, so you should make this name unique and descriptive of the repository. If you want to reuse a name later, you’ll have to delete the original mirror.

  4. Select the type of mirror from the Source Type dropdown menu. For example, select Ubuntu archive if you’re mirroring an Ubuntu repository.

  5. In the Source URL field, use the default mirror URL if you’re mirroring an Ubuntu repository. Otherwise, enter the URL for the Debian repository you want to mirror. For example, https://deb.debian.org/debian/.

  6. For signature preserving mirrors, select the Preserve upstream signing key checkbox.

  7. Enter the distribution you want to mirror. If you’re mirroring an Ubuntu repository, select the distribution from the dropdown menu. Otherwise, enter the distribution name. For example, bookworm.

  8. Select the components you want to mirror. If you’re mirroring an Ubuntu repository, select the components from the dropdown menu. Otherwise, enter a comma-separated list of components. For example, non-free-firmware, main.

  9. Select the architectures you want to mirror. If you’re mirroring an Ubuntu repository, select the architectures from the dropdown menu. Otherwise, enter a comma-separated list of architectures. For example, amd64, arm64.

  10. For filtered mirrors, use the Filter text box to narrow down which packages are retrieved instead of mirroring the entire selected component(s).

  11. If you’re not preserving the upstream signing key, and using a third-party repository, provide the ASCII-armored GPG key for the mirror in the Verification GPG key text box.

Use repository snapshots

Snapshots are another source you can use to mirror packages. They allow Landscape to mirror packages from the Ubuntu archive at a specific point in time.

To use a snapshot, follow the same process as you would to Create a new mirror, but change the type to Ubuntu Snapshot, and choose a snapshot date.

Create a new local repository

To create a new local repository:

  1. From the sidebar, navigate to Repositories > Local repositories

  2. Click Add local repository

  3. Enter the name of the local repository. For example, my-local-repo.

    • Note: You can’t use the same name for multiple local repositories, so you should make this name unique and descriptive. If you want to reuse a name later, you’ll have to delete the original local repository.

  4. Complete the remaining fields. Note that if you’re mirroring multiple components, they need to be a comma-separated list of components. For example, non-free-firmware, main.

Create a new publication target

To create a new publication target:

  1. From the sidebar, navigate to Repositories > Publication targets

  2. Click Add publication target

  3. Enter the name of the publication target. For example, s3-target-1.

  4. In the Type dropdown menu, select the type of publication target you want to create and enter the required information for your publication target.

Note

If you use a filesystem publication target for a mirror that doesn’t preserve upstream signatures, the target system must have enough storage available for both the synced mirror and the published repository. Plan for roughly double the repository disk space.

Create a new publication

To create a new publication:

  1. From the sidebar, navigate to Repositories > Publications

  2. Click Add publication

  3. Enter the name of the publication. For example, noble-backports-publication.

  4. In the Source type dropdown menu, select whether you want to publish a local repository or mirror.

    • In the Source dropdown menu, select the mirror or local repository you want to publish.

  5. In the Publication target dropdown menu, select the publication target you want to publish to.

  6. To resign packages in your publication target, enter the ASCII-armored GPG private key you want to use in the Signing GPG key text box.

Create a repository profile and associate client machines to the profile

A repository profile in Landscape is useful for updating repository configurations. When a machine (instance) is associated with a repository profile, the repository configurations are applied one time. Repository profiles don’t perform ongoing monitoring of repository configurations.

To create a profile:

  1. From the sidebar, go to Repositories > Repository profiles

  2. Click Add repository profile

  3. In the Profile name field, enter a name for this profile. For example, noble-test.

  4. Select Add source to specify a Debian repository for this repository profile.

    1. In the Source name field, enter a name for the source.

    2. Add the deb line for the Debian repository. For example, deb [trusted=yes] https://debarchive-test-bucket.s3.us-west-1.amazonaws.com/ devel main.

    3. If the repository’s GPG verification key isn’t already in the client machine’s keyring, provide the verification key in the GPG key field.

  5. Use the Access group dropdown menu and Association category to associate this profile with an access group or specific instances/computers (tags).

  6. Optionally fill out the Description field.

Note that you may want to create multiple repository profiles for different groups of managed instances.

Manage existing repositories

Sync a mirror

  1. From the sidebar, navigate to Repositories > Mirrors.

  2. Select the mirror you want to sync.

  3. Click Update.

Import packages to a local repository

  1. From the sidebar, navigate to Repositories > Local repositories.

  2. Select the local repository where you want to import packages.

  3. Click Import packages, provide the URI for the packages you want to import, then click Import packages.

Publish (or republish) an existing mirror

If you’re publishing or republishing a mirror that doesn’t preserve upstream signatures, update the mirror before publishing. For instructions, see To sync a mirror.

  1. From the sidebar, navigate to Repositories > Mirrors.

  2. Select the mirror you want to publish.

  3. Click Publish, then select an existing publication or fill out the required information for a new publication.

Publish (or republish) an existing local repository

If the local repository doesn’t contain the packages you want to publish, import the packages before publishing. For instructions, see To import packages into a local repository.

  1. From the sidebar, navigate to Repositories > Local repositories.

  2. Select the local repository you want to publish.

  3. Click Publish, then select an existing publication or fill out the required information for a new publication.