Patrick Marchand

Alpine Linux Review

First posted on 2017-06-25, updated on 2018-08-09

Alpine Linux is a linux distribution that uses it’s own package manager (apk) and is linked to both libressl and musl libc. This, along with a small number of core packages and the use of busybox instead of the gnu userland, makes a full base install of Alpine fit under 130MB. It also uses OpenRC as it’s init system instead of the systemd behemoth. I tend to prefer the simpler, script based approach to init systems, as it makes it easier for me to understand exactly what’s going on with my system.

Install

The install process is pretty simple, once you’ve burned the iso on a disk or copied it to a usb, you boot into the live image and type down setup-alpine. The install script takes you through all the steps required to have a working base install, this is all done in the tui, there is no graphical installer.

It is actually just a wrapper around a bunch of other install scripts. So if you have to do some partitioning before going through with the last step (Install to disk), you can simply exit the script, partition and then boot the setup-disk script. It will detect your current setup and try to make it work automatically. While it doesnt always succeed in this, it works fairly well. I did run into an issue using nvme drives, I had to manually add the nvme drivers to mkfsinit.conf.

Other problems I ran into while installing where:

Use

After using it for a couple of months, I’ve been pleasantly satisfied with it’s power, simplicity and available packages. I’ve set up a qemu-kvm virtualized Windows guest, I’ve setup all my usual command line software and I tried a few test projects in haskell, which worked great. I’ve had to manually tell the package manager to install a few packages to get stack and cabal working correctly, but it wasn’t too hard. The only thing I don’t see myself doing much is playing games, as I cant use the proprietary nvidia drivers.

If I need a linux workhorse without proprietary packages, this is my goto distribution.