EncycloReader

Linux distribution based on musl and BusyBox

Alpine Linux

Developer| Alpine Linux development team
OS family| Linux (Unix-like)
Working state| Active
Source model| Open source
Initial release| August 2005; 18 years ago (2005-08)[1]
Latest release| 3.19.1 / 26 January 2024; 35 days ago (2024-01-26)[2]
Repository|

* gitlab.alpinelinux.org

Marketing target| General-purpose. Security, embedded systems and other resource-constrained systems, such as containers.[3]
Available in| Multilingual
Package manager| apk-tools
Platforms|

* x86,
* x86-64,
* ARMhf,
* ARMv7,
* AArch64,
* ppc64le,
* s390x

Kernel type| Monolithic (Linux)
Userland| BusyBox
Default
user interface| Ash
Official website| alpinelinux.org

Alpine Linux is a Linux distribution designed to be small, simple, and secure.[3] It uses musl, BusyBox, and OpenRC instead of the more commonly used glibc, GNU Core Utilities, and systemd.[4][5][6][7][8] This makes Alpine one of few Linux distributions not to be based on the GNU Core Utilities.[9]

For security, Alpine compiles all user-space binaries as position-independent executables with stack-smashing protection.[10]

Because of its small size and rapid startup, it is commonly used in containers providing quick boot-up times,[11][12] on virtual machines as well as on real hardware in embedded devices, such as routers, servers and NAS.[citation needed]

## History[edit]

Originally, Alpine Linux began as an embedded-first distribution for devices such as wireless routers, based on Gentoo Linux,[13] inspired by GNAP and the Bering-uClibc branch of the LEAF Project.[1] Founder Natanael Copa has said that the name was chosen as a backronym for "A Linux-Powered Network Engine" or some similar phrase, but that the exact phrase has since been forgotten.[14]

Alpine's package management system, the Alpine Package Keeper,[15] was originally a collection of shell scripts[16] but was later rewritten in C.[17] The aim of this package manager is to achieve a high install and update speed, which it does by writing new data directly in-place into the operating system's file system, rather than employing caching or compression.[14]

In 2014, Alpine Linux switched from uClibc to musl as its C standard library.[18]

A PaX hardened kernel was included in the default distribution to aid in reducing the impact of exploits and vulnerabilities,[19] but Alpine's maintainers chose to discontinue this support due to the PaX patch no longer being made publicly available.[20] Alpine still uses a hardened toolchain and position-independent executables to minimize the potential for stack-based attacks,[14] but is now based on the standard long term stable distribution of the Linux kernel.

## Features[edit]

Alpine's primary feature is its small size, which enables it to start quickly and run in environments very low in memory and storage, such as containers or embedded devices.

Alpine Linux can optionally be installed as a run-from-RAM operating system. This allows Alpine to work reliably in demanding embedded environments or to (temporarily) survive partial disk failures as sometimes experienced in public cloud environments. By default, Alpine running in this mode will only load a few key packages, but a tool called LBU (Alpine Local Backup)[21] is made available that allow changes in this boot configuration to be written to a special file called an APK overlay file (usually shortened to apkovl), a tar.gz file that by default stores a copy of all files in /etc that have been changed from the default configuration, with the option to track more directories as needed.

Alpine offers a number of preinstalled configuration scripts which guide the user through initial configuration of the system for common computing tasks.[22] In addition, Alpine also offers a webserver-based tool known as the Alpine Configuration Framework, which allows users less familiar with Alpine or the command line to configure the operating system in a way similar to that allowed by Debian's debconf utility. Alpine's configuration scripts are written entirely as UNIX shell scripts, which call a small ISO image parsing utility written in C and distributed in Alpine. The Alpine Configuration Framework is scripted in Lua.[23]

## Derivatives[edit]

postmarketOS, a Linux distribution for mobile devices, is based on Alpine Linux.[24]

## Integration with popular developer and administrator environments[edit]

Due to its robustness and compactness, Alpine Linux got tightly integrated with popular developer and system administrator environments and toolsets.

* Microsoft Store offers a deployment-ready version of Alpine WSL[25] for WSL2
* Docker offers Alpine Docker Official Image[26]
* Microsoft PowerShell provides an Alpine Linux specific build[27]

## Criticism[edit]

Alpine Linux is mainly criticized for compatibility issues with the musl library,[28][29] as well as for package pinning issues.[29][30]

## References[edit]

