Installare Linux
| E'
fondamentale essere ben preparati prima dell'installazione per evitare che
ore di lavoro vadano in fumo per una mancata o sbagliata considerazione e
analisi dei propri bisogni e del proprio hardware. La raccolta di informazioni è il primo passo per evitare tutto ciò. Ecco cosa bisogna sapere per iniziare un'installazione: - Conoscere l'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. - Il tipo di computer su cui viene fatta l'installazione (server, desktop, laptop) - Configurazione di rete, se prevista (indirizzo IP, subnetmask, nome macchina, server DNS) - Configurazioni base del sistema (layout di tastiera, nomi utenti e password, timezone) - I servizi che dovrà offrire (deve diventare un server? Di che tipo?) - I programmi che ci interessa installare (solitamente è possibile sceglierli singolarmente o per gruppi). |
| Hardware, quale scegliere ? |
|
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. |
| 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 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). |
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 e schede wireless (da verificare a seconda del modello). |
ACCESSORI MULTIMEDIALI Per un server non sono necessarie schede audio o accessori multimediali. I kernel dalla 2.4 in su, comunque supportano la Creative Sound Blaster live, 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 |
L'installazione di Linux si può eseguire
seguendo metodi differenti: tramite CD-ROM (con boot diretto dal CD oppure via
floppy) o via rete (ftp, nfs, smb).
In questo corso si affronta una normale installazione tramite CDROM.
Durante l'installazione viene chiesto quale utilizzo si deve fare della macchina
e per alcuni casi comuni (server, desktop, laptop, stazione di sviluppo) ci sono
delle impostazioni che installano automaticamente dei pacchetti (software)
predefiniti.
Alternativamente è possibile una selezione custom di cosa si vuole installare: i
pacchetti sono divisi per categoria ed è possibile sceglierli singolarmente. Il
sistema provvede automaticamente ad installare le dependencies, pacchetti non
selezionati necessari per poter far funzionare quelli scelti.
Se la macchina che si sta installando è destinata a diventare un server si
consiglia di rimuovere ogni software relativo all'interfaccia a finestre
Xwindows ed ogni applicazione ludica/multimediale.
In genere ogni server o macchina destinata ad avere indirizzo IP pubblico è bene
(se non firewallata secondo altri criteri) che abbia attivi solo i servizi
indispensabili per il suo funzionamento.Se il computer è per un uso personale
(desktop) e lo spazio su Hard Disk non manca ( > 2Gb ) si ci può sbizzarrire ad
installare un po' di tutto, per verificare la funzionalità di programmi diversi.
Alcuni suggerimenti
Se si deve usare un floppy disk per poter eseguire l'installazione (perchè la
motherboard non supporta il boot direttamente dal CDROM) è necessario creare un
dischetto di boot.
Nei CDROM con le distrubuzioni 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.
Si consiglia di copiare rawwrite 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 uitlizzato per fare un boot tramite il quale
procedere con l'installazione di Linux da un CDROM.
Diskdruid e Fdisk
Durante l'installazione di Linux viene richiesto come partizionare i(l)
propri(o) hard disk, in modo da definire cosa formattare e dove installare il
sistema operativo, se preservare le eventuali partizioni esistenti (contenenti
altri OS) o ripulire completamente gli hard disk.
Gli strumenti generalmente disponibili per questa operazione sono:
fdisk
Tool testuale con la possibilità di operazioni avanzate per il partizionamento
diskdruid
Tool grafico fornito da RedHat, semplice ed intuitivo alternativa funzionale a
fdisk se non si hanno bisogno di funzionalità avanzate
Partizioni
Con diskdruid e fdisk si ha la possibilità di decidere come partizionare i
propri hard disk e decidere quale filesystem adottare per far girare linux.
Il minimo partizionamento richiesto prevede:
- una partizione generale (/, root) in cui saranno inseriti tutti i file.
- una partizion di swap (usata come Virtual Memory)
E' preferibile, nelle installazioni standard avere un miglior partizionamento
cioè dedicare partizioni indipendenti per:
/ (la root, sotto la quale stanno tutte le
altri directory)
/boot (partizione di boot, dove risiede kernel e
file di boot. 20 Mb di spazio possono bastare)
/var
(partizione in cui vengono messi file che cambiano di dimensione, tipicamente i
log. E' utile averla su partizione indipendente per evitare che un aumento dei
log inattesi riempa tutto il filesystem. Farla almeno di 100 Mb)
/home
(dove risiedono i file di tutti gli utenti. Può essere piccola e praticamente
inutilizzata (mail, dns server) o molto grossa e piena di documenti (web, file
server)
/tmp
dove risiedono file temporanei.
In fase di partizionamento, oltre a decidere come partizionare gli hard disk
bisogna assegnare ad ogni partizione un mount point.
Per esempio se abbiamo un hard disk da 10 Gb come primary master e lo vogliamo
dividere in 6 partizioni, potremo ottenere:
| Partizione | Mount Point | Partizione | Mount Point | Partizione | Mount Point |
| /dev/hda1 | / | /dev/hda2 | /boot | /dev/hda3 | /var |
| /dev/hda4 | /home | /dev/hda5 | /tmp | /dev/hda6 | /SWAP |
Notare che la partizione di SWAP non
necessita di un mount point.
Considerare inoltre che possiamo formattare ogni partizione con un file system
diverso.
Possiamo per esempio avere, nell'esempio sopra, tutte le partizioni in ext2
(File System nativo di Linux) e la partizione /dev/hda4 ( dove viene montala la
/home ) formattata in FAT 32 (File System di Windows 98, supportato anche da
Linux).
Alcuni
suggerimenti
Il codice esadecimale che identifica la partizione swap in fdisk è 82
Per evitare complicazioni che possono rendere impossibile l'avvio, è
consigliabile installare sia il bootloader (LILO) che il kernel (partizione /boot
) nei primi 1024 cilindri dell'hard disk di boot.
Questo può diventare un issue su sistemi con doppio sistema operativo, dove,
tipicamente, la partizione dedicata a Winodws è particolarmente grossa.
Linux, come ogni sistema Unix, da ad ogni dispositivo hardware un proprio nome.
Gli hard disk IDE hanno i seguenti nomi:
Primary Master: /dev/hda
Primary Slave: /dev/hdb
Secondary Master: /dev/hdc
Secondary Slave: /dev/hdd
Le singole partizioni di un hard disk
hanno nomi tipo:
- /dev/hda1 (prima partizione del primary master)
- /dev/hdc4 (quarta partizione del secondary master)
Differenze fra gli utenti
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.
E' convenzione che i semplici utenti possono scrivere, leggere e modificare file
solo all'interno del loro ambiente (home) e lanciare semplici comandi che non
influiscono sulla configurazione 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 ricordabile!) 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
Xwindows (l'interfaccia a finestre disponibile su Linux) come utente root su una
macchina che ha accesso a reti esterne.
Chi è root ?
L'utente root è l'amministratore del sistema con tutti i poteri che comporta
questo ruolo, quindi è molto importante che l'accesso a root sia limitato solo
al reale amministratore di sistema (sysadm).
L'utente root ha poteri assoluti sul sistema:
- Aggiungere, Eliminare e modificare account (altri utenti)
- Installare e configurare servizi
- Accesso completo (lettura e scrittura) di tutti i file presenti nel filesystem
- Aggiungere e Modificare il Filesystem
- Distruggere tutto con un solo comando (e tante altre brutte cose, il potere di
root sul sistema è assoluto).
Alcuni Suggerimenti
Per motivi di sicurezza è opportuno eliminare l'accesso di root da remoto (via
telnet o ssh).
Attraverso tools come sudo è possibile fare in modo che semplici utenti possono
lanciare comandi che solo root potrebbe lanciare.
Alcuni sysadm puristi ritengono che non si dovrebbe mai amministrare la macchina
come utente root, ma utilizzare esclusivamente un utente normale e, quando è
necessario, usare il comando sudo per le funzioni che solo root può gestire.