Alpine Linux

From LinuxReviews
Jump to navigationJump to search
Tux-000d-200.png

Alpine Linux runs entirely in RAM, thus must be very small - but is fast as hell and a "minimal" Linux distribution. Alpine is made with musl libc and busybox as a base. It uses it's own apk package manager and OpenRC (rather than systemd) for it's init system. It can be used as a base to build containers or simple servers running on really weak hardware.

A minimal installation will do fine on just 200 MB and containers can be made as small as 10 MB. This is NOT a distribution meant provide a fancy graphical environment with web browsers and applications.

Alpine Linux has packages for x86_64 (the regular desktop PC computers), x64, aarch64 (ARM), ppc64le (PowerPC) and s390x (IBM Z mainframes).

Under The Hood[edit]

Alpine-linux-3.11.png
Alpine Linux 3.11.

Most GNU/Linux distributions use the GNU glibc C library. Alpine Linux uses the much smaller musl libc (see the page "Comparison of C/POSIX standard library implementations for Linux") C library.

Alpine-linux-3.11-memory.png
Alpine Linux uses about 50 MB of memory once it's booted up.

Alpine Linux has a very small memory footprint. It's designed that way. It uses busybox instead of the usual bash shell so a lot of the regular commands who are usually provided by util-linux and coreutils are provided using symbolic links to busybox (which has those commands built-in). This is similar to router firmware like dd+wrt and typical Linux installations on embedded systems. This design decision means that it differs from most other distributions in several ways. As a basic example, there's no shutdown command if you'd like to shutdown -h now - you have to poweroff on Alpine Linux.

Alpine uses OpenRC to provide initialization and service management. OpenRC is a fine service manager with a small footprint. Most Gentoo Linux use it (both OpenRC and systemd are available options on Gentoo).

Verdict and Conclusion[edit]

If you've read so far and you have a purpose for Alpine Linux in mind then it's probably for you. It can be used as a basis for all sorts of low-footprint Linux deployments. As an example, it has node.js and NextCloud available for those who want to run their own cloud storage solution on a Raspberry Pi with a HDD attached to it.

If you don't have any simple server-like use-case in mind then this distribution is probably not for you. There are experimental packages for GNOME and KDE Plasma available for Alpine Linux 3.11 (released December 2019). They can be used but do note that desktop use is not what the developers had in mind when they put Alpine Linux together.

Links[edit]

Alpine Linux's website is at alpinelinux.org/ and the download page is at alpinelinux.org/downloads/.

A MediaWiki based Wiki with tutorials and other useful information is available at wiki.alpinelinux.org/wiki/.


Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.