1. ^ a b "Re: [leaf-devel] 2.6.x kernel support?". SourceForge.
2. ^ "Alpine 3.19.1 released". 26 January 2024. Retrieved 26 January 2024.
3. ^ a b "about | Alpine Linux". alpinelinux.org.
4. ^ says, GigaTux (24 August 2010). "Alpine Linux 2 review | LinuxBSDos.com".
5. ^ Security-Oriented Alpine Linux 3.7 Has UEFI Support, GRUB Support in Installer, Softpedia News
6. ^ 10 Most Secure Linux Distros For Complete Privacy & Anonymity | 2017 Edition, FossBytes
7. ^ Noyes, Katherine (9 February 2016). "Is Docker ditching Ubuntu Linux? Confusion reigns". Network World.
8. ^ "OpenRC - Alpine Linux". wiki.alpinelinux.org.
9. ^ "What is Alpine Linux? | Definition from TechTarget". IT Operations. Retrieved 24 November 2023.
10. ^ "Alpine Linux official website under Secure section". alpinelinux.org/.
11. ^ "Meet Alpine Linux, Docker's Distribution of Choice for Containers". 28 March 2017.
12. ^ "Review: Alpine Linux is made for Docker". InfoWorld. 10 July 2017.
13. ^ "Re: [leaf-devel] 2.6.x kernel support?". SourceForge.
14. ^ a b c Small, Simple, and Secure: Alpine Linux under the Microscope, retrieved 30 June 2023
15. ^ "Alpine Package Keeper - Alpine Linux". wiki.alpinelinux.org.
16. ^ "apk-tools". SourceForge. 18 April 2013.
17. ^ "apk-tools - Alpine package manager". git.alpinelinux.org.
18. ^ "Release notes". alpinelinux.org. Retrieved 6 May 2018.
19. ^ "Alpine 3.8.0 released | Alpine Linux". alpinelinux.org. Retrieved 27 April 2022.
20. ^ "How does Alpine Linux harden its kernel? — alpinelinux lists". lists.alpinelinux.org. Retrieved 30 June 2023.
21. ^ "Alpine local backup - Alpine Linux". wiki.alpinelinux.org.
22. ^ alpine-conf, Alpine Linux, 17 June 2023, retrieved 30 June 2023
23. ^ "Alpine Configuration Framework Design - Alpine Linux". wiki.alpinelinux.org.
24. ^ "postmarketOS // real Linux distribution for phones". postmarketos.org. 28 April 2022.
25. ^ "Get Alpine WSL from the Microsoft Store". apps.microsoft.com. Retrieved 14 April 2023.
26. ^ "How to Use the Alpine Docker Official Image | Docker". www.docker.com. 8 September 2022. Retrieved 14 April 2023.
27. ^ sdwheeler (17 March 2023). "Installing PowerShell on Alpine Linux - PowerShell". learn.microsoft.com. Retrieved 14 April 2023.
28. ^ "Python – Docker Official Image". Docker Hub. Retrieved 4 November 2023. "The main caveat to note is that it does use musl libc instead of glibc and friends, so software will often run into issues depending on the depth of their libc requirements/assumptions."
29. ^ a b Syazwan, Ahmad (16 February 2019). "Moving away from Alpine". dev.to.
30. ^ Schindler, Stefan (23 March 2018). "The problem with Docker and Alpine's package pinning". Medium.

## External links[edit]

* Official website

* v
* t
* e

Linux distributions

Android|

* /e/
* Android-x86
* CalyxOS
* Celadon
* ColorOS
* DivestOS
* EMUI
* Fire OS
* GrapheneOS
* LineageOS
* MIUI
* One UI
* Paranoid Android
* PixelExperience
* Replicant
* Resurrection Remix OS
* OmniROM

Arch|

* ArchBang
* ArchLabs
* Artix
* Asahi
* BlackArch
* EndeavourOS
* Frugalware
* Garuda
* Hyperbola GNU
* LinHES
* Manjaro
* Parabola GNU
* SteamOS (3.0 onwards)
* SystemRescue

Debian|

| Ubuntu|

* Official: Edubuntu
* Kubuntu
* Lubuntu
* Ubuntu Budgie
* Ubuntu Cinnamon
* Ubuntu Kylin
* Ubuntu MATE
* Ubuntu Studio
* Ubuntu Unity
* Xubuntu

* Derivatives:
* Bodhi Linux
* elementary OS
* Emmabuntüs
* KDE neon
* Linux Lite
* Linux Mint
* LXLE Linux
* Peppermint OS
* Pop! OS
* Trisquel
* Ubuntu Touch
* Uruk
* Zorin OS

|

Other|

* antiX
* Astra
* Bharat Operating System Solutions
* BlankOn Linux
* Damn Small Linux
* deepin
* Devuan
* Elive
* Endless OS
* Kaisen
* Kali
* Knoppix
* MX Linux
* Parrot OS
* PureOS
* Raspberry Pi OS
* Q4OS
* Slax
* SparkyLinux
* SolydXK
* SteamOS (1.0–2.0)
* Tails
* UOS

Fedora|

* AlmaLinux
* CentOS Stream
* ClearOS
* EulerOS
* Linpus Linux
* MIRACLE LINUX
* Oracle Linux
* Qubes OS
* Red Hat Enterprise Linux
* Red Star OS
* Rocks Cluster Distribution
* Rocky Linux
* Sailfish OS
* Tizen

