LEZIONE del 2 Ottobre

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.

Installazione di Linux

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.

Distribuzione Fedora

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.

Installare Fedora

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.

  1. Partizionamento del Disco

    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.


  2. Disk Druid

    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.


    Nel caso che si disponesse di spazio disco ancora maggiore conviene aumentare sia la partizione usr, contenente il sistema, che la partizione home su cui andranno a lavorare gli utenti. Una certa attenzione va posta sulla partizione var perchè la directory /var/www è normalmente utilizzata dal server Apache per mantenere l'insieme dei documenti html, e non solo, da fornire in risposta alle richieste dei webbrowser. Anche il root file-system impone dei vincoli perchè, normalmente, la directory /tmp è utilizzata per il salvataggio di tutti i file temporanei che molti processi utilizzano durante la loro esecuzione. Si tenga presente che alcune distribuzioni impiegano la directory /opt come area vincolata dove installare i propri ambienti grafici (KDE, GNOME, ICECREAM) per cui è necessario predisporne lo spazio fornendo una specifica partizione.


  3. Configurazione del Server X;

    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.


    Attualmente la configurazione del server X è una delle fasi più delicate dell'installazione di Linux perchè non è detto che l'installatore sia fornito del driver della scheda grafica in uso, specialmente se il proprio PC non è un assemblato con caratteristiche certificate oppure è molto recente.


    In questo caso, anche per la mancanza di informazioni tecniche precise non è possibile procedere, da parte della comunità di sviluppatori di Linux, al cosidetto reverse engineering, per cui può accadere che non sia disponibile il driver richiesto per la scheda grafica in uso, o meglio, per quella parte del controllo che prende il nome di accelleratore grafico.


    L'effetto che ne risulta è che, nel caso la scheda sia dotata di un proprio accelleratore grafico senza l'opportuno driver, non sarà possibile, in nessun caso, pilotare l'accelleratore. Si tenga presente che, attualmente sono commercializzate schede che hanno tutte un proprio accelleratore grafico, non fosse altro perchè gli attuali PC sono normalmente predisposti per poter vedere film in DVD oppure hanno prese tv-in, tv-out oppure possono essere utilizzati come playstation.


    Si consiglia, comunque, di utilizzare il più possibile le capacità di autoprobing fornite dall'installatore cercando di selezionare, anche con più tentativi la configurazione grafica più adatta all'hardware disponibile. L'alternativa è intervenire manualmente sui file di configurazione di cui si è detto.


    Si tenga presente che, in alcuni casi particolari, qualora non si disponga di video di buona qualità e, pertanto, dotati di intervalli di multisynch limitati, allora può essere necessario intervenire sulla variabile vga che compare nel lilo.conf oppure in menu.lst. I valori da assegnare dipendono fortemente dal video utilizzato.


    Superarata questa fase critica, dopo alcune videate, nelle quali viene richiesta l'assegnazione della password di sistema e l'eventuale creazione di uno o più utenti, l'installatore procede al caricamento dei pacchetti selezionati il cui numero (di solito maggiore di 400) e caratteristiche dipende dal tipo di installazione richiesta.


    Per facilitare l'installazione, la distribuzione Fedora raggruppa i pacchetti in 4/5 tipi di installazioni standard: upgrading, workstation, server, labtop, ecc... Si scelga l'installazione workstation con ambiente grafico KDE in modo da non appesantire eccessivamente il sistema e ridurre la quantità di spazio richiesto su disco.


  4. Configurazione di Rete

    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.


    Negli ultimi anni si è andata diffondendo la connessione in rete senza fili, nota col termine wireless, e ottenuta con specifico hardware per mezzo di porte PCMCIA o USB oppure sul bus interno PCI. In ambiente Linux la situazione è in rapida evoluzione sebbene alcuni driver attualmente disponibili siano ancora ad un livello artigianale.


    Le attuali distribuzioni prevedono anche un meccanismo di gestione della sicurezza per mezzo di un'opportuna configurazione del Firewall presente nel sistema. Si può scegliere tre livelli di sicurezza: alta, media o nulla, e decidere quali servizi attivare con sicurezza o meno.


    Si tenga presente, comunque, che il modem interno winmodem, normalmente presente sul proprio PC, è utilizzabile solamente nel caso si disponga di uno specifico driver: si tratta, tipicamente, di un modem conexant per cui è necessario disporre di un software prodotto dalla linuxant. In caso contrario è necessario avvalersi di modem esterno. La scelta è completamente arbitraria perchè ogni modem di questo tipo è pilotabile da Linux su porta seriale. La situazione si complica qualora si disponga di modem USB.


    Per realizzare una connessione ad internet con protocollo PPP, utilizzando uno qualunque dei provider disponibili, si lanci in ambiente grafico l'applicazione kppp e la si configuri fornendo le informazioni necessarie, secondo quanto si evince facilmente dalla sua stessa finestra grafica.


  5. Post installazione

    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.


  6. Personalizzazione

    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à.


  7. Tuning dei Parametri

    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.