Installare Linux

L'installazione di Linux è ormai una operazione piuttosto semplice, visto il progresso evidente che molte distribuzioni hanno avuto negli ultimi tempi in termini di facilità d'uso.
Nonostante questo esistono alcune informazioni fondamentali che vanno conosciute, in particolare per i casi in cui si intende installare Linux su un computer dove è già installato, e si vuole mantenere, Windows.
Sapere com'è il proprio sistema, come e dove si vuole installare Linux, nel caso sia presente già un altro sistema operativo, è fondamentale, per cui è bene assicurarsi, prima di procedere, di conoscere le informazioni di base riguardo a:
- Hardware a disposizione. Solitamente durante l'installazione il proprio hardware viene rilevato automaticamente, ma possono esserci rari casi in cui questo non accade. In genere se si usa un PC standard con una nuova distribuzione non ci sono problemi nel riconoscimento di componenti e periferiche.
- Sapere quali e quanti Hard Disk sono presenti sul sistema, come sono partizionati, quali sono cancellabili. Queste informazioni sono visualizzabili durante l'installazione, ma si deve essere certi di sapere dove sono i dati (per esempio, una installazione di Windows esistente) che non si vogliono cancellare.
- Configurazione di rete, se prevista (indirizzo IP, subnetmask, nome macchina, server DNS).
- Il tipo di attività che si intende fare con Linux (si userà come workstation o come server? si installa su un portatile? Si ha idea di quale software si vorrà usare?).

Gli scenari possibili sono vari, dipendono dalle singole situazioni e possono riassumersi in questi casi generali:

