Cos'è una distribuzione?

Una distribuzione Linux, o distro in gergo tecnico, è un sistema operativo basato su Linux. Un sistema operativo è un insieme di kernel, librerie e programmi utili per il funzionamento del sistema, ed un gestore grafico.
Una buona distribuzione Linux contiene tra le applicazioni di base, oltre ai programmi utili all'utente, tipo programmi per ufficio, masterizzazione, grafica ed audio/video, anche delle utilità per l'installazione della distro su hard disk e per la gestione (installazione e rimozione) di pacchetti aggiuntivi rispetto alla versione di partenza.
Un pacchetto è un insieme di files che contiente un installer o dei file sorgente da compilare, altri files di configurazione ed eventualmente delle librerie, necessarie al funzionamento del programma. Il pacchetto è necessario per installare le applicazioni sul nostro pc. Una delle caratteristiche più innovative dei sistemi basati su Linux è la dipendenza: ogni volta che installeremo un programma, qualora questo avesse bisogno di altri pacchetti per un suo corretto funzionamento, il sistema operativo andrà a cercare al suo interno se questo è già presente. Se non lo è, i pacchetti necessari saranno installati, se lo è i pacchetti necessari verranno utilizzati "in comune" tra varie applicazioni, senza essere re-installati ad hoc per ogni pacchetto. Questa forte innovazione rispetto, ad esempio, a Windows, permette di avere un sistema operativo più leggero, quindi più veloce e meno pesante rispetto alla dimensione totale dei files sul disco.
La "costruzione" di una nuova distribuzione dal nulla (o, come si dice in gergo, from scratch) passa attraverso una serie di fasi che possiamo riassumere nelle seguenti:
1. scelta di un sistema host, ossia una distribuzione pre-esistente, che ci fornisca un ambiente di sviluppo adeguato, sostanzialmente costituito da compilatori di sorgenti, programmi per la scrittura del codice, ed una shell
2. costruzione dell'ambiente di lavoro, costituito da compilatori, librerie e shell, indipendenti dalla distribuzione utilizzata finora
3. costruire un sistema di linkaggio (collegamento), utile per riconoscere le dipendenze da applicazioni e librerie dei vari programmi. Questo è importante perché, nel caso in cui molte applicazioni dipendano ad esempio da una libreria, permette di aggiornare tutte le applicazioni aggiornando solo la libreria da cui dipendono.
4. creazione dell'albero delle directories
5. compilazione del kernel
6. configurazione del bootloader
7. creazione dei files di configurazione
Questa riportata sopra non rappresenta una lista esaustiva di cose da fare per creare una distribuzione, è solo una linea-guida molto approssimativa che rende solo l'idea di ciò che c'è da fare per creare una distro che faccia funzionare il pc. A queste cose di base, se vogliamo creare una distro funzionale, vanno aggiunti altri passaggi, come ad esempio la creazione di un sistema di riconoscimento delle periferiche, l'aggiunta di un desktop environment e lo sviluppo di pacchetti ad hoc per la nostra distribuzione.
Se avete un progetto ambizioso e volete lanciarvi in questa avventura, il vostro sito di riferimento deve essere Linux from Scratch.
Se la cosa vi sembra troppo complessa ma non volete rinunciare alla vostra distro personalizzata, una valida opzione consiste nel modificare una distro pre-esistente. In questo caso, la scelta migliore è probabilmente quella di prendere in considerazione una distro server (che rappresenta una versione minimale della distro ufficiale) ed aggiungere in seguito i pacchetti desiderati. Modificando una versione desktop di una distro, eliminando o aggiungendo pacchetti rispetto alla versione di default, si rischia di portarsi dietro alcune dipendenze. Questo implica che la nostra distro conterrà files inutili e sarà dunque più pesante rispetto a come dovrebbe essere.

0
No votes yet
Your rating: None