Gentoo|

* Calculate Linux
* ChromiumOS
* ChromeOS
* Nova OS

Slackware|

* Austrumi Linux
* Porteus
* Salix OS
* VectorLinux
* Zenwalk

Mandriva|

* ALT Linux
* Mageia
* OpenMandriva Lx
* PCLinuxOS
* ROSA Linux

SUSE|

* openSUSE
* SUSE Linux Enterprise
* Open Enterprise Server
* SUSE Studio Express
* GeckoLinux

Other|

* 4MLinux
* Alpine
* CHAOS
* Chimera Linux
* Clear Linux OS
* CRUX
* Kwort
* GoboLinux
* Guix SD
* KaiOS
* KaOS
* NixOS
* Puppy
* Source Mage
* Solus
* T2 SDE
* Tiny Core Linux
* Void

Discontinued|

| Debian|

* Ubuntu:
* Asturix
* Black Lab Linux
* Cub Linux
* Gobuntu
* gOS
* Linux Caixa Mágica
* LinuxTLE
* Pinguy OS
* Sabily
* Ubuntu GNOME

* Other derivatives:
* BackTrack
* Corel Linux
* CrunchBang Linux
* DoudouLinux
* Dreamlinux
* Feather Linux
* gNewSense
* HandyLinux
* Libranet
* Musix GNU+Linux
* Parsix
* Sunwah Linux

|

Gentoo|

* Container Linux
* Incognito
* Sabayon Linux
* xB Machine

Red Hat/Fedora|

* BLAG Linux and GNU
* CentOS
* Korora
* Linux for PlayStation 2
* Scientific Linux
* Think Blue Linux
* Turbolinux
* Vine Linux
* Yellow Dog Linux

Slackware|

* Damn Vulnerable Linux
* KateOS
* Kongoni
* NimbleX
* Platypux
* TopologiLinux

Other|

* Antergos
* Caldera OpenLinux
* Chakra
* CyanogenMod
* DemoLinux
* Familiar Linux
* Firefox OS
* B2G OS
* Floppyfw
* Foresight Linux
* Immunix
* Jurix
* Linux Router Project
* MCC Interim Linux
* MeeGo
* Mer
* Mobilinux
* Nitix
* OpenELEC
* Red Hat Linux
* Remix OS
* Softlanding Linux System
* Sorcerer
* Splashtop OS
* Turkix

* List
* Linux portal
* Comparison
* Category

* v
* t
* e

Linux

Linux kernel|

* History
* Linus's law
* Linux-libre
* Booting process
* Kernel oops
* Tux
* more…

Controversies|

* Criticism of Linux
* Criticism of desktop Linux
* GNU/Linux naming controversy
* Tanenbaum–Torvalds debate
* SCO and Linux

Distributions|

* General comparison
* Distributions list
* Netbook-specific comparison
* Distributions that run from RAM
* Lightweight
* Security-focused operating system
* Package manager
* Package format
* List of software package managers

Organizations|

* LinuxChix
* Linux Counter
* Linux Documentation Project
* Linux Foundation
* Linux Mark Institute
* Linux User Group (LUG)

Adoption|

* Adopters
* Desktop
* Embedded
* Gaming
* Mobile
* Range of use
* Linux malware

Media|

* DistroWatch
* Free Software Magazine
* Full Circle
* Linux.com
* Linux Format
* Linux Gazette
* Linux Journal
* Linux Magazine
* LinuxUser
* Ubuntu User
* Linux Outlaws
* Linux Voice
* LugRadio
* LWN.net
* Phoronix
* Revolution OS
* The Code

Professional related certifications|

* CompTIA Linux+
* Linux Foundation
* Red Hat
* Ubuntu

* Linux portal
* Free and open-source software portal
* Category

* v
* t
* e

Linux package management systems

dpkg|

* APT
* KPackage
* Synaptic
* Ubuntu Software Center
* aptitude
* dselect

RPM|

* APT-RPM
* DNF
* up2date
* urpmi
* Rpmdrake
* YUM
* ZYpp

Embedded systems|

* ipkg
* opkg

Distribution-agnostic|

* AppImage
* Flatpak
* GNU Guix
* Homebrew
* Nix
* pkgsrc
* Snap

Others (binary)|

* Entropy
* netpkg
* pacman
* PiSi
* PPM
* slackpkg
* slapt-get
* swaret
* upkg

Others (source)|

* Sorcery
* Portage

Front-ends|

* Autopackage
* Listaller
* PackageKit
* GNOME Software
* Apper

Related topics|

* AppStream
* Package format

* Linux portal
* Free and open-source software portal
* List
* Category
* Commons

* Italics indicates a discontinued or inactive package management system.

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template