Come è stato sottolineato nella lezione introduttiva, il sistema operativo UNIX evolve dalle ceneri di un grosso progetto che, negli anni 60', avrebbe dovuto portare alla nascita e allo sviluppo di MULTICS. Si trattava di un'idea ambiziosa che, sebbene poggiasse su solide basi, non avrebbe mai potuto dare i suoi frutti, principalmente, per l'immaturità dell'hardware disponibile, principale causa del suo fallimento.
Tuttavia, la solidità del progetto fu trasferita nella realizzazione di un sistema meno ambizioso ma non, per questo, meno interessante. Nacque così UNIX, il Sistema Operativo sviluppato alla Bell Laboratories da due ricercatori che avevano partecipato al progetto MULTICS. Le idee innovative che gli diedero forma sono ancor'oggi considerate fondamentali e alcune di esse sono state all'origine dello sviluppo successivo delle reti di calcolatori così come oggi le conosciamo.
Il sistema operativo UNIX, grazie al modo stesso con cui è venuto a maturazione, con la partecipazione di molti programmatori e per essere stato, il suo codice sorgente, quasi sempre open source, rimane ancora il sistema che, più di ogni altro, permette di governare al meglio l'elaboratore, sia nell'hardware che nel software.
Il linguaggio non è sempre pulito e immediato; anzi, il molti casi appare molto criptico e tradisce le sue origine tecnico-ingegneristiche. Purtroppo, fine alla fine degli anni 80' è rimasto un sistema per pochi adepti, confinato nei laboratori di ricerca, richiedendo, già dai suoi primi passi, una disponibilità di risorse hardware impensabile per i piccoli elaboratori personali (PC) che intanto si andavano sviluppando grazie ad Apple ed IBM.
Inaspettatamente agli inizi degli anni 90' cominciò a diffondersi una variante molto fortunata del sistema Unix che, dal suo inventore Linus Torvald, prende il nome di Linux. Il successivo sviluppo e la sua diffusione è stata così imponente che alla fine degli anni 90' una quota importante del mercato dei PC-server è stata definitivamente sottratta al monopolio Windows.
Oggi disporre del sistema operativo Linux sul proprio PC richiede uno sforzo limitato, permette di mantenere l'originario sistema Windows di cui il PC è normalmente dotato al momento dell'acquisto ed, inoltre, consente di scegliere fra una serie innumerevole di piattaforme Linux, ciascuna delle quali ha i suoi pregi e difetti.
La piattaforma Linux cui si farà riferimento nel seguito è quella nota come distribuzione Fedora, legata alla più famosa distribuzione Red Hat, basata su un'organizzazione del codice binario in pacchetti RPM, manipolati dal cosiddetto Red hat Package Manager con cui è possibile guidare l'installazione dei vari componenti del sistema. Attualmente la distribuzione Red Hat è orientata all'ambiente enterprise cosicchè chi vuol rimanere nell'ambiente Red Hat deve necessariamente rivolgersi alla distribuzione Fedora.
Nel seguito verrà spiegato in maggior dettaglio come procedere all'installazione, ponendo l'accento su quelli che ancor oggi sono considerati i punti critici dell'installazione che, come è noto, dipendono da alcune caratteristiche dell'hardware a disposizione e che possono riassumersi nei punti seguenti:
Un altro aspetto meno importante, ma necesario in alcuni casi, è quello che si riferisce alla variabile vga che eventualmente compare nei file lilo.conf e grub.conf di configurazione dei caricatori iniziali lilo e grub attivati, uno o l'altro, dal BIOS successivamente ai test di funzionalità eseguiti sull'hardware del computer al momento della sua accensione.
Va notato, a questo proposito, che quando si opta per l'installazione di Linux e si sceglie di farlo convivere con Windows, allora è necessario sostituire il booter originario di Windows con un caricatore più stabile e robusto, che può essere il LInux LOader oppure il più recente e robusto GRand Unified Bootloader, il cui compito è quello di preparare la macchina per l'esecuzione del kernel di Linux, oppure quello di Windows o altro kernel
Inoltre, in casi assai rari, può accadere che in PC di ultimissima generazione l'architettura della scheda madre, specialmente in relazione all'adattatore AGP per schede video ad alte prestazioni (come, ad esempio, le schede grafiche ATI Radeon, GForce, Trident, ecc...), queste non siano perfettamente compatibili con i meccanismi di gestione MMU. E' inevitabile, allora, il fallimento dell'attivazione del server X su cui si basa l'ambiente grafico di Linux. Tuttavia, tale eventualità è da considerarsi sempre più remota e, quasi sempre, superabile.
Nel caso in cui il software di probing automatico, di cui è dotato l'installatore di Fedora, non dovesse funzionare correttamente, il processo di installazione grafico non dovrebbe subire particolari contraccolpi: l'attivazione del driver vesa di default è in grado di garantire il mantenimento della finestra grafica. Eventualmente, al termine del processo di installazione, potrebbe essere richiesto un intervento manuale sui file di configurazione lilo.conf oppure grub.conf e xorg.conf da valutarsi caso per caso.
Dopo le brevi annotazioni precedenti, da tenere in grande considerazione nel caso sfortunato che l'installazione dovesse fallire, nel seguito verranno riepilogati i passi necessari allo scopo. Va detto, innanzitutto, che l'installatore Fedora x è fornito di interfaccia grafica la cui attivazione dipende dalla capacità di anaconda di riconoscere le caratteristiche dello specifico hardware grafico (scheda grafica, interconnessione AGP, video, multisync, ecc...) e lanciare l'esecuzione del server X che soddisfa i necessari requisiti.
Nel caso sfortunato in cui il server X non si attivasse, è sempre possibile eseguire l'installazione in modo testuale per poi procedere all'aggiustamento manuale dei file prima menzionati. Se, invece, il meccanismo di autoprobing funziona correttamente, allora l'installazione di Linux si presenta in forma ancora più semplice ed immediata di quanto non accada per l'installazione di Windows.
Prima di iniziare l'installazione di Linux si tenga presente che se la CPU presente sulla scheda madre è un processore originale Intel, e questo si capisce per il marchio Genuine Intel Inside sul computer stesso, allora si può procedere tranquilli per quanto riguarda la gestione dei tre livelli di memoria (quattro, se si considera anche la memoria virtuale) da parte del kernel di Linux. Nel caso, invece, di PC meno recenti, equipaggiati con CPU che siano processori intel compatibili, si potrebbero verificare inconvenienti durante l'esecuzione del kernel. Tuttavia le più recenti tecniche software, attualmente in uso negli odierni kernel 2.6.x di Linux, scongiura questa possibilità e i crash accidentali sono un'eventualità assai remota, per cui un processore AMD Athlon oppure VIA va considerato, a tutti gli effetti, equivalente ad un Pentium. Lo stessa dicasi per un processore Cyrix.
Considerate con la dovuta attenzione le problematiche appena citate e superate le ultime perplessità, è possibile procedere all'installazione che si sviluppa, grosso modo, nei sette punti riportati di seguito.
Prima di procedere all'installazione vera e propria è necessario disporre di sufficiente spazio su disco per installare il sistema, i propri applicativi e la cosiddetta area di swap. Tenendo presente la dimensione delle distribuzioni attuali, va considerata assolutamente inderogabile una disponibilità di almeno 8.0 Gb di spazio libero sul proprio disco, da dedicare a Linux.
Poichè è sempre utile disporre dell'installazione Windows, normalmente già presente sul proprio PC, si rende necessario procedere al partizionamento del disco senza distruggere il contenuto DOS-Windows. Questo è grazie a Partition Magic in ambiente DOS oppure GParted in ambiente Linux. In entrambi i casi si tratta di una semplice utility distribuita su CD-ROM da cui è possibile lanciare un ambiente DOS/Windows oppure Linux su cui eseguire l'applicazione.
Bisogna tenere presente che, dovendo modificare lo stato dell'hard disk, non è possibile utilizzare lo stesso disco per lanciare il sistema. Nel caso specifico, sia Partition Magic che GParted si presentano con un'interfaccia grafica autoesplicativa, attraverso la quale viene visualizzato quanto spazio su disco è attualmente in uso, lo spazio libero, il tipo di file-system presenti (tipicamente si trova la notazione fat32 oppure ntfs.
Prima di procedere al partizionamento va considerata la dimensione complessiva dell'hard disk e valutare l'impiego che si intende fare dei due sistemi. Un partizionamento che assegni il 50% del disco a ciascuno dei due sistema è solitamente un buon compromesso.
Si consideri, comunque, che Windows consuma spazio su disco in modo più rilevante rispetto a Linux per cui, se si intende comunque installare molti applicativi sotto Windows, conviene passare ad una proporzione 1 a 2 oppure 2 a 3. Naturalmente, se non si ritiene di fare un uso considerevole di Linux un rapporto 1 a 3 è ancora possibile purchè lo spazio disco sia di almeno 20 Gb. Nei PC di ultima generazione questo non è un problema visto che, di solito, si parla di Hard Disk con disponibilità di spazio dell'ordine di diverse decine fino a centinaia di gigabite.
Un ulteriore problema potrebbe nascere dalle limitazioni imposte dalle versioni meno recenti del BIOS che non consentono di attivare partizioni di boot che superano il 1024-esimo cilindro cosicchè, nel caso si disponga di hard disk di dimensioni superiori a 20 Gb, è necessario predisporre una partizione speciale (di tipo ext3), con una dimensione consigliata di 50Mb, qualora si decida di utilizzare lilo. Se, invece, si opterà, per grub tale limitazione non è così importante.
A questo punto si può procedere al partizionamento, ricavando dapprima lo spazio sufficiente dove installare Linux:
Siamo ora in grado di salvare il nuovo stato del disco, riscrivendo la cosiddetta partition table ed assegnando, se presente, alla partizione iniziale il tipo ext3. Il resto del lavoro di partizionamento sarà a carico di Disk Druid, utility di partizionamento del disco presente nell'installatore di Linux.
Terminate le operazioni si può bloccare l'esecuzione di Partition Magic oppure di GParted e predisporsi all'installazione vera e propria di Linux. Estrarre il CD-ROM dall'unità disco ed inserire, durante il riavvio, nell'unità CD/DVD il dvd oppure il primo dei CD che costituiscono la distribuzione Fedora. Si noti, tuttavia, che le stesse osservazioni sono valide per qualunque altra distribuzione si desideri installare.
La fase iniziale di installazione è relativamente semplice ed autoesplicativa. Durante il reboot il PC passa sotto il controllo dell'installatore che si presenta con una finestra iniziale che permette di selezionare la modalità di installazione. Si consiglia di scegliere la modalità grafica ma, nel caso che al passo successivo fallisse l'attivazione del server X, selezionare la modalià testo oppure modificare i parametri del video se possibile.
Nella modalità grafica l'installatore lancia l'esecuzione di un mini-kernel che si comporta analogamente ad un kernel completo, ma in forma ridotta con una mini-shell ed un ambiente grafico che, comunque, richiede l'attivazione del server X. Il successo di questo passaggio dipende dalle capacità di autoprobing di anaconda, la speciale utility di Linux per verificare l'hardware grafico disponibile.
A questo punto dopo le prime schermate iniziali, necessarie a definire il tipo di tastiera, mouse, ecc..., l'installatore passa ad una delle fasi delicate dell'installazione: il partizionamento ed il format delle partizioni utilizzate da Linux.
Si consiglia di scegliere l'impostazione manuale delle partizioni con Disk Druid. A questo punto sono possibili molteplici soluzioni a seconda dello spazio disponibile su disco e il tipo e il numero di applicazioni che si intende installare e quanto lavoro si vuol fare sotto Linux.
Si tenga presente che una partizione deve essere riservata come area di swap per la gestione della memoria virtuale la quale, normalmente, è presa come il doppio della memoria RAM disponibile. Poichè Linux fa un uso più attento della memoria, anche se si disponesse di soli 128Mb, la situazione non sarebbe così drammatica anche se, ovviamente, disporre di spazio di memoria maggiore è la prassi. Se lo spazio su disco è sufficiente si consiglia di riservare 512Mb di area swap nell'ipotesi di memoria RAM non superiore a 256Mb. Per valori maggiori della RAM si prenda, se possibile, il doppio di tale valore come spazio disco e lo si riduca ad un valore compreso fra 1 e 2 nel caso di memoria RAM superiore a 512 Mb. Tuttavia, vista le buone prestazioni degli hard disk SATA, si può scegliere di avere a disposizione una memoria virtuale fino a 6-8 volte la dimensione della memoria fisica. In ogni caso, il valore dell'area di SWAP non deve essere inferiore alla memoria RAM disponibile.
Per le altre partizioni si consiglia di attenersi alla seguente tabella
nome | tipo | dimensione | mount point | impiego |
root | ext3 | 200 » 500 Mb | / | sistema base |
usr | ext3 | 4 » 8 Gb | /usr | sistema |
home | ext3 | 2 » 10 Gb | /home | utenti |
var | ext3 | 100 » 500 Mb | /var | amministrazione |
boot | ext3 | 100 Mb | /boot | kernel |
swap | <swap> | 2*RAM | backing store |
dalla quale si evince che uno spazio accettabile per il funzionamento di Linux richiede circa 8 Gb di spazio minimo disponibile su disco. Quando si è terminato il partizionamento bisogna salvare la nuova partition table del disco e, quindi, richiedere la formattazione delle partizioni così ottenute.
Il secondo passaggio critico dell'installazione è l'individuazione dei driver più adatti ad attivare il server X, per la gestione grafica del video. Come si è più volte sottolineato il sistema operativo UNIX richiede suoi driver specifici che non si appoggiano sul BIOS ma vanno ad agire direttamente sull'hardware.
Tranne casi particolari, di connessione diretta ad una rete LAN, la connessione ad internet è realizzata dal protocollo PPP che impiega un Modem ed una linea telefonica. Sarà il provider stesso a fornire tutte le coordinate necessarie (IP, DNS, gateway, ecc...). Naturalmente, se si dispone di connessioni ADSL, procedere secondo le caratteristiche di quest'ultima. Alcuni problemi potrebbero sorgere nel caso si utilizzino modem che, invece di accedere alla porta ethernet RJ45, richiedano una connessione ad una porta USB.
Terminata l'installazione che prevede, fra l'altro l'utilizzo di altri CD con l'eventuale creazione di un'immagine per un supporto esterno, nel caso si renda necessario un'avvio d'emergenza, si può procedere al riavvio del sistema che ora è pronto per l'uso. Nella fase iniziale di booting il sistema informa il system manager delle azioni intraprese dal kernel per terminare con l'attivazione del server X e la presentazione del banner di login.
Se si ritiene opportuno è possibile proseguire con l'installazione di altri pacchetti, presenti sui CD o scaricabili dalla rete, utilizzando kpackage o con software equivalente.
In alcuni casi è possibile installare dei pacchetti grafici che consentono agli utenti meno esperti di mettere a punto una configurazione personalizzata del sistema, in modo da modificare coerentemente tutti i file di configurazione interessati. Tuttavia, utility di questo tipo non sono strettamente necessaria perchè, come vedremo, è possibile predisporre alcuni script che contengono le sequenze di comandi per configurare il sistema secondo le proprie necessità.
In quest'ultima fase è possibile modificare la configurazione del sistema qualora si rendesse opportuno impostare diversamente il valore di certi parametri per modificare il layout del desktop, il comportamento dei bottoni, ecc... Ne è, tuttavia, consigliato l'uso soltanto agli utenti più esperti.
Se, ad esempio, si volesse procedere ad installare una stampante è sufficiente attivare, dal pannello di controllo, il modulo printer ed impostare i valori richiesti in accordo al tipo di stampante. Si ricordi di impostare correttamente il il driver di stampa in accordo col modello della stampante.
Terminata l'installazione è possibile procedere al riavvio del sistema che, nei casi già citati, richiede un "tuning manuale" di alcuni parametri prima di poter essere pronto al suo impiego.