Perché scegliere Alpine Linux e quando utilizzarlo

Alpine Linux è una distribuzione GNU/Linux progettata per essere leggera, sicura e facilmente personalizzabile, rendendola ideale per ambienti server e containerizzati. Ma c'è anche la possibilità di installare un desktop environment: ecco come.

Sono tante le distribuzioni Linux che, con il passare del tempo, sono diventate sempre più pesanti. Alpine Linux è una distro GNU/Linux che punta sul minimalismo, presentandosi sprovvista di tutti i componenti ritenuti superflui. L’obiettivo è fornire agli utenti le più ampie possibilità di personalizzazione, mettendo a disposizione una distro agile, installabile senza problemi anche sui dispositivi dotati di una configurazione hardware modesta o mediocre.

Sebbene la forza principale della distribuzione risieda nel suo utilizzo su server, specialmente nel contesto della containerizzazione, gli utenti Linux più esperti trovano in Alpine Linux flessibilità, semplicità e velocità.

Cos’è Alpine Linux

Come accennato in precedenza, Alpine Linux è una distribuzione leggera e minimalista, ideata principalmente per essere rapida, sicura e facilmente utilizzabile in ambienti cloud e containerizzati. Rispetto a molte altre distribuzioni, Alpine Linux adotta un approccio unico, orientato alla sicurezza e alle performance, che la rende particolarmente popolare nel mondo DevOps e tra gli sviluppatori di applicazioni containerizzate.

Di base, Alpine Linux non integra alcuna interfaccia grafica: non c’è un desktop environment e tutto funziona esclusivamente da riga di comando. Nulla vieta, come vedremo più avanti, di scegliere e installare il desktop environment che più si preferisce, basato o meno su Wayland.

Alpine è, inoltre, un sistema operativo privo di systemd, il che significa che non utilizza systemd come sistema di init predefinito. Si affida invece a OpenRC, sistema di init e gestore di servizi che fornisce un processo di inizializzazione semplice e modulare.

Vantaggi di Alpine Linux

  • Leggerezza e minimalismo: Alpine Linux è progettata per essere leggera, rendendola ideale per sistemi con risorse limitate. Consuma poco spazio su disco e ha requisiti di memoria ridotti, risultando in prestazioni migliori.
  • Sicurezza avanzata: Con un forte focus sulle pratiche di sicurezza, Alpine impiega misure avanzate come la protezione dello stack, un kernel rinforzato e la randomizzazione dello spazio degli indirizzi (ASLR). Il suo set di pacchetti minimalista riduce la superficie di attacco e garantisce un ambiente desktop più sicuro, per chi desiderasse installarlo e farne uso.
  • Personalizzabile: La distribuzione offre flessibilità e opzioni di personalizzazione. Si può godere delle più ampie libertà di scelta in fatto di window manager, desktop environment e pacchetti software.
  • Gestore di pacchetti potente: Alpine utilizza package manager efficiente e affidabile chiamato APK (Alpine Package Keeper). Il vasto repository di pacchetti facilita l’installazione e l’aggiornamento del software.
  • Sguardo alla containerizzazione: Alpine Linux è ampiamente utilizzato in ambienti containerizzati grazie alle sue dimensioni ridotte, al rapido avvio e alla superficie di attacco ridotta. È un’ottima scelta per eseguire container Docker, consentendo un utilizzo efficiente delle risorse.
  • Comunità attiva e supporto: La comunità di Alpine Linux è attiva; in grado di assicurare assistenza per gli utenti che desiderano esplorare e sfruttare al meglio la distribuzione.

Come installare Alpine Linux

Alpine Linux è distribuita in diverse edizioni, tra le quali è possibile scegliere. L’edizione Standard, scaricabile dal sito ufficiale del progetto insieme con le altre, è proposta – nella versione per l’architettura x86-64 – sotto forma di immagine ISO che pesa poco più di 200 MB. A conferma della leggerezza che contraddistingue l’innovativa distro GNU/Linux.

