Alpine Linux
Developer | Alpine Linux development team |
---|---|
OS family | Unix-like |
Working state | Active |
Source model | Free and open source software |
Latest release | 2.2.0 / 3 May 2011 |
Repository | |
Marketing target | Developers, power users |
Available in | Multilingual |
Update method | APK (command line frontend) |
Package manager | APK |
Platforms | x86 |
Kernel type | Monolithic (Linux) |
Userland | Busybox (coreutils are optional) |
Default user interface | X11 (XFCE, GNOME, or others) or command line |
Official website | [1] |
Alpine Linux is a Linux distribution based on uClibc and BusyBox, which has the goal of being lightweight and secure by default while still being useful for general-purpose tasks. Alpine Linux uses PaX and grsec in the default kernel and compiles all packages with stack-smashing protection. It is primarily designed for x86 Routers, Firewalls, VPNs, VoIP and servers. [1]
History
Originally, Alpine Linux began as a fork of the LEAF project[2]. The members of LEAF wanted to continue making a Linux distribution that could fit on a single floppy disk, whereas the Alpine Linux wished to include some more heavyweight packages such as Squid and Samba, as well as additional security features and a newer kernel. One of the original goals was to create a framework for larger systems; although usable for this purpose, this is no longer a primary goal.
Features
- Package management: Alpine uses the apk-tools package management system. Alpine currently contains most commonly used packages such as GNOME, Xfce, Firefox, and others. However, some packages, such as KDE, have not been ported yet.
- Running from RAM: By default, Alpine Linux is a run-from-ram distribution. The LBU (Local BackUp) tool optionally allows all configuration files to be backed up to an APK overlay file (usually shortened to apkovl), a tar.gz file that by default stores a copy of all changed files in /etc (with the option to add more directories).
- Security: PaX and grsec are included in the default Alpine Linux kernel, which aids in reducing the impact from exploits similar to the vmsplice() local root exploit.[3] All packages are also compiled with stack-smashing protection to help mitigate the effects of userland buffer overflows.
- Size: the base system in Alpine Linux is designed to be only 4-5MB in size (excluding the kernel). [1]
- Alpine Configuration Framework (ACF): While optional, ACF is an application for configuring an Alpine Linux machine, with goals similar to Debian's debconf.
- C standard library: Alpine Linux uses uClibc instead of the traditional glibc most commonly used. Although lighter weight, it does have the significant drawback of being binary incompatible with glibc. Thus, all software must be compiled for use with uClibc to work properly.