Preface
It has been a little over one month since writing the previous article. Running a mirror of a subset of the Ubuntu Archive has been good fun. I'm really enjoying it and benefiting from it.
I'll address a few points. Hopefully you will find them interesting/ useful.
Mirror Operation Order
After posting the previous article, I was asked (I paraphrase):
Do you sync the metadata, then the packages, then the metadata, or do you sync the packages, then the metadata, then the packages?
I had been sync'ing the metadata then the packages. I should have followed that with a final sync of the metadata in-case anything has changed in the meantime. I sync in this order, as opposed to pool-metadata-pool, because there are considerably fewer metadata files to compare. I've updated my script to include this step. Thank you, May, for point that out :).
Now if I see the second metadata sync yields changed files I perform a resync of everything to try to prevent anything from being incoherent.
Not a big concern
I am not operating at enterprise scale; I'm not serving thousands of VMs/ containers. The main benefit is the ability to serve my computer and a few VMs/ containers effectively, whilst having fun.
Saving bandwidth?
I'm not saving bandwidth, but I didn't expect to since I'm mirroring the whole Noble package archive which contains a load of stuff I don't use. So why bother? In this case I'm not optimizing bandwidth, I'm optimizing availability. I do enjoy the advantage of not running the risk of being rate-limited for repeatedly downloading the same packages over and over when repeatedly setting up and tearing down containers.
Off-grid
At a time where almost everything on the internet is designed to hold your attention for as long as possible, it can be refreshing to disable internet access for a while and still have access to new software.
Storage Used
As of 12:38 today my archive subset uses 303GB of disk space, according to du -cshx
.
3.2G ubuntu/dists
3.4G ubuntu/indices
30M ubuntu/ls-lR.gz
297G ubuntu/pool
612K ubuntu/project
0 ubuntu/ubuntu
303G total
Security Updates
My apt sources is configured to pull security updates from ubuntu. This means that if the mirror from which I sync is (or I am) slow to update, I will still have access to the security updates.
Types: deb
URIs: http://10.169.240.1:801
Suites: noble noble-updates noble-backports
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
## Ubuntu security updates. Aside from URIs and Suites,
## this should mirror your choices in the previous section.
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Round-up
It's fun. It's convenient. It's working well so far.
I've removed apt-cacher-ng
, and added the details for my mirror into my LXD
Homelab profile.
We have likely all seen the Jurassic Park scene where Ian Malcolm (Jeff Goldblum's character) exclaims:
Your scientists were so preoccupied with whether they could, they didn’t stop to think if they should.
I wanted to know whether I "could".