Di seguito la lista delle principali edizioni in cui Alpine Linux risulta ad oggi disponibile:

  • Standard: Essenziale per installazioni generiche, richiede una connessione di rete per scaricare i pacchetti aggiuntivi.
  • Extended: Include pacchetti per configurazioni server e router; si avvia interamente in RAM, utile per sistemi senza disco.
  • Netboot: Minimalista, pensata per il boot da rete, contiene solo i moduli necessari per l’avvio e la configurazione di rete.
  • Raspberry Pi: Ottimizzata per dispositivi Raspberry Pi con configurazioni specifiche per ciascuna versione hardware.
  • Virtual: Leggera, progettata per ambienti virtualizzati.
  • Xen: Supporta il ruolo di guest in ambienti Xen Hypervisor.

Come avviene ad esempio con Arch, l’installazione di Alpine Linux è interamente basata sulla riga di comando: è quindi necessario avviare la routine d’installazione dal file ISO quindi digitare root al prompt localhost-login. Non è richiesto l’inserimento di alcuna password.

Alpine Linux, installazione da riga di comando

Configurazione di base

L’avvio dell’installazione si concretizza semplicemente digitando setup-alpine e premendo il tasto Invio.

Va tenuto presente che per impostazione predefinita, Alpine Linux non carica il layout di tastiera italiano. Per digitare il trattino tra “setup” e “alpine” è quindi necessario premere il tasto ?/' sulla tastiera. Successivamente, basta digitare it e ancora it quando richiesto.

Layout tastiera Alpine Linux

I passaggi successivi sono altrettanto intuitivi:

  • Enter system hostname: va scelto un nome per la macchina GNU/Linux. Si può ad esempio digitare alpine o qualunque altro identificativo ci aggrada.
  • Available interfaces (…) which one do you want to initialize: specificare l’etichetta associata all’interfaccia di rete da usare (ad esempio eth0).
  • IP address for (…): l’indirizzo IP privato da assegnare all’interfaccia specificata in precedenza. Premendo Invio, si accetta di riceverlo via DHCP, ad esempio dal router locale.
  • Do you want to do any manual network configuration: si può premere Invio per accettare “No”.

A questo punto è necessario impostare una password da associare all’account root. Infine, l’installazione chiede di scegliere il fuso orario (per l’Italia vanno bene CET o UTC+1).

Definizione del mirror principale e creazione di un account utente

Alla comparsa della richiesta Enter mirror number, basta premere Invio per accettare il mirror software consigliato. Da qui Alpine Linux scaricherà, per impostazione predefinita, tutti i pacchetti e gli aggiornamenti necessari.

In corrispondenza di Setup a user, non si deve premere Invio bensì specificare il nome dell’account utente da creare sulla macchina Alpine Linux. Si può invece proseguire premendo Invio al messaggio Enter ssh key or URL. Come server SSH accettare OpenSSH con la pressione del tasto Invio.

Preparazione dell’unità di memorizzazione

Accertandosi di poter utilizzare l’unità installata internamente al dispositivo in uso, durante l’installazione di Alpine Linux si deve introdurre il suo identificativo (ad esempio sda) quindi premere Invio. Come modalità d’installazione, è possibile specificare una delle seguenti:

  • System Disk Mode (sys). Esegue un’installazione tradizionale, creando tre partizioni sul dispositivo di archiviazione selezionato. /boot contiene i file necessari per l’avvio del sistema; swap come estensione della memoria RAM; / è la radice del filesystem, che contiene tutti i file di sistema e le applicazioni.
  • Data Disk Mode (data). In questa modalità, il sistema è eseguito dalla RAM. Le operazioni si svolgono in memoria e le prestazioni risultano migliori. Lo storage persistente contenuto nella directory /var contiene dati come log di sistema, spool di stampa e file temporanei.
  • Crypt. Questa modalità consente di configurare un volume LUKS (Linux Unified Key Setup) crittografato. Durante l’installazione, Alpine chiede di specificare se si desidera utilizzare la modalità sys o data insieme alla crittografia.
  • LVM (Logical Volume Manager). Questa modalità abilita il Logical Volume Manager, che consente di gestire le partizioni in modo più flessibile. Gli utenti possono nuovamente scegliere tra le modalità sys o data durante l’installazione.

