APT 3.3.3 Starts Building an Interactive Help System, and Fixes How Mirror Fan-Out Scales

APT 3.3.3 Starts Building an Interactive Help System, and Fixes How Mirror Fan-Out Scales

APT 3.3.3 is a small maintenance update, and the interesting part is what it starts rather than what it finishes: the first pieces of a new interactive help system for apt(8).

Help that actually helps

APT now has a declarative option help printer and command-specific help texts, so each operation can explain the options that apply to it.

This addresses a genuine problem. apt accepts a large number of options, most of which apply to only some subcommands, and the traditional answer to “what can I pass to apt install?” was to read a man page that documents everything at once and leaves you to work out what is relevant.

Option descriptions are also now marked for translation, which is a bigger deal than it sounds. Package management is where new Linux users spend their first frustrating hours, and help text that only exists in English is a barrier for a large share of them.

APT 3.0 rebuilt the command-line interface with columns, colour, and clearer output. This is the next stage of the same effort, aimed at the part of the interface people reach for when they are already confused.

Mirror fan-out

The other change is quieter and affects anyone on a slow or contended connection.

APT previously scaled mirror fan-out with the number of files being fetched. As of 3.3.3, fan-out grows with the square root of the file count instead.

The practical effect is that a large operation no longer opens a proportionally large number of parallel connections. Past a certain point, more parallelism stops helping and starts hurting: you saturate the link, you hammer the mirror, and individual transfers slow down enough that the total takes longer. Square-root scaling keeps the concurrency growing while flattening it out where the returns disappear.

If you have ever watched a big apt upgrade crawl on a home connection while opening dozens of connections, this is aimed at you.

Getting it

apt --version

sudo apt update && sudo apt install --only-upgrade apt

APT 3.3.3 will reach Debian unstable and testing first, then filter outward. Ubuntu picks it up on its own schedule, and stable Debian releases will not see it until the next point release cycle.

Our APT guide for Debian and Ubuntu covers day-to-day usage, and Linux packages and repositories explained covers what is happening underneath when you run these commands.

Background reading

Explainers for the concepts behind this story.