Linux

Il sistema operativo Linux offre un ambiente operativo Unix standard. Sono tuttavia parecchie le funzionalita' e le caratteristiche aggiuntive che lo distinguono dagli altri sistemi operativi Unix.

Linux viene generalmente installato su "normali" PC (ma oltre che su processori Intel e' disponibile anche su alpha, SPARC, ...). A tutti gli effetti e' un sistema operativo "leggero" anche se potente e flessibile quanto gli altri sistemi Unix. Non ci sono problemi a farlo girare su PC con processore e memoria che sarebbero ormai insufficienti ad un normale utilizzo "personale".
Nonostante il fatto che sia gratuito o distribuito a basso costo, Linux e' un software di ottima qualita'. Per queste ragioni la sua diffusione e' molto elevata. In particolare presso gli ISP che abbisognano di un sistema operativo robusto ed aggiornato.

Linux e' software di pubblico dominio. Viene quindi distribuito, mantenuto e continamente aggiornato gratuitamente da un'ampio gruppo di volontari. Questo presenta grossi vantaggi: Linux e' continuamente aggiornato e migliorato, presenta immediatamente workaround relativi ad eventuali problemi SW di sicurezza o di altro, si trovano facilmente driver ed utility per ogni utilizzo... Il rovescio della medaglia e' la mancanza di un supporto ufficializzato ed il grande numero di versioni in circolazione. Le versioni possono differire tra loro parecchio e renderlo quasi "irroconoscibile" a chi e' abituato ad altre releases.

I continui aggiornamenti e la differenza tra una distribuzione e l'altra di Linux rendono difficile scrivere un documento come questo che ne riporti gli elementi e le caratteristiche di maggior interesse... ma cercheremo di scrivere qualcosa di utile comunque!
Un riferimento piu' aggiornato su versioni e caratteristiche si trova in questo documento.

Distribuzioni Linux

Generalmente il capitolo che parla di versioni e distribuzioni del sistemo operativo e' l'ultimo. Data la grande differenza tra le distribuzioni su Linux e' importante parlarne subito.

Linux e' nato dall'idea del finlandese Linux Torvalds che distribui', gia' nel 1991, i sorgenti di un sistema operativo Unix in grado di girare su Personal Computer. Lo sviluppo del sistema operativo e di tutti gli ambienti ed applicazioni che girano su di esso e' proseguito negli anni con la collaborazione di migliaia di contributi. L'insieme del kernel del sistema operativo, delle utility di base e delle applicazioni forma un ambiente completo e raccolto in un insieme chiamato distribuzione.
Le principali distribuzioni di Linux (almeno tra quelle che conosco) sono le seguenti:

Deve essere poi notato che esistono centinaia di altre distribuzioni con caratteristiche specifiche (eg. orientate alla sicurezza ed alla installazione di firewall, destinate ai programmatori e ricche di ambienti di sviluppo, che non richiedono installazione e girano semplicemente su CD, ...). A tutti gli effetti un buon sistemista Unix con un po' di conoscenza sulla programmazione e' in grado di sviluppare una propria distribuzione partendo dai sorgenti raccolti su Internet e costruendo un sistema operativo a sua immagine e somiglianza (chissa' dove ho gia' visto questa frase!). Un buon riferimento, sempre aggiornato, sulle distribuzioni Linux e' il sito Distrowatch.

Pacchetti ed applicazioni

Oltre che il sistema operativo vengono tipicamente distribuiti con Linux un'ampia serie di pacchetti ed applicazioni.

Tra i pacchetti piu' utilizzati per fornire servizi vi sono sicuramente: il web server Apache, il database relazionale Mysql, i linguaggi di programmazione Perl, PHP, Python, le interfacce grafiche Gnome e KDE, ...

Tra i pacchetti piu' comuni per l'utilizzo "personale": i desktop KDE e Gnome, gli ambienti di Office Koffice ed OpenOffice, i browser Mozzilla e Netscape, ...

Gestione del sistema

Su diverse distribuzioni di Linux si dispone di una interfaccia grafica X o web per l'amministrazione. E' assolutamente inutile descriverle... Nel seguito riportiamo qualche indicazione nel caso in cui si agisca su console con una distribuzione Red Hat o simile.

La shell piu' comunemente utilizzata e' la bash. Ottima: semplice e potente come la ksh con l'aggiunta dei colori e della gestione dei tasti cursore.

Il file che contiene la definizione dei file system da montare e' /etc/fstab. La sua configurazione si effettua con un normale editor (nulla e' piu' normale del vi).

Il file /etc/passwd ha il tipico formato BSD (insomma con la password criptata per intendersi).

I file dei messaggi di sistema e' /var/log/messages. Nella stessa directory si trovano gli altri file di log dei diversi servizi.

Il controllo delle attivita' (utilizzo di CPU, dischi, memoria, ...) sul sistema e' effettuato le normali utilities (ps, df, ...).

Il boot del sistema si effettua con il comando shutdown

Per attivare comandi al boot debbono essere inseriti gli script nella directory /etc/rc.d e quindi su /etc/rc.d/rcX.d.

Il sistema operativo e' caricato dal lilo (il loader dinamico del sistema operativo) seguendo le indicazioni contenute nel file /etc/lilo.conf. Generalmente viene utilizzato come file di boot /boot/boot.b e caricato il kernel /boot/vmlinuz.
Il file lilo.conf puo' configurare un numero molto elevato di valori utilizzati dal sistema operativo. La sintassi e' molto semplice: variabile=volore.

Il comando rpm permette la gestione del software. Puo' essere utilizzato in modo interattivo o da linea di comando e consente una gestione ed un controllo molto accurati. Sono per esempio possibili controlli basati su digest per evitare la presenza di virus e trojan horse.

Configurazioni particolari

Configurazioni di cluster, mirror di disco, ... sono piuttosto rare su Linux anche se le versioni piu' recenti del kernel le supportano egregiamente. Spesso si tengono semplicemente in linea piu' sistemi... Piuttosto Linux e' il sistema su cui prima di tutti gli altri Unix si hanno i supporti per devices e periferiche di nuova realizzazione su piattaforma Intel.


Testo: Linux
Data: 2 Giugno 1998
Versione: 1.1.2 12 Febbraio 2003
Autore: mail@meo.bogliolo.name