Per installare una configurazione classica, senza esigenze particolari, si può digitare sys alla richiesta How would you like to use it?

Digitando y alla richiesta Erase the above disk(s) and continue?, tutto il contenuto dell’unità indicata in precedenza sarà definitivamente rimosso e sovrascritto.

Configurazione dei repositories

Digitando reboot e premendo Invio, è possibile riavviare Alpine. Prima di procedere (sia nel caso di installazione su sistemi fisici che in ambienti virtualizzati), suggeriamo di rimuovere il supporto d’installazione della distribuzione.

Dopo aver effettuato il login con l’account root, si può digitare quanto segue per installare l’editor di testo nano e modificare il contenuto del file di configurazione dei repositories:

apk add nano
nano /etc/apk/repositories

Da questo file di configurazione è necessario rimuovere il carattere # che precede il riferimento al repository “community”. Quindi è possibile salvare i dati (CTRL+O) e chiudere l’editor nano (CTRL+X).

Alpine Linux: configurazione repository

Impostazione della shell Bash

Successivamente, è possibile aggiungere una shell Bash (che non è installata di default) e il comando sudo, per poi inserire l’utente aggiunto in precedenza come parte del wheel. Quest’ultima modifica rende possibile l’esecuzione dei comandi con privilegi di root (come shell predefinita, viene configurata la Bash):

apk add bash bash-completion sudo shadow
echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/wheel
adduser nomeutente wheel
usermod -s /bin/bash nomeutente

Installazione del desktop environment

Alpine Linux è già perfettamente funzionante così com’è, da riga di comando. Chi vuole, può tuttavia installare un desktop environment e usare le funzionalità desktop della distro GNU/Linux.

Alpine Linux installazione desktop environment

Per installare KDE Plasma (ma è possibile seguire una procedura simile, ad esempio, per GNOME e Xfce), si devono impartire i comandi seguenti:

setup-xorg-base

apk add plasma elogind polkit-elogind

apk add kde-applications firefox font-noto font-noto-cjk font-awesome font-noto-extra font-liberation font-terminus font-inconsolata font-dejavu

rc-update add sddm

reboot

Il primo comando configura le basi per il server grafico Xorg, installando i pacchetti necessari per far funzionare l’ambiente grafico.

Il penultimo comando, prima del riavvio della macchina, aggiunge SDDM (Simple Desktop Display Manager) alla gestione dei servizi di sistema, configurandolo per l’avvio automatico al boot del sistema. SDDM è un gestore grafico per desktop environment come KDE.

Alpine Linux, schermata desktop

Conclusioni

Alpine Linux si presenta come una distribuzione di riferimento per chi cerca un sistema operativo leggero, sicuro e altamente personalizzabile. La sua architettura minimalista e l’assenza di componenti superflui la rendono particolarmente adatta per ambienti con risorse limitate, offrendo performance ottimali sia su hardware modesto che in contesti containerizzati.

Il potente gestore di pacchetti APK garantisce un’esperienza utente fluida e versatile, consentendo agli utenti di costruire un sistema su misura per le loro esigenze specifiche. Che si tratti di sviluppatori che lavorano nel DevOps, amministratori di sistema o semplici appassionati di tecnologia, Alpine Linux offre gli strumenti necessari per un utilizzo efficiente e sicuro.

La possibilità di espandere le funzionalità tramite l’installazione di desktop environment come KDE Plasma, GNOME o Xfce consente di adattare la distribuzione a diversi casi d’uso, rendendola una scelta versatile per una vasta gamma di utenti. Con un’installazione intuitiva e un approccio focalizzato sulla sicurezza, Alpine Linux è senza dubbio una scelta strategica per chi desidera un controllo totale sul proprio sistema operativo.

Ti consigliamo anche

Link copiato negli appunti