Alpine Linux
5 of 5 Stars
An extremely lightweight Linux distribution that still packs a lot of modern capabilities into it, including smooth package installation, removal and updates. I use it for small (1GB RAM) cloud servers because of its low resource requirements and smaller attack profile on installation. It would also be a good choice for old hardware or low-powered physical machines like a Raspberry Pi or a Pine Star64: it supports ARM (both 32-bit and aarch64) and RISC-V, and still supports older architectures like PowerPC and 32-bit x86 in addition to the more common x86_64.
Desktop environments work smoothly, though it does take a little effort to set one up.
The main things that have tripped me up:
- Remembering which set of commands I need to manage daemons. (openrc vs. system vs. systemctl vs....)*
- Remembering that apk uses add instead of install.
- Occasional compatibility issues when building (or trying to run precompiled) third-party software that doesn't work well with musl.
On the last one, the two that stick in my mind are a bug where super-long threads crashed Snac on musl systems (the dev ended up adding a configurable limit to how far back it would try to fetch) and being unable to run Servo on a desktop VM I've been using for testing.
*To be fair, the first two are issues I have with other distros as well. Between work and hobbies I use Fedora, Ubuntu, Debian, Arch and Alpine on a regular basis, and I often end up running the wrong package manager for the system I'm on, or passing the wrong parameters to it, and I always seem to pick either the wrong command out of service and systemctl, or the wrong order of the service name and action, or both!
— Kelson Vibber, 2024-08-05. Updated 2025-03-07.
External
Related Posts and Tags
Related posts: