Subscribe to our weekly newsletter and be kept up to date on the latest Linux releases. Your email address
will only be used for this newsletter, and you can unsubscribe at any time with a single click.

Alpine Linux is a community developed operating system designed for x86 routers, firewalls, VPNs, VoIP boxes and servers. It was designed with security in mind; it has proactive security features like PaX and SSP that prevent security holes in the software to be exploited. The C library used is uClibc and the base tools are all in BusyBox. Those are normally found in embedded systems and are smaller than the tools found in GNU/Linux systems.

Why Should I Try It?
We're partial, of course, but here are a few reasons:

It's quick: You can boot it from a USB stick and have a very usable system in less than 10 minutes.

It's simple: The package management and init system is a breeze to use.

It has the Alpine Configuration Framework (ACF): While optional, ACF is a powerful web application used for configuring an Alpine Linux device.

It's great for experimenting: Since the system configuration can be backed up to a single file, you will be able to test new configurations before installing them on a production system.

It supports Linux VServer: You can run virtualized hosts on it, similar to FreeBSD Jails. (You can even run them on RAM-based installs, and although it's not very practical, it is worth geek points!)

It's more secure: When The Linux 0-day vmsplice vulnerability was causing admins everywhere to upgrade their kernels post-haste, Alpine Linux systems were basically impervious. Yes, the code crashed the application, but the PaX protection prevented system compromise. The value of PaX and SSP has been proven on more than one occasion.

What's It Like?
It started out Gentoo-style, but is now self-hosting. The network configuration is similar to Debian. If you've ever used a BusyBox-based system before, it's pretty good. The Alpine developers have contributed a number of enhancements to BusyBox, in an effort to make the system run like any other.

As it is a BusyBox-based system, there are no manpages by default; BusyBox applets do not have all of the features of their real counterparts. So, you will run into situations where things don't run like they do on a "real" Linux system. When you run into those situations, just remember these two things:

The base installation is small enough for a firewall/router; there's nothing there except the basics. You can probably get what you need out of it using the tools that are there, although crudely. (sh / awk / sed / grep can do everything Perl can do... Really.)

Alpine has a complete set of packages, but you will need to explicitly choose what you wish to install.

What Should I Know?
In addition to basic UNIX management, you should know that...

Alpine Linux uses apk-tools for its package management system. You will need to learn about apk before you can effectively manage the system.

Alpine Linux uses OpenRC for its init system. You will need to know how to add services to the OpenRC startup process.

Alpine Linux uses the Alpine Local Backup Utility (lbu), primarily on RAM-based installs; you use it so you don't lose everything between reboots, but it can also be used to copy a new, tested and working configuration to a production system. You should know that lbu will only backup things in /etc by default.

You should also know that we are engineers, not documenters. There's not alot of documentation out there (yet). We are working on it, but could use the help. So in many cases, things are not documented as well as they should be.

How did Alpine Linux Begin?
Alpine Linux began life as a fork of the LEAF Project. The active members of the LEAF Project wanted to continue making a Linux distribution that ran off of a single floppy disk and we think that's great; however, our needs required Squid, DansGuardian, Samba, and a slew of other heavyweight applications. So, we ended up with a set of packages that fit onto a CD-ROM.

Why the Name Alpine?
Alpine originally stood for A Linux Powered Integrated Network Engine. The idea was that the distro would be focused on networking, and be a tiny "engine" or framework upon which larger systems could be built. Today, Alpine lives up to that name. The first open source implementation of Cisco's DMVPN, called OpenNHRP, was written for Alpine Linux. Improvements to networking functions in the Linux Kernel have started from patches and the needs of the Alpine Linux team.

In addition to its use as a firewall/router, Alpine Linux is also used in a number of installations as the basis for enterprise servers, running software such as PostgreSQL, Postfix, Asterisk, Kamailio, and being used for iSCSI SANs. It is the little engine that could.