INSTALLAZIONE DEBIAN WOODY 3.0r0 SUL SERVER.
Se disponete di una revisione differente dalla r0, questo scritto va bene lo stesso, poichè TUTTA la debian 3.0 avra' lo stesso approccio all'installazione.Se possibile, procuratevi in ANTICIPO: canali DMA, IRQ, aree di memoria
usate, etc. dell'hardware che userete (schede di rete, audio, video, etc).
Se il pc ha un altro sistema operativo installato, può essere una buona
fonte di informazioni consultare la scheda tecnica dell'hardware presente, ed
i relativi nomi di chipset, versioni del bios, marca e modello dell'hardware,
etc. Consultate il manuale del pc, leggete i dati contenuti nel bios nel
bios, etc.
Scrivete TUTTO quello che vi sembra utile (anche ciò che vi sembra
superfluo).
CONSIGLIO IMPORTANTE: Leggete sempre tutto e BENE cio che compare a video!
Hardware:
IBM Thinkpad TP600
CPU: Pentium II 266Mhz
RAM: 192M
HD: 11.7G
Scheda di rete: 3Com modello 3CXFE575BT 10/100Mb
Software:
Debian 3.0r0 (Woody)
Verranno usati i 7 CD ufficiali della Debian 3.0r0, scaricati da un mirror e
masterizzati. Il CD numero 1 e' la versione non-US, dato che la versione US
ha delle limitazioni a causa delle leggi US sulla esportazione di software
ritenuto strategico (crittografia).
Se non avete i 7 CD, non e' un problema, al limite e' sufficente il primo,
(meglio i primi due)
Da ora in poi i termini PC, TP, TP600, portatile, computer sono considerati
sinonimi.
L'uso di un portatile usato come server puo' lasciare perplessi, ma la scelta
e' stata motivata da necessita' di ingombri minimi e della portabilita' in
modo da poter lavorare il vari ambiti (casa/ufficio): con due soli portatili
ed un cavo di rete incrociato e' possibile implementare una mini rete
didattica, pervettamente adeguata alle necessita' di studio/sviluppo della
lan domestica. D'altro canto, l'installazione di GNU/Linux su portatili potrebbe
essere difficoltoso se paragonato ad un Desktop, a causa del fatto che i
portatili, per loro natura, adottano delle scelte hardware (es: winmodem) che
a volte sono supportati con difficolta', parzialmente, o non supportati del tutto
dal pinguino. Il sito www.linux-laptop.net e' di grande aiuto, ne consiglio la
consultazione.
Un server 'vero' e' molto spesso una macchina potenziata, con piu' di un
disco, magari SCSI, magari con dischi ridondanti (RAID) sostituibili senza
dover spegnere il pc, con molta ram ( =>1G ), con due o piu' CPU etc.
Attenzione che il concetto di server non deve essere equivalente a 'computer
potente' ma semplicemente a 'computer che fornisce ad altri un certo
servizio': un vecchio 486 con 8M di ram puo' essere usato come server di
posta o firefall e funzionare decorosamente...
Qui interessa soltanto mettere in piedi un sistema didattico, ma non per
questo significa che non sia affidabile. Certo, se si rompe il disco allora
perdo tutto e sarebbe stato meglio avere 6 dischi SCSI in RAID5... Ok, se mi
finanziate, saro' ben lieto di mettere in piedi un tale sistema e scrivere le
relative istruzioni...
Successivamente, il documento puo' essere riletto utilizzando come server una
macchina piu' adeguata alle vostre esigenze.
Se sul pc ci sono dati da salvare, fatelo e poi procedete con le operazioni
che seguono.
INIZIA L'INSTALLAZIONE
- inserire il primo CD nel lettore di cdrom ed accendere il pc: il TP
riconosce in automatico il cdrom e fa il boot dallo stesso. Se il CD non fa
il boot, forse dovete intervenire a livello di bios per modificare la
sequenza di boot, oppure dovete creare un floppy di boot. (vedi nota 1)
- Appena fatto il boot, potete avere informazioni premendo F1, nella riga
piu' in basso, vedete la scritta
boot:
Digitate bf24 <invio>.
Questa operazione causera' l'installazione del kernel della serie 2.4, piu'
specificatamente, il kernel 2.4.18.
- parte una schermata, in varie lingue, scegliete l'italiano
<invio>.
- configurate la tastiera <invio>
Adesso si dovrebbe partizionare il disco fisso, ma questa e' una operazione
che preferisco fare a mano: infatti, il sistema operativo partiziona usando
cluster di default impostati a da 4K: cio' significa che un file piu' piccolo
di 4K, occupera' COMUNQUE 4K.
INIZIO SPIEGAZIONE
Piccolo esempio: se sul vostro sistema avrete 102400 file da 512Byte, la
loro somma sara' di 0.5K*102400=50Mbyte, ma in realta' il disco, se con
cluster da 4K, sara' occupato per 4K*102400=200M con uno spreco di 150M per
niente.
Invece, formattando con cluster da 1K, lo spreco di spazio sara' limitato a
soli 50M. Anche se si ha un disco grosso, e' sempre un peccato sprecare
spazio per niente.
La scelta di avere cluster da 4K e' dettata dal fatto che linux pagina la ram
a pagine da 4K per cui risulta piu' facile/veloce la gestione della memoria
virtuale per il kernel. Personalmente, a fronte di una lieve perdita di
prestazioni, preferisco salvare di piu' lo spazio su disco.
FINE SPIEGAZIONE
- Ora partizioniamo manualmente l'HD, per fare cio' portiamoci nella seconda
consol, premendo alt+F2.
- Premete invio per attivare la consol
Lo scopo e' suddividere il disco in 'n' partizioni, piu' o meno adatte alla
implementazione del server: riporto integralmente un consiglio
pervenutomi:
INIZIO CONSIGLIO
"<RAM*2> SWAP
100Mb /
3Gb /usr
3Gb /var
1Gb /tmp
<resto> /home
e comunque, patizionare e' un'arte, e bisogna essere fortunati e con
esperienza. E anche cosi' ho "sbagliato" a partizionare il mio portatile
(/usr troppo piccola) e dovrei rifare il tutto...... Insisto, non pretendere
che funzioni tutto al primo colpo alla perfezione.
E' un lungo cammino di prova/sbaglia/riprova/...."
FINE CONSIGLIO
Come avete potuto leggere il suggerimento di uno che ne sa SICURAMENTE piu'
di me, la strada della conoscenza e' lunga, stretta e difficile da
percorrere. (Perche non mettete windows? molto piu' facile e meno
rognoso...)
COMINCIAMO A LAVORARE SULL'HARD DISK.
digitare cfdisk <invio>
Ora vi trovate all'interno del programma cfdisk, una versione meno potente ma
piu' 'amichevole' di fdisk...
freccie destra-sinistra per spostarsi tra i comandi,
freccie alto-basso per spostarsi tra le partizioni.
adesso posizionatevi sulle varie partizioni (hda1, hda2, etc) e
cancellatele.
sappiate che NON causerete alcun danno finche' non confermerete le modifiche
col comando [ Write ]: se cancellate per errore qualche partizione,
selezionate [ Quit ] e ricominciate da capo, digitando ancora cfdisk
<invio>.
Premessa: le partizioni possono essere primarie (da 1 a 4) mentre quelle
estese, dette anche logiche, possono essere di piu' e saranno contenute
all'interno della partizione primaria numero 4.
Bene, adesso che tutte le partizioni sono cancellate, creiamone di nuove.
Cominciamo dallo Swap, cioe' la ram virtuale: la logica dice che lo swap deve
essere in funzione dei carichi di lavoro che il pc si presuppone dovra'
sostenere: una regola non scritta dice che lo swap deve essere il doppio
della ram. Il pc ha gia' 192M di ram fisica e mi sembra oggettivamente uno
spreco usare 384M di disco per la ram virtuale... mi sembra uno spreco
addirittura 160M... quasi quasi non la metto del tutto... va beh, facciamo
128M di swap e non se ne parli piu'.
per cui [ New ] poi [ Primary ] digitate 128 e poi scegliete
[ End ], cioe' dite al sistema di mettere lo swap alla fine del
disco.
INIZIO SPIEGAZIONE
La fine del disco e' la parte piu' veloce (essendo sul bordo del disco, la
sua velocita' angolare e' superiore rispetto alle altre zone del disco)
FINE SPIEGAZIONE
AGGIORNAMENTO! questo box e' stato inserito a distanza di tempo rispetto alla stesura originale.
Col senno di poi, ho deciso di riformattare tutto in un modo piu' semplice e lineare:
hda1 = swapCosi' ho evitato di creare partizioni trappo grandi, con i seguenti vantaggi: A - minor degrado prestazionale a causa della difficolta' di ext3 a gestire grandi partizioni B - il check periodico che controlla le partizioni va' piu' veloce su piccole partizioni. |
Name Flags Part Type FS type Label
Size (MB)
---------------------------------------------------------------
Pri/Log Free space 11937.31
hda1 primary Linux 131.61
cioe' avete creato sul disco fisso EIDE (hd) collegato al canale master del
primo controller (a) la prima partizione (1); in sistesi: hda1.
La dimensione di tale partizione e' (sul mio pc) 131.61M e NON 128M come
avevo impostato all'inizio: cio' dipende dal fatto che 128M non stanno
'giusti' all'interno della geometria del disco, ma 'debordano' un poco... Non
ve ne preoccupate e procedete.
Suggerisco di annotarvi su un pezzo di carta il nome della partizione e la
relativa dimensione, vi verranno utili successivamente.
ora procedete alla creazione delle successive partizioni:
posizionatevi su Pri/log:
[ New ] [ Primary ] digitate 30 e poi [ Beginning ], (questo
e' hda2=/boot)
posizionatevi su Pri/log:
[ New ] [ Primary ] digitate 100 e poi [ Beginning ], (questo
e' hda3=/)
posizionatevi su Pri/log:
[ New ] [ Logical ] digitate 2048 e poi [ Beginning ],
(questo e' hda5=/usr)
posizionatevi su Pri/log:
[ New ] [ Logical ] digitate 2048 e poi [ Beginning ],
(questo e' hda6=/var)
posizionatevi su Pri/log:
[ New ] [ Logical ] digitate 512 e poi [ Beginning ], (questo
e' hda7=/tmp)
posizionatevi su Pri/log:
[ New ] [ Logical ] premete invio, (questo e' hda8=/home)
Resta una cosa da fare e cioe' rendere avviabile (Bootable) la partizione che
conterra' i parametri di boot, cioe' /boot, cioe' hda2.
Posizionatevi su hda2, posizionatevi su [ Bootable ] e premete
invio.
Ora dobbiamo dire al sistema che hda1 e' la partizione di swap: Selezionate
[ Type ] <invio> il sistema propone di default il tipo 82,
cioe' lo swap, - che e' proprio cio che serve a noi -, premete invio.
Bene, adesso dovreste vedere una riga simile a questa:
Name Flags Part Type FS tipe
Label Size (MB)
--------------------------------------------------------
hda2 Boot primary Linux 30.97
hda3 primary Linux 100.64
hda5 Logical Linux 2051.49
hda6 Logical Linux 2051.49
hda7 Logical Linux 510.94
hda8 Logical Linux 7191.80
hda1 primary Linux swap 131.61
Ovviamente la colonna 'Size' sara' in funzione del vostro disco fisso.
Ma, un momento, che fine ha fatto hda4? la partizione primaria hda4 e' stata
usata come 'contenitore' delle partizioni logiche e percio' non e'
visibile.
adesso dovete confermare le vostre partizioni, selezionando [ Write
]: Confermate digitando 'yes' <invio> aspettate un poco... ecco
fatto, le partizioni sono state scritte (e voi avete perso tutti i dati che
c'erano sull'hard disk.... vi avevo detto di fare il backup, no?)
Selezionate [ Quit ] e uscite dal programma.
FORMATTAZIONE DELLE PARTIZIONI
Linux permette una vasta gamma di file system tra i quali scegliere: in
realta' alcuni sono obsoleti e/o non performanti ma ne viene mantenuta la
compatiblita' per motivi storici e perche', diavolo!, il driver per quel file
system e' stato scritto, per cui, perche' rinunciarvi?
Puo' essere un blando sistema per proteggere i dati: se qualche utente
windows entra in possesso, senza autorizzazione, di un vostro HD/floppy
formattato in minix o ext ben difficilmente andra' a pensare a che tipo di
formattazione ha: con molta probabilita' riformattera' il device in un
formato da lui noto: voi perdete supporto e dati, ma lui non entra in
possesso dei VOSTRI dati.
Qui ed in altri punti potrete verificare come l'utente medio di linux e'
molto piu' attento alla sicurezza - nel senso piu' ampio del termine -
rispetto all'utente medio di Windows....
Torneremo molte volte sul concetto di sicurezza, intesa come:
- stabilita' del sistema
- resistenza ai guasti
- backup/restore dei dati
- comunicazioni protette
Tornando alla lista dei file system riconosciuti da linux, notate come,
tramite cfdisk, sia possibile impostare una vasta gamma di file system sulla
vostra macchina: il comando mkfs permette di creare svariati file system
quali dos,ext2 ed altri.
C'era, anzi, c'e', la possibilita' di creare una partizione fat, dove
installare il dos, e, perche' no, qualche gioco, magari il mitico DUKE NUKEN
3D: poi, col dual boot, decidere se far partire linux o dos, per una
rilassante partita...
E invece no! Sono/siete qui per installare una server linux 100%, mica per
giocare, eccheccacchio! Congratulatevi con voi stessi per aver resistito alla
tentazione (battettevi tre volte il palmo della mano destra sulla spalla
sinistra) e andiamo avanti.
Dicevo, in realta' ci sono molti file system tra cui scegliere, che offrono
varie combinazione di robustezza, resistenza ai guasti, scalabilita',
capacita' di resistere a carichi elevati di I/O, etc.
Considero molto promettente il ReiserFS, ma ci sono stati dei problemi di
giovinezza del kernel che hanno causato delle corruzioni di partizioni ReiserFS:
anche se la colpa non era del ReiserFS, quest'ultimo si e' attirato i dubbi di
alcuni utenti. L'ext3 e' un ext2 giornalato: se spegnete il pc in modo brutale,
non correrete il rixchio di avere partizioni corrotte. D'altro canto, l'ext3 non gode
delle migliorie architetturali del Reiser o dell'XFS. Infatti, le prestazioni dell'ext2 e dell'ext3
degradono per partizioni superiori ai 6G, poiche' questi tipi di file-system non
sono stati pensati per partizioni di 8G o piu' poiche' quando sono stati sviluppati
un disco da 500M era considerato "grosso".
L'ext3 e' appetibile in quanto retrocompatibile con l'ext2 e montabile come tale.
Così, se accadono dei problemi, si possono usare i vecchi tool di recovery che funzionano
solo su ext2.
Adesso avete le partizioni, ma non sono formattate. Ora eseguiremo la
formattazione in ext2 per poi passare alla ext3.
Procedete alla formattazione delle partizioni digitando:
mke2fs -b numero /dev/hda2<invio>
mke2fs -b numero /dev/hda3 <invio>
mke2fs -b numero /dev/hda5 <invio>
mke2fs -b numero /dev/hda6 <invio>
mke2fs -b numero /dev/hda7 <invio>
mke2fs -b numero /dev/hda8 <invio>
Dove numero vale 1024 per partizioni fino a 1G, vale 2048 per
partizioni tra 1G e 2G e vale 4096 per partizioni da 2G in poi.
In linux i comandi hanno la sintassi:
nome_comando opzione parametro
oggetto_su_cui_eseguire_il_comando
In questo caso, spiego:
significa crea (MaKe) di tipo ext2 (e2) un file system (fs); in sintesi:
mke2fs.
Il parametro -b seguito dal valore 1024 dice al sistema di creare i blocchi
(-b) di 1024 byte, cioe' 1K.
l'oggetto e' la partizione 'n-esima' del disco hda.
Ricordate che
# man nome
e
# info nome
Vi forniranno, se ci sono, il manuale e le informazioni sul comando nome, nper cui usateli tutte le volte che potere, leggete e fate delle prove. Se il man e/o info non funzionano, due possono essere le cause: non e' installato/a il comando/utility nome soppure si tratta di un comando/utility riservato all'amministratore di sistema, per cui solo: root puo' accedere al comando e relativo manuale.
Bene, adesso avete formattato in ext2 le 6 partizioni: vi ricordo che hda1
non va formattata dato che e' swap e lo swap non necessita di formattazione
in questo gestito in modo proprietario dal kernel; inoltre hda4, essendo il
contenitore di hda5,6,7,8 non e' visibile e quindi non si formatta.
Le partizioni sono formattate in ext2, un formato che NON garantisce la
integrita' dei dati in caso di spegnimento non corretto, cali di tensione,
etc.
Per cui trasformeremo le partizioni da ext2 ad ext3.
I comandi sono:
tune2fs -j /dev/hda2 <invio>
tune2fs -j /dev/hda3 <invio>
tune2fs -j /dev/hda5 <invio>
tune2fs -j /dev/hda6 <invio>
tune2fs -j /dev/hda7 <invio>
tune2fs -j /dev/hda8 <invio>
significa:
sintonizza (tune) del tipo ext2 (e2) il file system (fs); in sintesi:
tune2fs.
Il parametro -j vuol dire metti il giornale (journal).
Notate che tune2fs dice che un check automatico verra fatto dopo 180 giorni o
un certo numero di mount... cio' significa che prima o poi,
quando meno ve lo aspettate, il pc stara' fermo alla partenza un bel po' per
verificare le partizioni... Un consiglio: piu' piccole saranno le partizioni, minore sara'
l'attesa durante i check del disco. man tune2fs per dettagli.
Se adesso date ancora il comando cfdisk, comparira' una schermata
simile:
Name Flags Part Type FS type Label
Size (MB)
---------------------------------------------------------
hda2 Boot primary Linux ext3 30.97
hda3 primary Linux ext3 100.64
hda5 Logical Linux ext3 2051.49
hda6 Logical Linux ext3 2051.49
hda7 Logical Linux ext3 510.94
hda8 Logical Linux ext3 7191.80
hda1 primary Linux swap 131.61
Ottimo!
avete partizionato e joernalato il file system, adesso anche se spegnete
brutalmente il PC, non ci dovrebbero essere problemi, quali la perdita di
dati, o la lunga, noiosa attesa del controllo del disco nel caso di
spegnimenti non corretti.
Adesso che avete termitato questa parte, torniamo nella prima consol -
premete Alt+F1 - e proseguiamo nell'installazione.
Selezionate
Successivo: inizializza e attiva una partizione di swap <invio>
...Ricercare eventuali blocchi su /dev/hda1 ? <No> <invio>
... Continuare? <Si> <invio>
Altro: Mount di una partizione gia' inizializzata <invio>
/dev/hda3: Linux native <invio>
... Montare /dev/hda3 come root filesystem? <Si> <invio>
Altro1: Mount di una partizione gia' inizializzata <invio>
/dev/hda2: Linux native <invio>
/boot: Una piccola (5-10Mb) partizione all'inizio del disco <invio>
Altro1: Mount di una partizione gia' inizializzata <invio>
/dev/hda5: Linux native <invio>
/usr: Una grande partizione per la maggior parte del software. <invio>
Altro1: Mount di una partizione gia' inizializzata <invio>
/dev/hda6: Linux native <invio>
/var: Dati variabili come spool della posta e database. <invio>
Altro1: Mount di una partizione gia' inizializzata <invio>
/dev/hda8: Linux native <invio>
/home: Home directory degli utenti. <invio>
Altro1: Mount di una partizione gia' inizializzata <invio>
Si selezioni il punto di montaggio per /dev/hda7:
Digitate /tmp <invio>
Bene, avete detto al sistema quali sono le partizioni su cui montare le directory. Proseguiamo
Successivo: instalazione kernel e moduli di driver <invio>
Maschera con bla bla bla <Si> <invio>
Adesso il sistema sta installando il kernel, aspettate qualche secondo...
Successivo: Configurazione moduli dei dispositivi <invio>
Maschera con bla bla bla <invio>
Entrare in kernel/drivers/sound/ ed installare i moduli ac97 e ac97_codec
Entrare in kernel/drivers/usb/storage/ ed installare il modulo usb-storage (voglio tentare di connettere un hard disk su USB come unita' di backup)
Esci: Finito. Ritorna al menu precedente <invio>
Successivo: configurazione hostname <invio>
Il sistema propone il nome debian e a me va bene <invio>
Successivo: installazione del sistema di base <invio>
cdrom : lettore di CD-ROM <invio>
<invio>
/instmnt <invio>
Adesso il sistema sta installando il sistema di base, attendere...
Successivo: rendere il sistema avviabile <invio>
/dev/hda: installazione di LILO nel MBR (da usare se non si e' sicuri) <invio>
Includere: mettere tutto nel menu <invio>
Maschera con bla bla bla <invio>
Altro : riavvia il sistema <invio> (No, niente floppy di avvio per adesso)
...Riavviare il sistema? Togliere floppy e/o cd-rom <invio>
Il sistema riparte, alla schermata iniziale scegliete linux <invio> o aspettate 10 secondi e parte da solo.
Adesso cominciano le difficolta.
Congratulazioni! avete installato Debian! bla bla bla. Se volete rilanciare il processo di setup successivamente, lanciate /usr/sbin/base-config <invio>
L'orologio e' impostato su GMT? <yes> <invio>
Selezionare Europe e Rome
Devo abilitare le password md5? <yes> <invio>
Devo abilitare le password shadow? <yes> <invio>
Digitare la password per l'utente root (cio' che viene digitano, NON viene stampato a video, per cui occorre stare attenti a cio' che si scrive) <invio>
Ridigitate, per conferma, la password per l'utente root <invio>
Devo ora creare un account di utete normale? <yes> <invio>
Digitare lo username del nuovo utente premoro0 <invio>
Il sistema propone Debian User quali dati dell'utente: mettete cio' che volete (magari nome e cognome) del'utente <invio>
Digitare la password per l'utente premoro0 <invio>
Ridigitate, per conferma, la password per l'utente premoro0 <invio>
Devo rimuovere il pacchetto delle schede PCMCIA? <No> <invio>
Vuoi usare una connessione PPP per installre il sistema <No> <invio>
Scegli quale metodo apt dovrebbe usare per accedere ai pacchetti <cdrom>
Inserire il primo cdrom <invio>
Adesso il programma leggera' tutti i pacchetti presenti sul cd, poi chiedera' se si vuole far leggere un altro cd: inserire uno alla volta tutti i cd in vostro possesso e farli leggere al programma.
Ora APT bla bla ... Volete aggiuntere un'altra sorgente di pacchetti? <No> <invio>
Volete usare gli update da security.debian.org? <No> <invio>
Eseguire TASKSEL? <YEs> <invio>
Selezionate i segueti gruppi di task: (in questo modo, verranno installati anche pacchetti che possono non servire, -come i giochi- o piu' seriamente, alcuni demoni che possono essere fonti di attacchi alla sicurezza del sistema)
X window system -server grafico-
file server
-Samba LanManager per server di file e di stampa per Unix-
-smbclient LanManager per client Unix-
-swat Un tool di amministrazione tramite wem di Samba-
-nfs-kernel-server Supporto al server NFS a livello kernel linux-
-samba-doc La documentoazione per Samba-
-smbfs Comandi per montatare/smontare le partizioni samba-
print server Gli stessi pacchetti di file server con l'aggiunta di:
-lpr sistema di spool di stampa linea di comando -
-magicfilter Filtro automatico di stampa-
-gs L'interprete Ghostscript Postscript-
conventional unix server (ATTENZIONE: implica parecchi demoni e quindi possibili falle di sicurezza)
-telnet Client telnet-
-traceroute Traccia la strada intrapresa da un pacchetto TCP/IP lungo la rete-
-netcat Utility tipo "coltellino svizzero" per la rete-
-ytalk Programma di talk migliorato che usa l'interfaccia X-
-zsh Una shell tipo bash con molte possinbilita'-
-nethack Gioco- (togliere dopo)
-talkd Server di comunicazione per utenti remoti- (togliere dopo)
-manpages Pagine di manuale sull'utilizzo di un sistema linux-
-talk Programma per parlare ad un altro utentei- (togliere dopo)
-finger Programma per trovare informazioni su un utente-
-fingerd Server di finger - (togliere dopo)
-emacs20 Programma di editor molto completo- (togliere dopo)
-ftpd Server FTP- (togliere dopo)
-man-db The on-line manual pager-
-mtr Full screen ncurses and X11 traceroute tool-
-bsdgames Collezione di giochi testuali per i sistemi BSD- (togliere dopo)
Posizinatevi <Finish> <invio>
Do you want to continue? [Y/n] <invio>
Run dselect? <No> <invio>
<invio>
Inserire il CDrom 1 <invio>
seguire TASKSEL? <Yes> <invio>
Eseguire TASKSEL? <Yes> <invio>
Schermata che avvisa che ci potrebbero essere problemi -e' solo un avviso- <invio>
Add e a mime...? <No> <invio>
Selezionare it_IT@euro ISO-8859-15 <invio>
Selezionare it_IT@euro <invio>
Configurazione di NFS-Common: il sistema avvisa che il demone statd usa tcpwrappers per controllare gli accessi. Per configurarlo, usare il programma chiamato "statd" in /etc/hosts.allow ed /etc/hosts.deny <invio>
Permettere l'uso solo di SSH2? <Yes> <invio>
Configurazione di ssh: il sistema avvisa che esiste una nuova opzione di separazione di privilegio. Cio' riduce drasticamente la quantita' di codice che gira con provilegi di root, diminuendo cosi' il rischio di eventuali bachi del demone shhd. Sfortunatamente, la separazione di privilegio va in conflitto con PAM. Qualunque modulo PAM che necessita di girare con privilegi di root (come ad esempio pam_mkhomedir) non funzionera'. La separazione di privilegi e' attivata di default, per cui se si vuole disabilitare, occorre aggiungere la riga "UsePrivilegeSeparation No" all'interno del file /etc/ssh/sshd_config <invio>
Configurazione di ssh: il sistema avvisa che esiste la possibilita' di installare l'aiutante ssh-keysign con attivato il bit SUID. Se attivi io bit SUID per ssh-keysign, sara' possibile usare una autentificasione dell'host basata sul protocollo SSH2. Se siete incerti, si suggerisce di installare con SUID attivo. Se cio' causa problemi, si puo' sempre disattivare successivamente eseguendo dpkg-reconfigure ssh._mkhomedir) Vuoi che /usr/libUssh-keysign sia installato col SUID <Yes> <invio>
Configurazione di ssh: il sistema avvisa che il pacchetto contiene entrambi le fersioni di ssh, il client ed il server. Normalmente il server di ssh, sshd, viene eseguito per permettere accessi sicuri da host remoti. Se vuoi usare questa macchina come client ssh e non come server, occorre disabilitare sshd. Vuoi che il server sshd sia attivo? <Yes> <invio>
Configurazione dimensione carta: selezionare <a4> <invio>
Configurazione server Samba: Ise si vuole inserire dei parametri rispodere 'yes' altrimenti se vuoi avere il pieno controllo della configurazione rispondi 'No' e cenfigura manualmente il vile smb.conf o attraverso il tool SWAT. Vuoi configurare smb.conf attraverso debconf? <No> <invio>
<invio>
Samba server: I servizi Samba (nmbd e smbd) possono girare come semplici demoni i da ined. iEseguirli come demoni e' la scemta consigliata. Come vuoi eseguirli?<daemons> <invio>
Samba server: Se questa e' una nuova isntallazione o se tu non hai il file /etc/samba/smbpasswd, e' raccomandato di rispondere 'yes'. Questo forzera' lo script di post installazione di Samba a generare il file smbpasswd a partire dal tuo attuale /etc/passwd. Tu dovrai settare le password per ogni utente usando il comando smbpasswd as the conversion only transfers user name, not passwords. Genero il file /etc/samba/smbpasswd? <Yes> <invio>
Configurazione Xserver-common: adesso verra' configurato il server X atraverso la parametrizzazione del file /etc/X11/Xwrapper.config. Questa operazione puo' essere fatta da debconf o manualmente da te.Notate che debconf gestisce solo una piccola numero delle varie sezioni del file. Se tali sezioni sono assenti, dovranno essere aggiunte manualnete da te. Gestisco tramite debconf il file di configurazione di X server wrapper? <Yes> <invio>
Configurazione Xserver-xfree86: adesso verra' configurato il file /etc/X11/XF86Config-4, che contiene la configurazione del server XFree86 versione 4. Questa operazione puo' essere fatta da debconf o manualmente da te. Notate che debconf rgestisce solo una piccola numero delle varie sezioni del file. Se tali sezioni sono arrenti, dovranno essere aggiunte manualmete da te, oppure dovrai eliminare il file, o spostarlo o rinominarlo (per permetterne la corretta rigenerazione). Gestisco tramite debconf il file di configurazione di Free86 versione 4.x? <Yes> <invio>
<vesa> <invio>
Configurazione Xserver-xfree86: ...usare il kernel framebuffer? <No> <invio>
Configurazione Xserver-xfree86: ...lasciare <xfree86> <invio>
Configurazione Xserver-xfree86: ...gestione tastiera, bla bla bla <invio>
Configurazione Xserver-xfree86: ...lasciare <pc104> <invio>
Configurazione Xserver-xfree86: per favore inserire il layout della vostra tastiera <it> <invio>
Configurazione Xserver-xfree86: per favore inserire le variabili (non mettere niente) <invio>
Configurazione Xserver-xfree86: per favore inserire le opzioni (non mettere niente) <invio>
Configurazione Xserver-xfree86: per favore configurare il mouse </dev/psaux> <invio>
Configurazione Xserver-xfree86: per favore inserire il tipo di mouse <PS/2> <invio>
Configurazione Xserver-xfree86: ...il tuo monitor e' un LCD? <Yes> <invio>
Configurazione Xserver-xfree86: ...per favore, seleziona un metodo pr configurare le caratteristiche del tuo monitor <Medium> <invio>
Configurazione Xserver-xfree86: ...per favore, seleziona la migliore modalita' video per il tuo monitor <1024x768 @ 75Hz> <invio>
Configurazione Xserver-xfree86: ...seleziona modalita' video per il tuo monitor <1024x768> <invio>
Configurazione Xserver-xfree86: ...seleziona modalita' la profondita' di colore <16> <invio>
Configurazione ftdp sCome prefenire attacchi globbing. Per contrastare gli attacchi globbing, devi configurara il tuo server FTP con una sensibile limitazione di risorse attraverso pam_limits. Leggi il file README.debian per i dettagli. <invio>
Adesso verranno caricati un po' di pacchetti, attendere...
Configurazione Ispell, tenere il default [1] <invio>
Adesso verranno caricati un po' di pacchetti, attendere...
Vuoi cancellare i pacchetti .deb precedentemente scaricati? <invio>
Premere un tasto per continuare <invio>
Posso eseguire la configurazione automatica della tua posta ponendoti alcune domande. Successivamente puoi confermare e/o correggere le tue risposte. in ogni caso, informazioni comprensibili sulla configurazione di exim, psono contenute nel pacchetto eximdoc e nel file /usr/share/doc/exim/spec.txt. <invio>
ci sono 5 opzioni, scegliere la quinta (5). Nessuna configurazione verra' eseguita adesso; il tuo sistema di posta non e' funzionante e non dovrebbe essere usato. Devi configurarlo successivamente, o eseguire lo script /usr/sbin/eximconfig, avendo i privilegi di root. Guarda il file avr/usr/share/doc/exim/example.conf.gz. <5> <invio>
Debian system Configuration: configurazione completata, ora devi loggarti come root. <invio>
digitare root. <invio>
digitare la password di root (invisibile). <invio>
Bene, siamo in Debian! Ecco la nostra fantasica riga di comando:
leggiamo cosa significa debian:~#
debian: e' il nome del computer,
~ sta ad indicare la directory in cui mi trovo in questo momento (la home directory dell'utente),
# significa che ho i privilegi
di root, quindi, fate attenzione a cio' che
fate!
Se al posto # ci fosse stato il simbolo dollaro ($) sareste stati un utente comune, che ha meno diritti, ma anche meno possibilita' di combinare guai rispetto a root.
Pero' la riga di comando e' un poco bruttina...
startx fara' partire una interfaccia grafica di default l'interfaccia TWM.
TWM e' una interfaccia grafica MOLTO primitiva, ma molto poco esosa in termini di risorse CPU, e questo e' un grosso vantaggio, dato che il server non predera' tempo a gestire una pesante interfaccia grafica, avra' piu' tempo per servire i client.
REAL MEN DON'T USE MICE (I veri uomini non usano i mouse)...
significa che il VERO utente linux non usa il mouse (e l'interfaccia
grafica) e quindi usa solo la consol... questo concetto sta ad indicare che
l'amministrazione di un sistema unix puo' essere fatta usando unicamente la
consol, con i suoi comandi, le utility e tutto il resto.
Il punto debole della consol e' presto detto: e' OSTICA! schermata nera,
cursore lampeggiante in basso a sinistra.... e' il panico! che faccio? cosa
digito? Invece, guarda che bello questo tool grafico che ti permette di
configurare tutto il sistema, dalla scheda di rete alla gestione degli
utenti... Fantastico! Si, fantastico... ma cosa succede il giorno in cui non
parte piu' la grafica? Ti troverai bloccato, col culo per terra,
impossibilitato ad amministrare il tuo sistema linux!
No, meglio cominciare a percorrere la strada difficile, la consol: ostica,
criptica, ma POTENTE, flessibile, e sopratutto SEMPRE disponibile.
CONFIGURAZIONE SCHEDA DI RETE editare il file /etc/network/interfaces, ed aggiungere queste righe:
auto eth0 poi lanciare lo script che attiva la scheda di rete: /etc/init.d/networking start, se non funziona, provare con: /etc/init.d/networking restart. verifichiamo che la scheda funzioni, digitiamo ifconfig. Se sono presenti le due voci eth0 e lo, allora va bene, se c'e' solo lo, la scheda di rete non e' configurata. |
Adesso installiamo mc e qualche altro programmino utile:
debian:~# apt-get install mc less tree kuzdu <invio>
adesso disinstallo un po' dei pacchetti installati in automatico che potrebbero creare delle falle di sicurezza, o che semplicemente non mi servono (es: emacs20)
debian:~# apt-get remove nethack talkd talk fingerd ftpd bsdgames emacs20 <invio>
OTTIMIZZAZIONE DEL SISTEMA
Ricompilazione KERNEL
prima di tutto, occorre installare i sorgenti: ma quali? gli ultimi, naturalmente! poiche' l'ultimo kernel attualmente disponibile e' il 2.4.18:
# apt-cache search 2.4.18 | more <invio>
mmm.. c'e' un sacco di roba... potrei installare il kernel gia' precompilato, ma poi non sono sicuro che contenga cio' che mi serve... no, meglio fare le cose dall'inizio. Allora i sorgenti, la documentazione e gli header per Pentium2.
# apt-get install kernel-source-2.4.18 kernel-doc-2.4.18 kernel-headers-2.4.18-686 <invio>
Installo anche un pacchetto che permette di ottimizzare la compilazione in funzione della cpu del proprio pc. apt-get install pentium-builder <invio> quando dovro' compilare un pacchetto dai sorgenti (non sto parlando de kernel, ma dell'ipotetico programma pippo), potro' dire al compilatore quale e la mia cpu tramite l'eportazione di una variabile d'ambiente: # export DEBIAN_BUILDARCH=i686 |
Gia' che ci sono, installo le ultime versioni dei compilatori:
# apt-get install gcc-3.0 cpp-3.0 g++-3.0 <invio>
ora devo campiare i link simbolici ai tre compilatori:
# cd /usr/bin <invio>
# rm gcc; ln -s gcc-3.0 gcc <invio>
# rm g++; ln -s g++-3.0 g++ <invio>
# rm cpp; ln -s cpp-3.0 cpp <invio>
Adesso devo preparare i sorgenti del kernel:
# cd /usr/src <invio>
# tar jxvf kernel-source-2.4.18.tar.bz2 <invio>
# apt-get install mconfig <invio> e' un tool per configurare il kernel da riga di comando
Creare un link simbolico:
# cd /usr/src <invio>
# ln -s kernel-source-2.4.18 linux <invio>
# cd linux <invio>
Se siete masochisti, digitate make config <invio> e configurate riga per riga, altrimenti digitate mconfig <invio> .
Ora, bisogna selezionare i componenti del kernel (e qui non ognuno deve fare per se, in base ad esigenza, hardware, esperienza, etc), le mie scelte sono state:
Processor family
- impostata la CPU come Pentium2
- disabilitato il Symmetric multi-processing support (ho una cpu
solamente)
Parallel port support
- attivato -come modulo- il Parallel port support (per usare la
stampante)
- attivato -come modulo- il PC-style support (per usare la stampante)
Block Devices
- attivato -come modulo- il loopback device support (per poter montare
le immagini iso come se fossero dischi "veri")
Networking option
- attivato l'IP tunnelling
Network device support
-ethernet (10 or 100Mbit)
-3COM Cards
-3c501 (modulo)
-3c503 (modulo)
-3c505 (modulo)
-3c509 (modulo)
-3c590/3c900 (modulo)
File System
- attivato DOS FAT support
- attivato MSDOS fs support
- attivato UMSDOS fs support
- attivato VFAT (Windows-95) fs support
- attivato l'ext3 journalling file system support
- attivato il Microsoft Joliet CDROM extention
Quando avete finito, premete 'w' per salvare e 'q' per uscire (si, e' come usare l'editor vi)
# cd /usr/src/linux <invio>
# make dep <invio>
# make clean <invio>
# make bzImage <invio> [Attenzione: la "i" di "Image" DEVE essere maiuscola]
# make modules <invio>
# make modules_install <invio>
# depmod -a <invio>
Se volete far fare tutto di seguito , digitate
# make dep && make clean && make bzImage && make modules && make modules_install && depmod -a <invio>
Il comando make bzImage ha creato il file /usr/src/linux/arch/i386/boot/bzImage, che andra' copiato nella directory /boot, sostituendolo al file vmlinuz* (si, e' vmlinuz, con la "zeta")
ATTENZIONE: il prossimo comando sovrascrivera' il vecchio kernel col nuovo. Se avete commesso errori e/o omissioni in fase di parametrizzazione con il comando mconfig (es: avete eliminato il supporto ai dischi SCSI e voi avete un disco SCSI) allora, al prossimo reboot avrete grossi problemi! Se volete stare sicuri, create un il kernel su floppy (vedi avanti).
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.18-bf24 <invio>
Ora bisogna dire a lilo che "uno straniero e' arrivato in citta'" :-) cioe' che c'e' un nuovo kernel da rendere disponibile al boot.
# lilo <invio>
Ora, fare un reboot per rendere attivo il nuovo kernel e poi, in consol dare il comando:
# uname -a <invio>
a questo punto, dovremmo vedere i dati del nuovo kernel (verificare che la data testimoni la "novita'" del kernel)
AGGIONORNAMENTO! Ho scoperto come aggiungere nuovi kernel senza dover rimuovere quelli vecchi: in qusto modo, se il kernel non funziona, si puo' sempre ripartire con quello vecchio.# cd /usr/src/linux # make mconfig (parametrizate il kernel, salvate e uscite) # make clean # make dep # make clean # make bzImage # make modules # make modules_install # cp /usr/src/linux/arch/i386/boot/bzImage /boot/linux-2.4.18 Il kernel é compilato e messo nella directory /boot, ora occorre modificare
il lilo.conf ed assicuratevi che contenga una riga con la parola # lilo -v |
Kernel su floppy Attenzione, se il kernel e' troppo grosso, non stara' su un floppy! fate una prova e se il sistema vi avvisa in tal senso rifate la procedura mconfig e cercate di eliminare le parti non indispensabili, (per esempio il supporto alla scheda sonora o il supporto ai chipset per i quali sapete per certo che non sono presenti nel vostro computer) Personalmente, dato che sto lavorando su un laptop, potrei eliminare completamente il supporto SCSI, completamente inutile, in questo caso... ma ho lasciato il supporto SCSI perche' vorrei provare ad installare un HD connesso tramite USB, e qualcuno mi ha detto che il kernel lo gestisce attraverso una conversione USB <->SCSI, per cui il supporto SCSI mi serve... mah, vedremo... # cd /usr/src/linux <invio> # mconfig ora comincia il lavoro pesante... ma fa tutto il pc :-) # make dep <invio> # make clean <invio> # make bzdisk <invio> inserite un floppy privo di settori danneggiati e non protetto da scrittura # make modules <invio> # make modules_install <invio> # depmod -a <invio> Se volete far fare tutto di seguito , digitate: # make dep && make clean && make bzImage && make modules && make modules_install && depmod -a <invio> [e andate a farvi un caffe'..] (fare il reboot con il floppy inserito) |
MONTAGGIO IMMAGINI ISO DEI CDROM E' scomodo doversi portare in giro i cdrom (ricordiamolo, 7 cd nella woody completa). Inoltre avendo le immagini ISO sul server, potro' fare le installazioni anche dalle varie workstation sparser per la (futura) LAN. Creiamo le immagini ISO: decido di metterle all'interno della directory /iso (che ricorderete essere stata creata appositamente come 'contenitore') # cd /iso <invio> metto un cdrom e, senza montarlo, do il comando # dd if=/dev/cdrom of=debian-3.0r0.disk0X.iso <invio> dove X va da 1 a 7, il numero totale dei cd a mia disposizione Accidenti, alla fine del primo CD, ottengo errori tipo: "SPURIOUS IRQ 7" Va beh, non e' importante, la copia l'ha fatta. Adesso che ho in qualche modo ottenuto le copie, devo montarle per vederle come se fossero dei dischi, il comando da usare e' mount -t sorgente destinazione. (Nonostante gli errori riportati, le immagini sono state create in modo corretto)creo dei punti di mount con il comando: # mkdir /mnt/woody <invio> # mkdir /mnt/woody/woody0X <invio> [ripetere il comando con X che va da 1 a 7] # mount -t iso9660 -o loop /iso/debian-3.0r0.disk0X.iso /mnt/woody/woody0X <invio> [con X che va da 1 a 7] Et voila! potete vedere il contenuto del file come se fosse un cdrom autentico! per smontare, il comando e' umount. |
RENDERE LE IMMAGINI VISIBILI AD APT-GET Ora le immagini sono montate, ma io voglio che apt-get le riconosca in automatico: possiamo agire tramite apt-setup -oppure editando manualmente il file /etc/apt/source.list ed aggiungete alle in coda alle altre , queste righe: deb file:/mnt/woody/woody01 stable main contrib
# apt-update <invio> A questo punto il comando apt-get attingera' alle immagini ISO e non chiedera' piu' i cdrom. studiate i comandi apt-* per ulteriori informazioni. |
| RESISTERE ALLE TENTAZIONI
Linux dispone di molti programmi che possono soddisfare praticamente tutte le vostre esigenze (quasi tutte). Idee del tipo:
Il ragionamento e' (apparentemente) corretto nel caso di un pc usato come workstation, pero' stiamo installando una postazione Server, per cui meno cose ci sono, meglio e'! Quali sono i vantaggi a tenere una installazione ridotta all'indispensabile? - maggior spazio a disposizione se e quando si rendera' necessario - minor possibilita' di conflitti software (librerie, etc.) - maggiore sicurezza del sistema: meno programmi=minore possibilita' di attacco da parte di crakers - minor numero di demoni presenti=maggior velocita' del server. Concludendo, non installate niente che non sia proprio necessario!!! Se volete pasticciare, NON fatelo sul server, ma su altro PC. |
Adesso fate un bel reboot...
Provate ad usare apt-get per installere qualcosa... errore! Provate a vedere se la scheda di rete e' configurata (vi ricordate il comando?) non lo e'! Perche' questo? perche' il mount delle immagini iso e il settaggio della scheda di rete, non sono permanenti e si perdono a ogni spegnimento macchina. Che fare allora? La consol bash ci mette a disposizione un potente linguaggio di scripting, che prende il nome di programmazione bash allora creiamo un semplice script che dovremo lanciare ogni volta all'inizio.
# cd /root <invio>
# touch partenza.sh <invio>
editate il file partenza.sh e scivetegli dentro queste righe:
#/bin/sh!
#questo per far partire la scheda di rete
/etc/init.d/networking restart
#questo per montare le iso e permettere ad apt-get di lavorare
mount -t iso9660 /iso/debian-3.0r0.disk01.iso /mnt/woody/woody01
mount -t iso9660 /iso/debian-3.0r0.disk02.iso /mnt/woody/woody02
mount -t iso9660 /iso/debian-3.0r0.disk03.iso /mnt/woody/woody03
mount -t iso9660 /iso/debian-3.0r0.disk04.iso /mnt/woody/woody04
mount -t iso9660 /iso/debian-3.0r0.disk05.iso /mnt/woody/woody05
mount -t iso9660 /iso/debian-3.0r0.disk06.iso /mnt/woody/woody06
mount -t iso9660 /iso/debian-3.0r0.disk07.iso /mnt/woody/woody07
salvate ed uscite
Ora occorre rendere eseguibile lo script partenza.sh il comando e':
# mod +x partenza.sh <invio>
ora lanciate lo script:
# ./partenza.sh <invio>
Cazzarola! ci sono problemi con la scheda di rete :(
| INIZIANO I PROBLEMI....
Allora, scrivo questo box dopo circa 3 ore di ricompilazioni e cristonamenti! Ho fatto molte prove, smanettando con mconfig, ma alla fine la scheda di rete funziona (o almeno ifconfig mi dice che l'interfaccia eth0 e' configurata). ... MA SI RISOLVONO Ho deciso di usare un kernel monolitico, cio' in un pezzo solo, senza moduli, perche', non ho capito come mai, se ricompilavo con l'opzione 'kernel modulare', mi dava errori... boh! Ecco la configurazione di mconfig Loadable module support disattivato Processor type and features General setup Block Devices SCSI support Network device support Character set device File System Sound USB support Quando avete finito, premete 'w' per salvare e 'q' per uscire (si, e' come usare l'editor vi) # cd /usr/src/linux <invio> # make dep <invio> # make clean <invio> # make bzImage <invio> [Attenzione: la "i" di "Image" DEVE essere maiuscola] Se volete far fare tutto di seguito , digitate # make dep && make clean && make bzImage <invio> Il comando make bzImage ha creato il file /usr/src/linux/arch/i386/boot/bzImage, che andra' copiato nella directory /boot, sostituendolo al file vmlinuz* (si, e' vmlinuz, con la "zeta") ATTENZIONE: il prossimo comando sovrascrivera' il vecchio kernel col nuovo. Se avete commesso errori e/o omissioni in fase di parametrizzazione con il comando mconfig (es: avete eliminato il supporto ai dischi SCSI e voi avete un disco SCSI) allora, al prossimo reboot avrete grossi problemi! Se volete stare sicuri, create un il kernel su floppy. # cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.18-bf24 <invio> Ora bisogna dire a lilo che "uno straniero e' arrivato in citta'" :-) cioe' che c'e' un nuovo kernel da rendere disponibile al boot. # lilo <invio> Ora, fare un reboot per rendere attivo il nuovo kernel e poi, in consol dare il comando: # uname -a <invio> a questo punto, dovremmo vedere i dati del nuovo kernel (verificare che la data testimoni la "novita'" del kernel) |
rilanciate lo script:
# ./partenza.sh <invio>
Ok, adesso la scheda di rete si attiva!
| L'OTTIMO E' NEMICO DEL BUONO
Il kernel ora e' ricompilato ed e' piu' piccolo di quello all'origine di circa 230K: cio' significa che sara' piu' veloce e il pc ne guadagnera'. Sono convinto che si puo' fare meglio: per esempio, tutte quelle schede di rete 3c5* che sono presenti mi sembrano francamente inutili: dopotutto, uso una scheda di rete PCMCIA, non una PCI! inoltre alcuni componenti sparsi per il kernel sono difficilmente considerabili necessari... Pero' e' un rischio togliere cose di cui si sa poco... per il momento il kernel soddisfa le mie esigenze, e' cioe' BUONO, ma renderlo OTTIMO sarebbe un lavoro lungo e minuzioso... Questo e' un lavoro da fare dopo, quando tutto sara' a posto e potro dedicare i lunghi pomeriggi invernali alle ottimizzazioni... |
Comandi/programmi che sarebbe meglio imparare subito ad usare----------------------------------------------------------
GESTIONE UTENTI
useradd - Crea nuovo utente o aggiorna le info predefinite per i nuovi
utenti
adduser - Crea nuovo utente o aggiorna le info predefinite per i nuovi
utenti
usermod - Modifica l'account di un utente
userdel - Rimuove l'account di un utente ed i file relativi
ALTRI COMANDI
cat - concatena file e li stampa sullo standard output
df - visualizza l'ammontare di spazio libero su disco
du - visualizza la quantita' usata di spazio su disco
uname - mostra informazioni sul sistema
mkfs - costruisce un file system Linux
dmesg - mostra i messaggi iniziali del kernel
tune2fs - aggiusta i parametri regolabili del filesystem su ext2
PROGRAMMA TUTTOFARE
mc - shell a carattere per sistemi Unix-like.
Versatile, installatelo ed imparate ad usarlo, ma DOPO che avete imparato
ad usare vi o vim.