- Installazione su un computer esclusivamente dedicato a Linux (con o senza dati presenti sull'hard disk, che comunque si intende cancellare). Questo è il caso più semplice e se si ha a che fare con hardware non particolarmente esotico (normale PC, di marca, o assemblato, con processore Pentium o superiore) non dovrebbe creare alcun problema con una distribuzione recente.

- Installazione su un PC dove è già presente Windows e si ha a disposizione un hard disk libero o una partizione completamente libera all'interno dell'hard disk con Windows. Anche in questo caso l'installazione può procedere senza particolari problemi: durante le sue fasi verranno evidenziate le partizioni presenti sull'hard disk e sarà possibile decidere di utilizzare per Linux quelle libere, senza toccare quelle in cui si trova Windows.

- Installazione su un PC dove è presente Windows e non è disponbile un hard disk aggiuntivo, spazio non partizionato o una partizione sacrificabile. Questo purtroppo, oltre ad essere il caso più ostico, per un normale computer domestico, è anche il più comune. In queste situazioni si possono seguire diverse strade:
-- Provare Linux con un Live CD (come Knoppix) che permette di usare Linux senza installarlo sull'harddisk, eseguendo il boot direttamente dal CDROM. Non è una soluzione definitiva (un sismile approccio ha degli inevitabili limiti e minori performance) ma può essere un ottimo modo per iniziare a familiarizzare con Linux senza alcun bisogno di installarlo e in completa sicurezza.
-- Procurarsi un hard disk aggiuntivo (di 1 GB o più) e aggiungerlo al proprio PC (indicativamente come Secondary Master, lasciando Windows sul Primary Master) per poterlo usare liberamente con Linux.
-- Creare dello spazio sull'hard disk esistente: se si hanno partizioni quasi vuote, spostare i dati presenti, in altre partizioni Windows e "sacrificare" la partizione semi-vuota per l'installazione Linux; alternativamente considerare la possibilità di usare strumenti come Fips o Partition Magic per Windows o Parted per Linux(lanciato da un Live CD) per ridurre la dimensione delle partizioni esistenti e creare spazio per Linux.
Fare massima attenzione a simili procedure: se fatte in modo scorretto o interrotte (per esempio da un blackout) possono definitivamente compromettere i dati presenti sul proprio hard disk. Un backup preventivo dei propri file, seppur di solito non necessario, è generalmente consigliato.

-- Installazione su PC con hardware particolare o architetture non basate su processori tipo Intel o AMD (i386).
In questi casi la procedura di installazione può essere più complicata (per la richiesta di driver aggiuntivi per gestire l'accesso al disco) o non riconoscere alcuni dispositivi e schede (per esempio i modem interni).
Se si vuole installare Linux su Mac o sistemi con architettura non Intel-like, sono necessarie distribuzioni particolari e procedure generalmente più complesse.

 

Scelta dell'hardware per Linux  
Una scelta importantissima è quella della configurazione hardware, dal numero di interfacce di rete al numero di processori, dalla dimensione dei dischi fissi a quanta ram utilizzare.
Ormai Linux offre una vasta compatibilità con la maggior parte dell'hardware esistente, sia direttamente a livello di kernel ufficiale, sia con driver rilasciati direttamente dai produttori, inoltre, per il vero hacker, avendo a disposizione i sorgenti del kernel, c'è sempre la possibilità ultima di scriversi autonomamente i propri driver.
Segue un breve quadro sulla scelta dell'hardware, si rimanda ai link indicati per informazioni più dettagliate:

CPU
Le distribuzioni standard contengono un Linux predisposto per processori Intel Based a 32 bit. (dal 386 al Pentium 4 Intel, oltre a compatibili quali AMD Athlon, Cyrix, Transmeta ecc.) Se si vuole installare Linux su un Mac, una Sun o un Compaq Alpha si deve trovare una distribuzione per PowerPC, Sparc o Alpha.
La potenza del processore dipende ovviamente dalle applicazioni usate, un Pentium 2 o superiore basta per normali applicazioni server senza eccessivo carico. Esiste il supporto multiprocessore.

RAM
Come sempre, più ce n'è, meglio è. Se si usa Linux senza interfaccia grafica, le esigenze sono modeste: 64Mb bastano per un sistema base, ma sono ovviamente da aumentare per server che devono gestire volumi di traffico medio/alti o ospitare applicativi pesanti.

HARD DISK
La scelta fra un sistema (E)IDE o SCSI dipende essenzialmente dal budget a disposizione. In genere, prima di pensare ad un sistema SCSI è opportuno "carrozzare" la macchina con un buon processore e abbastanza memoria. Il supporto per schede SCSI è ottimo.

CDROM - FLOPPY
Un normale CD-ROM IDE o SCSI basta e avanza (di fatto, per un server, serve solo in fase di installazione). Il floppy può mancare se la motherboard supporta il boot direttamente dal CD (funzione comune in tutte le motherboard non vecchie). E' disponibile il supporto di CD-RW.

SCHEDA VIDEO
Per un server (su cui si avrà soltanto l'interfaccia a caratteri) basta una semplice VGA. Per un desktop con interfaccia visuale il minimo è una SVGA.
E' disponibile l'accelerazione 3D su schede che supportano OpenGL.

SCHEDA RETE
Si consiglia una scheda ethernet 10/100. Esistono driver per alcune schede gigabit, ma è opportuno verificarne l'esistenza per il proprio hardware.
Esiste anche il supporto per Token Ring, schede wireless e WAN cards.

ACCESSORI MULTIMEDIALI
Per un server non sono necessarie schede audio o accessori multimediali. I kernel dalla 2.4 in su, comunque supportano le Sound Blaster Live e Audigy, schede audio meno recenti e le periferiche USB. Esiste anche il supporto Firewire.

MODEM
I modem esterni (analogici o ISDN) su interfaccia seriale (meglio) o USB sono normalmente utilizzabili.
Possibili complicazioni esistono per modem interni (Winmodem), che in genere sono sconsigliabili e tipicamente si trovano su portatili.

 
LINK
Linux Hardware Database su ZDNET - Url: http://lhd.zdnet.com/
Un sito completo sul Linux Hardware - Url: http://www.linuxhardware.net/

Procedure di installazione standard  
L'installazione di Linux si può eseguire seguendo metodi differenti: generalmente si usa il CD-ROM (ogni PC almeno dal 1998 in poi permette il boot diretto da CD) oppure via floppy ma sono possibili anche installazioni centralizzate via rete (via http, ftp, nfs, smb) particolarmente utili quando si devono gestire ed installare un gran numero di macchine.
Il primo e fondamentale punto da considerare è lo spazio su hard disk dove installare il sistema operativo.
E' necessario avere a disposizione un hard disk almeno parzialmente libero. Qualora fosse necessario liberare spazio su disco e creare una partizione, si può usare il programma Parted, gratuito per Linux e presente su un Live CD come Knoppix, o programmi per Windows come Partition Magic (commerciale) o Fips (gpl).
Solo quando si è sicuri di avere una partizione o un hard disk disponibile (i dati eventualmente presenti verrebbero cancellati), si può procedere con l'installazione vera e propria.
Sebbene ogni distribuzione utilizzi un proprio tool di setup, le procedure sono generalmente le stesse:
- Viene caricato da CD o floppy di boot un sistema Linux temporaneo, tramite il quale è possibile lanciare il tool di installazione ed eseguire tutte le operazioni previste.
- Viene partizionato lo spazio su disco disponibile secondo i criteri definiti dall'utente;
- Vengono formattate le partizioni create, con il filesystem scelto;
- Si selezionano i programmi da installare, scegliendoli individualmente o selezionando delle impostazioni di default a seconda del tipo di sistema che si sta creando: desktop, server, stazione di sviluppo, laptop ecc. Il sistema provvede automaticamente ad installare le dependencies (pacchetti non selezionati dall'utente ma necessari per poter far funzionare quelli scelti). Se il computer è per un uso personale (desktop) e lo spazio su Hard Disk non manca ( > 2Gb ) ci si può sbizzarrire ad installare un po' di tutto, per verificare la funzionalità di programmi diversi. I programmi scelti vengono copiati sulle partizioni appena formattate.
- Si sceglie se installare l'interfaccia a finestre X window o lasciare soltanto la shell (interfaccia testuale). Se la macchina che si sta installando è destinata a diventare un server si consiglia di rimuovere ogni programma legato a X window ed ogni applicazione ludica/multimediale.
- Si inseriscono parametri relativi alla configurazione di rete, password dell'utente root, eventuali utenti aggiuntivi, servizi da avviare al boot ecc.
- Si installa sul Master Boot Record (MBR) del computer un Linux Loader (LILO o GRUB sono i più comuni) che permette il boot di Linux al riavvio e di eventuali altri sistemi operativi presenti sul sistema.
- Si crea, facoltativamente, un floppy disk di ripristino che permette di caricare il sistema installato in caso di problemi con l'MBR o altri fasi del boot.

Alla fine dell'installazione si esegue un reboot e ci si ritrova, da subito (non sono necessari ulteriori riavvii) un sistema Linux completo, già provvisto di una moltitudine di programmi per tutti gli usi.
Il tempo totale di installazione può variare generalmente dai 20 ai 60 minuti.

 
SOURCE
The Linux Bootdisk HowTo - Url: http://www.linuxdoc.org/HOWTO/Bootdisk-HOWTO/

Utente root e comuni mortali  
In ambienti Unix e quindi anche su Linux esistono differenze fra i vari utenti, definite dai permessi e dall'acceso ai file e comandi che un'utente può lanciare.
Per convenzione i semplici utenti possono scrivere, leggere e modificare file solo all'interno del loro ambiente (home) e lanciare comandi che non influiscono sulla configurazione o il corretto funzionamento del sistema.
Per poter accedere completamente alle risorse del sistema bisogna accedere al sistema come superuser ovvero impersonificando l'utente root.

In fase di installazione di una macchina Linux si consiglia di scegliere una password di root piuttosto complicata (ma che si possa ricordare) e di creare immediatamente un normale utente con il quale eseguire le proprie funzioni più comuni.

In particolare si consiglia, per motivi di sicurezza, di non lanciare mai X window (l'interfaccia a finestre disponibile su Linux) come utente root su una macchina che ha accesso a reti esterne.
L'utente root è diverso dagli altri, in quanto ha pieno controllo del sistema.
Può infatti:
- Aggiungere, eliminare, modificare e cambiare la password degli altri utenti
- Installare e configurare tutti i servizi del sistema
- Accedere senza limitazioni (lettura e scrittura) a tutti i file presenti nel filesystem
- Gestire (avviare, terminare, modificare la priorità) tutti i processi
- Gestire l'hardware del computer
- Distruggere tutto con un solo comando (e tante altre brutte cose, il potere di root sul sistema è assoluto).

Inutile sottolineare che è molto importante che l'accesso a root sia limitato solo al proprietario o all'amministratore del sistema.

 

Avvio dell'installazione via kickstart  
Creato un file di configurazione .ks e messo a disposizione sul kickstart server o su un floppy, è possibile avviare l'installazione tramite kickstart.
L'operazione comune per qualunque media che verrà utilizzato per l'installazione è l'avvio del sistema con il boot dai device tradizionali come cd-rom o dischetto.
Al prompt di boot, specificando alcuni parametri è possibile indicare al sistema quale media dovrà utilizzare ma soprattutto dove risiede il file di configurazione per iniziare l'installazione.

Ammettiamo di avere un dischetto contenente sia l'immagine sia il file di configurazione, il comando al boot sarà:
boot: linux ks=floppy
oppure se il file di configurazione si chiama in modo diverso da quello di default (ks.cfg) è possibile specificarlo nel seguente modo:
boot: linux ks=hd:fd0/pippo.cfg
Nel caso in cui il file risieda nel cd-rom lanciare il seguente comando:
boot: linux ks=cdrom:/[path]
Comando di avvio in caso il file di configurazione risieda su un web o NFS server:
boot: linux ks=nfs:[server]:/[path]
boot: linux ks=http://[server]/[path]
In entrambi i casi sarà un dhcp server ad assegnare un indirizzo di rete.

Gli esempi sopra illustrati sono gli esempi delle modalità più utilizzate ma è possibile caricare il file di configurazione sia da un file system locale oppure tramite il dhcp server il quale assegnerà un ip e tutti i parametri necessari per raggiungere il file di configurazione.

Nel caso in cui il sistema preveda più interfacce di rete è possibile specificare tramite la seguente opzione quale interfaccia abilitare per l'installazione.
ksdevice=[device]
Esempio:
boot: linux ks=http://[server]/[path] ksdevice=eth2

 

 
Creazione di un disco di boot per Linux (sotto Windows)  
 
Se si deve usare un floppy disk per poter eseguire l'installazione (perchè la propria motherboard è tanto antica da non supportare il boot direttamente da CDROM) è necessario creare un dischetto di boot.
Nei CDROM con le distribuzioni Linux più comuni esiste il programma RAWRITE eseguibile sotto DOS, che permette di scegliere l'immagine di un floppy (di solito sono dei file di dimensioni 1.44 Mb con estensione .img) da copiare un un dischetto vuoto.
Per semplicità si può copiare rawrite e le immagini che servono in c: di un windows e poi eseguire da DOS:
C:\rawrite.exe, specificare l'unita floppy in cui è inserito un dischetto vuoto (es: A:) e l'immagine che si vuole metteres su floppy (es: boot.img).
Il floppy così creato potrà essere utilizzato per fare un boot tramite il quale procedere con l'installazione di Linux da un CDROM.

 
SOURCE
The Linux Boot Disk HowTo - Url: http://www.linuxdoc.org/HOWTO/Bootdisk-HOWTO/

LILO e il limite della partizione di boot nei primi 1024 cilindri dell'HD  
Per evitare complicazioni che possono rendere impossibile l'avvio di Linux su sistemi con un BIOS non recente (che non supporta le funzioni "Extended INT13"), è consigliabile installare sia il bootloader (LILO) che il kernel in una partizione che è completamente inclusa nei primi 1023 cilindri dell'hard disk di boot.
SI consiglia quindi di tenere la directory dove è presente il kernel (di solito,
/boot) in una partizione dedicata, di almeno 10 Mb.
Questo requirement può diventare un problema su macchine con doppio sistema operativo, dove, tipicamente, la partizione dedicata a Windows è particolarmente grossa e copre i primi 1024 cilindri dell'hard disk di boot.


 
SOURCE
Large Disk HOW TO - Url: http://www.tldp.org/HOWTO/Large-Disk-HOWTO.html

 
Hardware Compatibility List  
Molte distribuzioni hanno una propria pagina dedicata all'hardware supportato. Seguire i link per dettagli.
Considerare che il supporto hardware di Linux dipende dal kernel più che dalle singole distribuzioni.
Una distribuzione più recente ha maggiori probabilità di supportare una gamma maggiore di hardware, avendo, presumibilmente, un kernel più recente.

 
LINK
Turbolinux - Hardware supported - Url: http://www.turbolinux.com/hcl/
DMOZ - Categoria Linux Hardware Support - Url: http://dmoz.org/Computers/Software/Operating_Systems/Linux/Hardware_Support/
Mandrake - Hardware Database - Url: http://www.linux-mandrake.com/en/hardware.php3
Yellow Dog Linux - Power PC hardware support - Url: http://www.yellowdoglinux.com/support/hardware/
SUSE - Linux Component DataBase - CDB - Url: http://hardwaredb.suse.de/index.php?LANG=en_UK
Caldera - Compatible Hardware - Url: http://www.caldera.com/support/hardware/
Mandrake - Hardware Database - Url: http://www.linux-mandrake.com/en/hardware.php3
Red Hat - Linux Hardware Compatibility List - Url: http://www.redhat.com/support/hardware/