Alpine Linux
Alpine Linux sistema operativo | |
---|---|
Sviluppatore | Alpine Linux team di sviluppo |
Famiglia | Linux (Unix-like) |
Release iniziale | (agosto 2005) |
Release corrente | 3.20.3 (6 settembre 2024) |
Tipo di kernel | Monolitico |
Piattaforme supportate | x86, x86-64, ARMhf, ARMv7, AArch64, ppc64le, s390x |
Interfacce grafiche | Ash |
Licenza | GNU GPL |
Stadio di sviluppo | Attivo |
Sito web | alpinelinux.org |
Alpine Linux è una distribuzione Linux che basa le sue fondamenta su musl come libreria C, BusyBox per i comandi base e OpenRC come sistema di init. E' indicata per gli utenti attenti alla sicurezza e all'efficienza delle risorse.[1] Utilizza un kernel Linux al quale sono applicate specifiche patch di sicurezza. I binari sono compilati nello spazio utente come file eseguibili indipendenti dalla posizione abbracciando il paradigma dello stack-smashing.[2] Grazie alle sue dimensioni ridotte viene spesso impiegata in sistemi che forniscono rapidi tempi di avvio,[3] su macchine virtuali e su sistemi embedded quali router, server e NAS.
Descrizione e funzionamento
[modifica | modifica wikitesto]Originariamente, Alpine Linux nasce quale fork del progetto LEAF. Mentre i membri di LEAF continuarono a sviluppare una distribuzione Linux che potesse essere inserita su un singolo disco floppy, gli sviluppatori Linux Alpine avrebbe voluto includere alcuni pacchetti aggiuntivi come Squid e Samba, oltre a ulteriori funzionalità di sicurezza e un nuovo kernel. Uno degli obiettivi originali era quello di creare un quadro per i sistemi più grandi; Sebbene utilizzabile per questo scopo, questo non è più un obiettivo primario.
Alpine utilizza un proprio sistema di gestione dei pacchetti denominato apk-tools. Originariamente si trattava di una raccolta di script shell per essere poi riscritto in C. Alpine contiene attualmente i pacchetti più comuni come GNOME, Xfce, Firefox e altri.
Alpine Linux può essere installato come distribuzione run-of-RAM. Lo strumento LBU (Alpine Local Backup) facoltativamente consente di eseguire il backup di tutti i file di configurazione su un file di sovrapposizione APK (di solito abbreviato a apkovl), un file tar.gz che memorizza per impostazione predefinita una copia di tutti i file modificati in / etc (Con l'opzione di aggiungere altre directory).
Un kernel hardenizzato è incluso nel kernel Alpine Linux predefinito, che aiuta a ridurre l'impatto di exploit simile al exploit locale root vmsplice (). Tutti i pacchetti sono anche compilati con protezione dello stack-smashing per contribuire a mitigare gli effetti di buffer overflow lato utente. Dimensione: il sistema di base in Linux Alpine è progettato per essere di soli 4-5 MB in dimensioni (escluso il kernel). Ciò consente di includere Linux molto piccoli, di circa 8 MB in dimensioni, mentre un'installazione minima su disco potrebbe essere Circa 130 MB. Il kernel Linux è molto più grande; Il kernel 3.18.16 include 121 MB di moduli di kernel caricabili (in primo luogo i driver) oltre ai 3,3 MB per l'immagine del kernel di base x86-64.
Alpine Configuration Framework (ACF): sebbene facoltativo, ACF è un'applicazione per la configurazione di una macchina Alpine Linux, con obiettivi simili a Debconf di Debian.
Per le C standard library, Alpine Linux precedentemente utilizzava uClibc invece della tradizionale libreria GNU C (glibc) più comunemente utilizzati. Anche se è più leggera, ha il significativo inconveniente di essere binario incompatibile con glibc. Quindi, tutto il software deve essere compilato per essere utilizzato con uClibc per funzionare correttamente. A partire dal 9 aprile 2014, Alpine Linux è passato a musl, che è parzialmente binario compatibile con glibc.
Sistema Init: l'OpenRC semplice e leggero è il sistema init attualmente utilizzato da Alpine Linux. A differenza di Debian, Ubuntu, RHEL, Arch Linux e distribuzioni CentOS di Linux, Alpine non utilizza systemd.
Derivate
[modifica | modifica wikitesto]postmarketOS, una distribuzione Linux per dispositivi mobili, è basata su Alpine Linux.[4]
Integrazione con ambienti di sviluppo e amministrazione
[modifica | modifica wikitesto]Grazie alla sua robustezza e compattezza, Alpine Linux, è stato integrato con ambienti e i set di strumenti più diffusi per sviluppatori e amministratori di sistema tra cui:
- Microsoft Store offre una versione di Alpine WSL pronta all'uso per WSL2 [5]
- Docker offre l'immagine ufficiale Alpine Docker [6]
- Microsoft PowerShell fornisce una build specifica per Alpine Linux [7]
Note
[modifica | modifica wikitesto]- ^ (EN) About Alpine Linux, su alpinelinux.org.
- ^ Alpine Linux official website under Secure section., su alpinelinux.org/.
- ^ (EN) Meet Alpine Linux, Docker’s Distribution of Choice for Containers, su thenewstack.io.
- ^ postmarketOS // real Linux distribution for phones, su postmarketos.org, 28 aprile 2022.
- ^ (EN) Get Alpine WSL from the Microsoft Store, su apps.microsoft.com. URL consultato il 14 aprile 2023.
- ^ (EN) How to Use the Alpine Docker Official Image | Docker, su docker.com, 8 settembre 2022. URL consultato il 14 aprile 2023.
- ^ (EN) dwheeler, Installing PowerShell on Alpine Linux - PowerShell, su learn.microsoft.com, 17 marzo 2023. URL consultato il 14 aprile 2023.
Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su Alpine Linux
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su alpinelinux.org.
- Repository sorgenti di Alpine Linux, su gitlab.alpinelinux.org.