Linux: il più conosciuto sistema operativo Open Source
Linux, o anche GNU/Linux, è un sistema che trova le sue radici nell'architettura UNIX e nell'ingegno dell'allora studente dell'università di Helsinki Linus Torvalds, che creò la versione 0.1 di quello che sarebbe diventato oggi il sistema operativo Open Source più famoso.
Già, Open Source. Perché sin dagli inizi Linus ha sempre reso il codice sorgente di Linux disponibile a tutti tramite la licenza GNU Program License, o GPL. Anche la maggioranza dei programmi per Linux ha licenza GPL o comunque Open Source. Negli anni il progetto si è evoluto, e ha portato a ciò che oggi conosciamo. Torvalds continua ad avere un ruolo centrale, anche se oggi c'è un vero e proprio team, nonché numerosissimi programmatori, volontari o professionisti, dietro al sistema del pinguino e ai programmi che lo compongono.
Oggi Linux è ovunque. Il vostro router con molta probabilità è basato su Linux, il vostro GPS potrebbe esserlo, anche il vostro smartphone. Anche il server a cui la vostra linea ADSL è collegata probabilmente usa Linux. A fronte di una scarsa diffusione sui PC casalinghi, Linux ha conosciuto una notevole espansione in vari ambiti.
Il kernel Linux
A dire la verità, non lo si potrebbe definire un vero e proprio sistema operativo, in quanto Linux è in realtà il solo kernel. Il kernel è la base del sistema, è il componente che gestisce le operazioni di Input/Output fondamentali e l'uso delle risorse di sistema. Vi sono vari tipi di kernel, e Linux è di tipo monolitico. Tutti i moduli che compongono il kernel condividono lo stesso spazio, e ciò consente una buona integrazione tra i vari componenti. Ciò comporta però qualche difficoltà quando si vogliono inserire nuovi moduli, ed ecco perché spesso si sente parlare di compilazione del kernel. Non è una operazione spaventosa, con buone guide è alla portata di tutti.
L'interfaccia grafica
Linux, come kernel, si usa solo a riga di testo. Per offrire un ambiente più ricco si usa il
server grafico. Esso si incarica della gestione di base di tutto ciò che riguarda la grafica, come il disegno delle finestre o i puntatori del mouse. Il server grafico più famoso è X, e la sua derivazione usata in Linux è X.org. Sopra al server grafico possiamo trovare il
desktop environment, l'ambiente grafico vero e proprio. E' quello che fornisce il desktop, le finestre e tutti gli elementi per utilizzare Linux mediante una interfaccia grafica. I DE più famosi sono certamente GNOME, KDE e l'emergente XFCE. Accanto a questi vi sono poi i più semplici
window manager, che si occupano dell'aspetto della finestra e della sua posizione sullo schermo. I DE solitamente hanno i loro window manager, ma ce ne sono anche altri. I più famosi sono lo strabiliante Compiz e il leggerissimo Fluxbox.
I file system
Bene o male, ci abbiamo sempre avuto a che fare con i
file system. Sono quelli che permettono la gestione e l'ordinamento dei nostri file. Su Linux ne abbiamo svariati, come ext4, XFS, Btrfs e molti altri. Il file system più usato è ext4. In generale, però, tutti i file system disponibili per Linux sono ottimi e la struttura del sistema rende possibile utilizzare tranquillamente partizionamenti misti. La struttura delle directory è comune, e parte dalla radice /, per poi addentrarsi in sottocartelle, come /bin, /home, /usr, /var, dove possiamo trovare i vari componenti del sistema. Spesso vi sono le partizioni di swap, utilizzate dal sistema come memoria virtuale qualora la RAM a disposizione si esaurisse.
Installazione dei programmi
Linux ha varie modalità per l'installazione dei programmi. Quella di base è tramite i sorgenti, solitamente in archivi TAR. Oltre a questi, può essere implementato un sistema automatizzato basato su un
gestore di pacchetti. I programmi vengono inseriti in pacchetti che, a seconda degli strumenti utilizzati, possono offrire varie opzioni di installazione. I formati di pacchetti più diffusi sono DEB e RPM. Per installarli, vengono utilizzati i
sistemi di gestione dei pacchetti, che possono essere sia a riga di comando, come apt e yum, oppure con una interfaccia grafica, come Synaptic.
Le distribuzioni Linux
Per convenzione, Linux viene associato all'intero sistema operativo. Ma poiché, come detto, di Linux c'è solo il kernel e poi ci sono altri componenti, ci sono varie implementazioni. Queste implementazioni sono le
distribuzioni. Tutte hanno una base comune, il kernel. Poi ognuna personalizza il sistema: si scelgono il server grafico (anche se ormai pure in questo caso vi è una standardizzazione verso X.org), il file system (anche qui, solitamente, si tende a usare ext4) il desktop environment e il gestore di pacchetti. Oltre a ciò, vengono caricati programmi e driver esterni a ciò che viene offerto di base.
Vi sono molte distribuzioni. Le più famose sono:
- Ubuntu - la più diffusa distribuzione, si basa su GNOME e DEB e si rivolge a un ampio bacino di utenza. Anche con KDE e XFCE. http://www.ubuntu.com/
- Debian - "mamma" di Ubuntu, fa del software libero e della stabilità i suoi punti di forza, il tema grafico è GNOME e i pacchetti sono i DEB, creati proprio da Debian stessa. http://www.debian.org/
- Mandriva - anche questa piuttosto diffusa, molto user-friendly, basata principalmente su KDE e con pacchettizzazione RPM. Anche con GNOME. http://www2.mandriva.com/
- OpenSUSE - distribuzione curata da Novell, potente e semplice allo stesso tempo, non ha un DE di preferenza, sebbene la si usi prevalentemente con KDE, e usa RPM. http://www.opensuse.org/
- Fedora - solida distribuzione, con alle spalle Red Hat. Privilegia il software libero, si basa su GNOME e usa RPM, ideato da Red Hat. Anche con KDE. http://www.fedoraproject.org/
- CentOS - si basa su una distribuzione a pagamento, Red Hat Enterprise Linux. E' senza il branding di Red Hat, e in questo modo, può essere offerta gratuitamente. Ha uno spiccato senso aziendale, pur non rimanendo del tutto insensibile al mondo più consumer. Usa GNOME e RPM. http://www.centos.org/
- Linux Mint - figlia di Ubuntu, cerca di migliorare ulteriormente l'esperienza con strumenti appositamente pensati e con una miglior selezione di programmi. Si basa su GNOME e usa DEB. Anche con KDE e XFCE. http://www.linuxmint.com/
- Puppy Linux - viene utilizzata di solito su vecchi PC dove le altre distribuzioni possono mostrare segni di fatica. Usa come DE il poco conosciuto JWM e come pacchetti PetGet. http://www.puppylinux.com/
- Damn Small Linux - anche qui ci troviamo di fronte ad un sistema leggero, fatto soprattutto per PC vecchi. Si basa su Fluxbox e non ha un sistema a pacchetti, per cui se si aggiunge qualcosa lo si fa a mano. http://www.damnsmalllinux.org/
- PCLinux OS - derivata di Mandriva, è pensata per un uso generale, forte di varie chicche. Si basa su KDE e usa RPM. http://www.pclinuxos.com/
- Gentoo - distribuzione molto particolare, non alla portata di tutti. Ci vuole infatti un po' di esperienza per poterla gestire. E' una rolling release, ossia viene aggiornata in modo continuo, senza tenere un numero di versione fisso. Un giorno è la X, l'indomani sarà la Y. Usa KDE e per i pacchetti usa Portage. http://www.gentoo.org/
- Sabayon - tutta italiana. Basata su Gentoo, ha la peculiarità di offrire di tutto e di più, è ricchissima di software. Non ha un DE preferito, sia KDE che GNOME hanno pari dignità. Per i pacchetti è usato Entropy, con Portage come opzione. http://www.sabayonlinux.org/
- Slackware - curata e mantenuta dal suo papà Patrick Volkerding, questa distribuzione richiede un po' di sbattimento, poiché è costruita in base alle sue esigenze e non potrebbero coincidere con quelle dell'utente. Stabilità e aderenza ai principi UNIX i punti di forza. Usa KDE e non ha pacchetti, si fa a mano. Anche con XFCE. http://www.slackware.com/
- Arch Linux - altra rolling release, che si basa sul principio KISS, Keep It Simple Stupid. Semplicità non è però sinonimo di facilità, dunque bisogna saper bene ciò che si fa, perché viene offerto di base un sistema minimale. Agnostica per il DE, usa Pacman per i pacchetti. http://www.archlinux.org/
Convivenza con Windows
Un punto sentito è quello della convivenza con Windows. Per quanto riguarda le maggiori distribuzioni, se si ha un po' di spazio libero su disco si sanno gestire automaticamente loro attraverso appositi strumenti. Ubuntu, Mandriva e OpenSUSE, sotto questo punto di vista, sono tra le più facili. Si crea un sistema multiboot, gestito dal
boot manager. Solitamente è GRUB, e si avvia prima dei sistemi operativi, consentendo la scelta del sistema da utilizzare, nonché l'avvio di strumenti di diagnostica in caso di problemi.