This article is more than 1 year old
Alpine Linux 3.18 fixes DNS over TCP issue, now ready for all the internet's problems
Small but mighty update will help its many users – even the unwitting ones
The latest update to the ultra-lightweight Alpine Linux distro, as widely used for hosting Docker containers, fixes an important issue.
There are many relatively small new features in Alpine 3.18, but one of them, while niche, could prove significant. One of several unusual things about Alpine Linux is that it doesn't use glibc
, the standard C library that is the basis of almost all other Linux distros. Instead, Alpine is based on the smaller, lighter Musl libc.
For many years, and by design, Musl did not support DNS over TCP, only over UDP.
This has caused some Alpine users much consternation, and that has led some people to turn against Alpine. Well, no more: DNS over TCP is now supported in Musl 1.2.4, meaning that it also works in Alpine 3.18.
Other than being a non-glibc-based distro, Alpine Linux is a member of several minorities among Linux distributions: it's minimalist; it's very lightweight; it's systemd-free; and it still supports x86-32 as a first-class platform, alongside x86-64, plus ARMv7, ARM64, PPC64LE, and S390X. There are native versions for several models of Raspberry Pi, as well as for running in VMs, plus a version for Xen which can run in dom0
, meaning that it can host the hypervisor.
Perhaps the most most unusual aspect is that although Alpine is quite widely used, there's a good chance that many of its users don't realize that they're using it. As we said when we looked at Alpine 3.16 about a year back, Alpine is the default base container for Docker, although you can also choose something more mainstream, such as Ubuntu or Debian.
Docker's Alpine container image has been downloaded over a billion times. That is quite substantial, although to be fair, the Docker Ubuntu image also has more than a billion downloads. The key difference, though, is size. For example, to go by JFrog's comparison, the default Ubuntu image contains nearly 300 utilities, while Alpine has well under 100, mostly provided by one binary: busybox. The result is a significant size difference. At the time of writing, the minimal Ubuntu 22.04 image is just under 30MB, while the Alpine one is 3.24MB – well under the 5MB they claim.
- An unexpectedly fresh blast from the past, Freespire 9.5 has landed
- Ubuntu 23.04 welcomes three more flavors, but hamburger menus leave a bad taste
- When it comes to Linux distros, one person's molehill is another's mountain
- Sick of GNOME, Snap and Flatpak? You might like Linux Lite, but beware rough edges
That's quite a difference. If you're building containers, there are lots of good reasons to use Ubuntu – it's familiar to lots more people because it's the most widely used distro, with an estimated third of the Linux market. On the other hand, if you're deploying containers on top, it makes less difference, and if it does what you need, using the much smaller Alpine image could save you a lot of space.
As we said last year, The Reg FOSS desk rather likes Alpine. When we looked at Beta 4 of the Haiku OS, we used the same machine: a 2008 Thinkpad W500, with a Core 2 Duo, and maxed out with 8GB of RAM. Although we don't use that machine a lot, Alpine even survived being shrunk and set to dual-boot, which is not something it supports out of the box. Although it's not as fast as Haiku, it's by far the leanest and quickest Linux distro we've tried on that machine.
We updated that installation to 3.17 when we looked at Haiku, and now we've dug the machine out and updated it again. The upgrade to 3.18 went perfectly smoothly. Then, to test out the documentation as much as anything else, we added Network Manager – connecting to a new Wi-Fi network from the command line was not a trivial exercise, but it's all described – then installed AMD Radeon drivers and enabled the machine's discrete GPU. Nothing broke and it works better than ever.
We also did a clean install alongside Windows XP on our geriatric Sony Vaio P, a 32-bit Intel Atom-based VGN-P11Z. Getting the custom partitioning right was significantly complicated, but again, everything worked. It picks up the onboard Wi-Fi, which Alpine 3.17 could not, drives the Poulsbo GPU reasonably well, and uses as little memory with Xfce as the lightweight-by-Debian-standards Raspberry Pi Desktop.
Alpine Linux remains a tiny gem of a distro. It's a pleasure to see kernel 6.1.28 running quickly and smoothly on an Atom. It's an educational exercise to get it working, but we recommend trying it… especially if you previously had DNS-related problems. ®