Alpine Linux: When a 130 MB Distro Is the Right Choice
What musl, BusyBox, and apk actually buy you on a 130 MB distro, where Alpine shines on a VPS, and where it bites back with glibc and systemd assumptions.
Netbay Developer Relations
Netbay Engineering
On this page
Alpine Linux is a minimal, security-oriented distribution built on two deliberate substitutions: musl libc instead of glibc, and BusyBox instead of coreutils plus a shelf of GNU utilities. A fresh install occupies roughly 130 MB of disk and idles at a few tens of megabytes of RAM. That is not leftover roughness; it is the design goal. Whether it is the right choice for a given VPS depends almost entirely on what you plan to run on it.
What 130 MB Actually Buys
- Fewer packages means fewer CVEs to track, fewer things that can start at boot, and a hardening audit you can actually finish in an afternoon.
- A tiny disk and memory footprint leaves most of a small VPS to the actual workload instead of the operating system.
- Fast boot, measured in seconds, which is useful for CI throwaways and fleets that scale up and down.
- The same properties are why Alpine became the default base for countless container images.
apk: Small, Fast, Predictable
apk is the package manager, and it follows the same declarative philosophy as the rest of the distro: the file /etc/apk/world lists what you asked for, and apk makes reality match the file.
apk update && apk upgrade
apk add nginx
apk info -e nginx # exit code 0 means installed
apk search -v redis # verbose search
apk del nginx/etc/apk/world Is the Source of Truth
Every apk add writes the top-level request into /etc/apk/world, and dependencies are inferred from it. That makes installs effectively a constraint-solving exercise you can inspect, edit, and repair.
cat /etc/apk/world
# Pin an exact version when determinism matters
apk add nginx=1.28.0-r1
# Re-run resolution after manual tinkering breaks something
apk fix
# Install without refreshing indexes first, ideal in build scripts
apk add --no-cache nginxWhere Alpine Shines
Alpine is the right call for boxes whose job is narrow and whose software is Linux-native: edge proxies and load balancers, WireGuard and bastion hosts, DNS and DHCP helpers, CI runners that live for an hour, container hosts, and the small always-on helpers that do not justify a full distro. It is also pleasant to administer over SSH simply because there is less of it to read, less to wait for, and fewer moving parts to reason about during an incident. On a small VPS tier, the footprint difference is not cosmetic; it is the difference between the workload fitting comfortably and swapping.
Where It Bites
Two substitutions account for nearly every Alpine support ticket. First, musl is not glibc: precompiled vendor binaries built against glibc will not load without the gcompat shim, and even then behavior can differ in the corners. DNS resolution is a common trip point, because the musl resolver is deliberately simpler than the nsswitch stack and does not implement everything glibc setups rely on. Second, BusyBox applets are deliberately compact: grep has no -P, ps takes different flags, and shell scripts that lean on GNU extensions need rewriting. And there is no systemd: Alpine uses OpenRC, so unit files, journalctl habits, and most documentation snippets need translating before they work.
rc-update add nginx default
rc-service nginx start
# Check a vendor binary for missing glibc dependencies before you commit
ldd /opt/vendor/agent | grep 'not found'A Quick Decision Rule
If everything you plan to run is open source and built for Linux, Alpine usually just works and you get the footprint for free. If the box must run vendor-shipped binaries, expects systemd units verbatim, or depends on GNU-specific behavior, use a glibc distro and spend your time elsewhere. The 130 MB is genuinely attractive, but a compatibility failure on a Friday night costs more than the disk space ever saved.
Takeaway
Alpine rewards narrow, well-understood workloads with a tiny surface and fast boot, and punishes assumptions imported from glibc-and-systemd land. Classify the workload first, then pick the distro, not the other way around.
Whether you want a 130 MB base or a full glibc distro, you can spin up the Linux VPS you need on Netbay in under 60 seconds and pay as you go — netbayhosts.in.
Keep reading
Follow along on a real VPS
Deploy Linux in under 60 seconds
These guides are written against Ubuntu, Debian, and RHEL-family images — the same ones on NetBay.
Deploy an instance