aptly
aptly copied to clipboard
Fix the installer path for Ubuntu Focal
Ubuntu has started depreciating the Debian installer in focal and moved the installer images to a different path. In versions after focal, they are completely removed. This basically gives us more time to figure out how to use the new system.
Fixes #1018
Requirements
This is the first time I've worked with Go, so I'm not familiar with the test suite. I needed this quick and am contributing back my fixes. I've tested that it properly mirrors the new legacy-images properly. You are welcome to ignore it if you would rather do things differently. I just don't have any additional time to contribute.
Description of the Change
Checklist
- [ ] unit-test added (if change is algorithm)
- [ ] functional test added/updated (if change is functional)
- [ ] man page updated (if applicable)
- [ ] bash completion updated (if applicable)
- [ ] documentation updated
- [ ] author name in
AUTHORS
is this change necessary starting with Ubuntu 20.04 focal? Then we'll need those changes for newer Ubuntu versions as well. To not encode each and every Ubuntu release name we could compare with the release number (for example release >= 20.04)
Well, Ubuntu has really made a mess of this. 20.04 is the only one (still supported) that has the legacy installer. In 22.04 it won't exist at all. I couldn't get the 20.04 installer to work, so I'm just biting the bullet and moving over to their new install method as it's their only "supported" method going forward. If this doesn't get merged I won't be heartbroken.
I don't understand what the installer path is and how it affects the aptly repository. Would you be so kind to point me to some kind of documentation or explain it to me please?
I'm not exactly sure what documentation that you are looking for. There is this documentation from Debian https://www.debian.org/releases/bullseye/amd64/ch04s02.en.html that talks about it.
The path specified in the document contains the kernel and initrd images for different install methods. This has been helpful in PXE booting and installing from the network (mirror) in that we can access the installer files from a snapshot to make sure we are installing with the same version as the mirror (the installer is pretty resilient in any case). Aptly added the ability to mirror the installer some time ago and added the -with-installer and -with-udebs flags to aptly mirror create which makes sure all the installer kernel, initrd, and packages are mirrored allowing for a self sufficient local mirror for cradle to grave of a system.
Apparently the Debian method of installing Ubuntu with preseed was never supported and with 20.04 Ubuntu started phasing out the method in favor of Casper (I think) and Cloud init which relies on more feature rich packages than udebs provide. They also require you to download the ISO, take the kernel and initrd out of the ISO and then have the ISO mounted for the install process requiring 4GB of RAM to install a system over the network. For some light reading on the subject, this thread is pretty comprehensive. https://discourse.ubuntu.com/t/netbooting-the-live-server-installer/14510
thank you for this thorough explanation :bow:
Is the suggested patch here not likely to be merged, then? I know for certain that the 22.04 legacy installer images are not present at all.
See https://github.com/aptly-dev/aptly/pull/1248 (rebased on master).
Debian bookworm and Ubuntu focal seem to work :+1:
However, Ubuntu/jammy does not seem to work, no installer files are downloaded, which are on the mirror: http://archive.ubuntu.com/ubuntu/dists/jammy/main/
Does anyone know about jammy installers ?
fixed in https://github.com/aptly-dev/aptly/pull/1248