Alpine Linux
Developer | Alpine Linux development team |
---|---|
OS family | Linux (Unix-like) |
Working state | Active |
Source model | Open source |
Initial release | August 2005[1] |
Latest release | 3.12.1 / 21 October 2020[2] |
Repository | |
Marketing target | Developers, power users |
Available in | Multilingual |
Package manager | APK |
Platforms | x86, x86-64, ARMhf, AArch64, ppc64le, s390x |
Kernel type | Monolithic (Linux) |
Userland | BusyBox (GNU Core Utilities are optional) |
Default user interface | Command-line interface |
Official website | alpinelinux |
Alpine Linux is a Linux distribution based on musl and BusyBox, designed for security, simplicity, and resource efficiency.[3][4][5][6][7] It used a hardened kernel until release 3.8 and compiles all user-space binaries as position-independent executables with stack-smashing protection.[8]
Because of its small size, it is commonly used in containers providing quick boot-up times.[9]
History
Originally, Alpine Linux began as a fork of the LEAF Project.[1] 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.
Version history
Version | Release date[10][11] | End-of-life date[12] | Kernel release |
---|---|---|---|
2.0 | 2010-08-16 | 2012-04-01 | — |
2.1 | 2010-11-01 | 2012-11-01 | — |
2.2 | 2011-05-03 | 2013-05-01 | — |
2.3 | 2011-11-01 | 2013-11-01 | — |
2.4 | 2012-05-02 | 2014-05-01 | — |
2.5 | 2012-11-07 | 2014-11-01 | — |
2.6 | 2013-05-17 | 2015-05-01 | — |
2.7 | 2013-11-08 | 2015-11-01 | — |
3.0 | 2014-06-04 | 2016-05-01 | — |
3.1 | 2014-12-10 | 2016-11-01 | — |
3.2 | 2015-05-26 | 2017-05-01 | 3.18.xx |
3.3 | 2016-01-06 | 2017-11-01 | 4.1.xx |
3.4 | 2016-05-31 | 2018-05-01 | 4.4.xx |
3.5 | 2016-12-22 | 2018-11-01 | |
3.6 | 2017-05-24 | 2019-05-01 | 4.9.xx |
3.7 | 2017-11-30 | 2019-11-01 | |
3.8 | 2018-06-26 | 2020-05-01 | 4.14.xx |
3.9 | 2019-01-29 | 2021-01-01 | 4.19.xx |
3.10 | 2019-06-19 | 2021-05-01 | |
3.11 | 2019-12-19 | 2021-11-01 | 5.4.xx |
3.12 | 2020-05-29 | 2022-05-01 | |
3.13 | rolling | — | — |
Legend: Old version, not maintained Old version, still maintained Latest version Latest preview version |
Features
Alpine uses its own package-management system, apk-tools,[13] which originally was a collection of shell scripts but was later rewritten in C. Alpine currently contains most commonly used packages such as GNOME, Xfce, Firefox, and others.
Alpine Linux can be installed as a run-from-RAM operating system. The LBU (Alpine Local Backup)[14] 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). This allows Alpine to work reliably in demanding embedded environments or to (temporarily) survive partial disk failures as sometimes experienced in public cloud environments.
A hardened kernel was included in the default distribution for up to and including Alpine 3.7, which aids in reducing the impact of exploits and vulnerabilities. All packages are also compiled with stack-smashing protection to help mitigate the effects of userland buffer overflows.
By default, includes patches that allow using efficient meshed VPNs using the DMVPN standard.
It has reliably had excellent support of Xen hypervisors in up-to-date versions, which avoids issues as experienced with Enterprise Distributions. (The standard Linux hypervisor KVM, is also available.)
It allows very small Linux containers, around 8 MB in size, while a minimal installation to disk might be around 130 MB.[15]
Alpine Configuration Framework (ACF): While optional, ACF is an application for configuring an Alpine Linux machine, with goals similar to Debian's debconf. It is a standard framework based on simple Lua scripts.[16]
It previously used uClibc as its C standard library instead of the traditional GNU C Library (glibc) most commonly used. Although it is more lightweight, 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. As of April 9, 2014,[17] Alpine Linux switched to musl, which is partially binary compatible with glibc.[18]
The lightweight OpenRC is the init system currently used by Alpine Linux.[19] Unlike many distributions, including Debian, Ubuntu, RHEL, Arch Linux and CentOS, Alpine does not use systemd.
References
- ^ a b "linux.leaf.devel - Re: [leaf-devel] 2.6.x kernel support? - msg#00039 - Recent Discussion OSDir.com". Archived from the original on 14 May 2016.
- ^ "Alpine Linux 3.12.1 Released". www.alpinelinux.org. Retrieved 2020-10-21.
- ^ Review: Alpine Linux is made for Docker | InfoWorld
- ^ Alpine Linux 2 review | LinuxBSDos.com
- ^ Security-Oriented Alpine Linux 3.7 Has UEFI Support, GRUB Support in Installer, Softpedia News
- ^ 10 Most Secure Linux Distros For Complete Privacy & Anonymity | 2017 Edition, FossBytes
- ^ Is Docker ditching Ubuntu Linux? Confusion reigns | Network World
- ^ about | Alpine Linux
- ^ Meet Alpine Linux, Docker’s Distribution of Choice for Containers
- ^ Alpine Linux News archive
- ^ Announcements on DistroWatch.com
- ^ Alpine Linux:Releases
- ^ "Alpine Linux package management".
- ^ "Alpine local backup".
- ^ "About".
- ^ "Alpine Configuration Framework".
- ^ "Release notes". alpinelinux.org. Retrieved 6 May 2018.
- ^ "musl FAQ".
- ^ "Alpine Linux Init System".