Impressive lightweight Linux Alpine releases 3.16
Version 3.16.0 of Alpine Linux is out – one of the most significant of the many lightweight distros.
Version 3.16.0 is worth a look, especially if you want to broaden your skills.
Alpine is interesting because it’s not just another me-too distro. It bucks a lot of the trends in modern Linux, and while it’s not the easiest to set up, it’s a great deal easier to get it working than it was a few releases ago.
The version number sounds like a small step, but its version numbering is a little different, too. Alpine Linux 3.0.0 came out way back in 2014, meaning that the number after the first decimal is a significant step. The project describes this as “the first in the 3.16 stable series”, meaning that soon 3.16.1 will appear, then 3.16.2 and so on.
This version has better support for NVMe disks, and includes a new script to make it easier to install a desktop. The installation program, while remaining extremely minimal, now adds user accounts, including readable names, and can import SSH keys for them too.
As with most new distro versions, it also updates lots of core components, including a swath of current programming languages, and a choice of GNOME 42, KDE 5.24, or Xfce 4.16. This version also drops Python 2 and PHP 7.
Although systemd is growing and extending its reach into more of the Linux OS, Alpine is systemd-free: it uses OpenRC instead. Most of the major Linux distros use either RPM or DEB packages: Alpine has its own, APK. Almost every mainstream distro uses the GNU project’s C library,
glibc, but Alpine doesn’t: it uses the lightweight musl instead. Most desktop distros use a common shell such as
bash, but Alpine doesn’t, favouring the simpler busybox, mostly seen in phones and routers. This betrays its distant origins as a fork of the Linux Embedded Appliance Framework, or LEAF, which started out in the 1990s as a single-floppy-diskette distro to turn an old 486 PC into a router.
This means that Alpine is very minimal: it uses less disk and less storage than most distros, and it installs quicker, too. It can be configured to boot and run entirely from RAM, so that after it’s running, you can remove the boot medium. It can act as a Xen hypervisor host: Xen 4.16 is included, or KVM if you prefer.
This lightness and flexibility is why Docker chose Alpine Linux as its default. If you run Docker on a non-Linux host, for example in Docker Desktop on Windows and macOS, then your containers are probably running on Alpine Linux.
Native versions are available for 32- and 64-bit x86 and Arm, plus PPC64le and IBM s390x; MIPS64 was dropped in the last release.
If you wish, though, you can ignore all that stuff and install Alpine as a normal, full-function graphical desktop PC OS.
The Reg FOSS desk gave both the x86-32 and x86-64 versions quick whirls on VirtualBox and an elderly laptop. The installation process is ultra-minimal: the OS boots to a command prompt, you log in as
root, and if you’re using Wi-Fi, you then have to install and configure WLAN support manually.
Then you can run the
setup-alpine tool, which will format the hard disk – no dual-booting out of the box here – and build a minimal bootable system. Fortunately, if you need optional extras such as Wi-Fi support, there is a 750MB “Extended ISO” available which contains such additional tools. The standard ISO is under 150MB, and doesn’t contain much: you will need a working broadband connection, and we advise you to plug in an Ethernet cable.
Then, you reboot and continue setup, installing a desktop if you want one, and installing whatever tools and apps you need. Fortunately, the documentation is good, because it’s not a trivial job.
A very convenient new feature in this version is a
setup-desktop tool which will install one of three desktops (GNOME, KDE Plasma or Xfce) in a single step.
In Alpine 3.15 this was a multi-stage manual process, and to be honest, a few years ago, getting a GUI going at all defeated your correspondent completely. The new installer even installs Firefox 100 for you, which is handy: you will probably need it to Google what to do next. Such as, say, manually installing
network-manager, or adding sound support, or installing LibreOffice.
Note that being based on a different C library means that many off-the-peg Linux binaries won’t work. Alpine does include an optional
dpkg tool for installing Debian and Ubuntu packages, but the problem is that proprietary Linux apps such as Google Chrome depend on glibc and a whole host of other bits of Debian which just aren’t there on Alpine.
This is the first version of a new release, and we did encounter a few glitches. For example, the x86-64 ISO won’t boot from a Ventoy USB key, although it installed fine into a VM. The x86-32 version worked perfectly. Once we installed Xfce, some submenus of the Applications menu were missing their icons, showing just a placeholder – which also affected a VM upgraded from Alpine 3.15.
The ordinary user account created during setup couldn’t log in from a graphical session, because the setup program hadn’t created a home directory.
If you know your way around Linux, these are mostly trivial details, but such niggles mean we wouldn’t recommend Alpine to a Linux newbie.
We installed the 32-bit edition on one of the oldest machines we had to hand, a Thinkpad W500 with a Core 2 Duo CPU and a mere 100GB mechanical hard disk. Everything went fine, it installed in minutes, and for a 14-year-old laptop, the result was fast and responsive, and boots from cold in well under a minute.
It’s quite impressive to see a 2022 distro turn this old box back into the powerful workstation it was at the start of the Credit Crunch.
Alpine is an unusual little distro in several ways, including being unusually small and simple, and once you learn how to configure what you need, it works as well as more conventional distros that need five to ten times more resources. This version is easier to install than ever before, but barely any bigger. We are impressed. ®