Alpine Linux
Alpine Linux | |
---|---|
Entwickler | Alpine Linux Development Team |
Lizenz(en) | GPLv2, MIT, 2-BSD[1] |
Akt. Version | 3.21.0[2] vom 5. Dezember 2024 |
Architektur(en) | x86, x86_64, ppc64le, ARMv7 |
Sprache(n) | mehrsprachig |
https://alpinelinux.org/ |
Alpine Linux ist eine auf musl und BusyBox basierende Linux-Distribution, die in erster Linie für „Power-User entwickelt wurde, die Sicherheit, Einfachheit und Ressourceneffizienz schätzen“. Sie verwendet einen gehärteten Kernel und kompiliert alle Programme des Benutzerraums standardmäßig als position-independent Code mit Schutz vor Pufferüberlauf.[3] Seit 2016 wird bei Docker, einer Software für Containervirtualisierung, überwiegend Alpine Linux als virtuelles Betriebssystem der Container eingesetzt.[4] Hierdurch stieg das allgemeine Interesse an der Distribution erheblich, außerdem entstanden personelle Verflechtungen.[5] Ein Fork von Alpine Linux, postmarketOS, wurde entwickelt, um auf mobilen Geräten zu laufen.
Geschichte
[Bearbeiten | Quelltext bearbeiten]Ursprünglich begann Alpine Linux als ein Fork des LEAF-Projekts.[6] Die Mitglieder von LEAF wollten weiterhin eine Linux-Distribution, die auf eine einzige Diskette passt, während die Entwickler von Alpine Linux einige größere Pakete wie Squid und Samba sowie zusätzliche Sicherheitsfunktionen und einen neueren Kernel mit einbeziehen wollten. Eines der ursprünglichen Ziele war es, einen Rahmen für größere Systeme zu schaffen; obwohl es für diesen Zweck verwendbar ist, ist dies mittlerweile kein primäres Ziel mehr.
Versionen
[Bearbeiten | Quelltext bearbeiten]Version | Release-Datum[7] | End-of-life Datum[8] | Kernel release[7] |
---|---|---|---|
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 | 4.4.xx |
3.6 | 2017-05-24 | 2019-05-01 | 4.9.xx |
3.7 | 2017-11-30 | 2019-11-01 | 4.9.xx |
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 | 4.19.xx |
3.11 | 2019-12-20 | 2021-11-01 | 5.4.xx |
3.12 | 2020-05-29 | 2022-05-01 | 5.4.xx |
3.13 | 2021-01-14 | 2022-11-01 | 5.10.xx |
3.14 | 2021-06-15 | 2023-05-01 | 5.10.xx |
3.15 | 2021-11-24 | 2023-11-01 | 5.15.xx |
3.16 | 2022-05-23 | 2024-05-23 | 5.15.xx |
3.17 | 2022-11-22 | 2024-11-22 | 5.15.xx |
3.18 | 2023-05-09 | 2025-05-09 | 6.1.xx |
3.19 | 2023-12-08 | 2025-11-01 | 6.6.xx |
3.20 | 2024-05-22 | 2026-04-01 | 6.6.xx |
edge | rolling | — | — |
Eigenschaften
[Bearbeiten | Quelltext bearbeiten]- Paketverwaltung
- Alpine verwendet ein eigenes Paketverwaltungssystem, apk-tools, welches ursprünglich eine Sammlung von Shellskripten war, später aber in C neu geschrieben wurde. Alpine enthält derzeit die am häufigsten verwendeten Pakete wie GNOME, Xfce, Firefox und andere.
- Vom RAM aus
- Alpine Linux kann als Run-from-RAM-Distribution installiert werden. Das Tool LBU (Alpine Local Backup) ermöglicht optional das Sichern aller Konfigurationsdateien in einer APK-Overlay-Datei (normalerweise abgekürzt als apkovl), einer tar.gz-Datei, die standardmäßig eine Kopie aller geänderten Dateien in
/etc
speichert (mit der Option, weitere Verzeichnisse hinzuzufügen). Dies ermöglicht Alpine, in anspruchsvollen eingebetteten Umgebungen zuverlässig zu arbeiten oder (teilweise) partielle Festplattenausfälle zu überleben, wie sie manchmal in öffentlichen Cloud-Umgebungen auftreten. - Sicherheit
- Bis Alpine 3.7 war ein gehärteter Kernel im Standard Alpine-Linux-Kernel enthalten, was dazu beitrug, die Auswirkungen von Exploits und Schwachstellen zu reduzieren[9]. Alle Pakete werden mit einem Schutz gegen Pufferüberlauf kompiliert, um die Auswirkungen von Userland-Pufferüberläufen zu verringern.
- Vernetzung
- Alpine Linux ist die einzige Distribution, die standardmäßig Patches enthält, die die Verwendung effizienter vermaschter VPNs mit dem DMVPN-Standard ermöglichen.
- Virtualisierung
- Alpine Linux hat Xen-Hypervisoren zuverlässig in aktuellen Versionen unterstützt, wodurch Probleme vermieden werden, die bei Enterprise-Distributionen auftreten. (Der Standard-Linux-Hypervisor KVM ist ebenfalls verfügbar.)
- Größe
- Das Basissystem in Alpine Linux ist nur 4–5 MB groß (ohne Kernel). Dies ermöglicht sehr kleine Linux-Container, ca. 8 MB groß, während eine minimale Installation auf Festplatte möglich ist (ungefähr 130 MB). Der Linux-Kernel ist viel größer. Der 3.18.16-Kernel enthält 121 MB ladbare Kernel-Module (hauptsächlich Treiber) zusätzlich zu den 3,3 MB für das Basis-Image des x86-64-Kernels.
- Alpine Configuration Framework (ACF)
- Optional ist ACF eine Anwendung zum Konfigurieren einer Alpine Linux-Maschine mit ähnlichen Zielen wie Debian Debconf. Es ist ein Standard-Framework basierend auf einfachen Lua-Skripten.
- C-Standard-Bibliothek
- Alpine Linux verwendete zuvor die C-Bibliothek uClibc anstelle der am häufigsten verwendeten traditionellen GNU C-Bibliothek (glibc). Die uClibc ist leichtgewichtiger, hat aber den wesentlichen Nachteil, dass sie mit der glibc nicht binär kompatibel ist. Daher muss alle Software für die Verwendung mit der uClibc neu kompiliert werden, damit sie ordnungsgemäß funktioniert. Ab dem 9. April 2014 wechselte Alpine Linux zu musl, was eine teilweise binäre Kompatibilität mit der glibc zur Folge hat.
- Init-System
- Das einfache und leichte OpenRC ist das Init-System, welches von Alpine Linux verwendet wird. Damit verwendet Alpine im Gegensatz zu den meisten Distributionen nicht systemd.
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Offizielle Website
- Offizielles Wiki
- Paul Krill: Hardened Node.js distro comes to Docker-friendly Alpine Linux. Computerworld.com.au. 18. April 2017, abgerufen am 31. Dezember 2017.
- Paul Krill: Container-friendly Alpine Linux may get Java port. Infoworld.com. 24. Februar 2017, abgerufen am 31. Dezember 2017.
- Kristian Kißling: Alpine-Linux 3.0.0 mit Musl Libc. Linux-Magazin. 5. Juni 2014, abgerufen am 31. Dezember 2017.
- Adrian Bridgwater: Alpine Linux is an OS at a new peak of binary packaging. Computerweekly.com. 25. Mai 2017, abgerufen am 31. Dezember 2017.
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Shiz …: Alpine License information. 14. Juni 2017, abgerufen am 8. Januar 2019.
- ↑ Alpine Linux 3.21.0 Released. 5. Dezember 2024 (abgerufen am 6. Dezember 2024).
- ↑ https://alpinelinux.org/about/
- ↑ Michael Plura: Federleicht. 2019, abgerufen am 16. September 2020.
- ↑ Swapnil Bhartiya: Meet Alpine Linux, Docker’s Distribution of Choice for Containers. 28. März 2017, abgerufen am 16. September 2020.
- ↑ linux.leaf.devel – Re: [leaf-devel] 2.6.x kernel support? - msg#00039 – Recent Discussion OSDir.com. Archiviert vom am 14. Mai 2016 .
- ↑ a b https://alpinelinux.org/posts/ NEWS ARCHIVE
- ↑ https://alpinelinux.org/releases/ RELEASE BRANCHES
- ↑ Alpine 3.8.0 released | Alpine Linux. Abgerufen am 24. Juni 2023.