====== Ubuntu — Mirror Configuration ======
The local mirror covers Ubuntu 20.04 (Focal Fossa), Ubuntu 22.04 (Jammy Jellyfish), Ubuntu 24.04 (Noble Numbat), Ubuntu 26.04 LTS (Resolute Raccoon) for ''amd64''. Security updates, backports, and all components (main, restricted, universe, multiverse) are included.
**Now matches the real Ubuntu archive layout.** The mirror uses a single shared root (''/ubuntu/dists/'', ''/ubuntu/pool/'') across every release, exactly like ''archive.ubuntu.com''. Point your client at ''https://mirror.nplab.bth.se/ubuntu/'' the same way you would at the upstream archive — just swap the host. No per-release path segment, and nothing to reconfigure when a new release is added.
===== Recommended: shared-root configuration =====
Ubuntu 24.04+ (Noble, Resolute) — **deb822** format. Replace ''/etc/apt/sources.list.d/ubuntu.sources'':
Types: deb
URIs: https://mirror.nplab.bth.se/ubuntu/
Suites: -updates -backports -security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Ubuntu 20.04 / 22.04 (Focal, Jammy) — classic **sources.list** format. Replace ''/etc/apt/sources.list'':
deb https://mirror.nplab.bth.se/ubuntu main restricted universe multiverse
deb https://mirror.nplab.bth.se/ubuntu -updates main restricted universe multiverse
deb https://mirror.nplab.bth.se/ubuntu -backports main restricted universe multiverse
deb https://mirror.nplab.bth.se/ubuntu -security main restricted universe multiverse
Replace '''' with ''focal'', ''jammy'', ''noble'', or ''resolute'' — same URL for all of them. This is exactly what the downloadable config files below contain.
===== Legacy: per-release URLs (outdated) =====
**Outdated — do not use for new installs.** Kept only so nodes already configured against the old per-release URLs (e.g. ''/ubuntu/jammy/dists/...'') keep working. An nginx rewrite transparently maps these onto the shared root above, so the content is identical and always current — but new installs should use the shared-root configuration instead.
Types: deb
URIs: https://mirror.nplab.bth.se/ubuntu//
Suites: -updates -backports -security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
===== Release Reference =====
^ Codename ^ Version ^ Format ^ Shared-root URL (recommended) ^ Config File ^
| focal | 20.04 LTS | sources.list | ''https://mirror.nplab.bth.se/ubuntu/'' | [[https://mirror.nplab.bth.se/configs/ubuntu/focal.list|focal.list]] |
| jammy | 22.04 LTS | sources.list | ''https://mirror.nplab.bth.se/ubuntu/'' | [[https://mirror.nplab.bth.se/configs/ubuntu/jammy.list|jammy.list]] |
| noble | 24.04 LTS | deb822 | ''https://mirror.nplab.bth.se/ubuntu/'' | [[https://mirror.nplab.bth.se/configs/ubuntu/noble.sources|noble.sources]] |
| resolute | 26.04 LTS | deb822 | ''https://mirror.nplab.bth.se/ubuntu/'' | [[https://mirror.nplab.bth.se/configs/ubuntu/resolute.sources|resolute.sources]] |
**Download and apply (run as root):**
Focal / Jammy:
curl -o /etc/apt/sources.list https://mirror.nplab.bth.se/configs/ubuntu/jammy.list
apt-get update
Noble / Resolute:
curl -o /etc/apt/sources.list.d/ubuntu.sources https://mirror.nplab.bth.se/configs/ubuntu/noble.sources
apt-get update
===== Notes =====
* The security suite is folded into the same mirror URI (unlike Debian, no separate ''/security/'' subdirectory needed).
* The legacy per-release URLs will be retired once no client is observed using them — check nginx access logs before removing the rewrite.