Alpine Linux

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Alpine Linux
Alpine Linux.svg
Developer Alpine Linux development team
Written in {{#property:p277}}
OS family Unix-like
Working state Active
Source model Open source
Latest release 3.4.0 / 31 May 2016; 8 years ago (2016-05-31)[1]
Marketing target Developers, power users
Available in Multilingual
Package manager APK
Platforms x86, x86-64, ARMhf
Kernel type Monolithic (Linux)
Userland Busybox (GNU coreutils are optional)
Default user interface X11 (Xfce, GNOME, MATE or others) or command line
Official website alpinelinux.org

Alpine Linux is a Linux distribution based on musl and BusyBox, primarily designed for "power users who appreciate security, simplicity and resource efficiency". It uses PaX and grsecurity patches in the default kernel and compiles all user space binaries as position-independent executables with stack-smashing protection.[2]

History

Originally, Alpine Linux began as a fork of the LEAF project.[3] 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.[citation needed]

Features

  • Package management: Alpine uses its own package management system, apk-tools,[4] 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.
  • Running from RAM: Alpine Linux can be installed as a run-from-RAM distribution. The LBU (Alpine Local Backup)[5] 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. 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–5 MB in size (excluding the kernel).[citation needed] This allows very small Linux containers around 8 MB in size, while a minimal install to disk might be around 130 MB.[2] The Linux kernel is much larger; the 3.18.16 kernel includes 121 MB of loadable kernel modules (primarily drivers) in addition to the 3.3 MB for the base x86-64 kernel image.[citation needed]
  • Alpine Configuration Framework (ACF): While optional, ACF is an application for configuring an Alpine Linux machine, with goals similar to Debian's debconf.[citation needed]
  • C standard library: Alpine Linux previously used uClibc instead of the traditional glibc most commonly used. Although it is 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. Recently (as of April 9, 2014), Alpine Linux switched to musl, which is at least partially binary compatible to glibc.[6]
  • Init system: The simple and lightweight OpenRC is the init system currently used by Alpine Linux.[7] Unlike Debian, Ubuntu, RHEL and CentOS distributions of Linux, Alpine does not use systemd.

External links

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 alpinelinux.org/about
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.