La documentazione ufficiale sull'installazione di Debian è localizzata presso
http://www.debian.org/releases/stable/
e http://www.debian.org/releases/stable/installmanual.
Per le versioni in fase di sviluppo è localizzata presso http://www.debian.org/releases/testing/
e http://www.debian.org/releases/testing/installmanual
(il lavoro è in corso, talvolta potrebbe non essere reperibile)
Sebbene questo capitolo sia stato inizialmente scritto durante i giorni
dell'installatore di Potato, gran parte del suo contenuto è stato aggiornato
all'installatore di Woody ed essi sono molto simili. Siccome Sarge ne userà
uno totalmente nuovo, usate il capitolo come punto di riferimento per
quest'ultimo. Anche alcuni pacchetti chiave hanno cambiato nome e priorità.
Per esempio, il MTA predefinito di Sarge è exim4 invece di
exim e coreutils è stato introdotto per sostituire
parecchi pacchetti. Potrebbe essere necessario aggiustare le vostre azioni.
Non dimenticate di leggere >url id="http://www.debian.org/CD/netinst/"> se state cercando per un'immagine CD compatta dell'installatore Debian.
Usare le distribuzioni testing o unstable aumenta il
rischio di incappare ne i seri bachi. Questo rischio può essere gestito
impiantando uno schema multiboot con una versione di Debian più stabile, oppure
usando un trucco elegante fornito da chroot, come descritto in chroot, Sezione 8.6.35.
Quest'ultimo permette di usare versioni differenti della Debian simultaneamente
su console diverse.
Linux è compatibile con la maggior parte dei componenti per PC esistenti. Può essere installato praticamente in ogni configurazione. Per quanto mi riguarda, l'installazione è stata semplice come per Windows 95/98/Me. La lista di componenti compatibili cresce di giorno in giorno.
Se avete un laptop, andate su: Linux on Laptops per indirizzi
per l'installazione divisi per marca e modello.
La mia raccomandazione per i componenti di un desktop è, invece, "Siate conservativi."
Per macchine lente, bypassarne il disco rigido ed interfacciarle con macchine più veloci per eseguire l'installazione di Linux può essere una buona idea.
Durante l'installazione vi verranno richieste informazioni sull'hardware o sui chipset, informazioni non sempre facili da reperire. Ecco un metodo:
Dare i comandi seguenti all'interno di un sistema Linux già installato, fornisce qualche idea sull'hardware presente e sulla sua configurazione.
$ pager /proc/pci
$ pager /proc/interrupts
$ pager /proc/ioports
$ pager /proc/bus/usb/devices
Questi comandi possono essere dati durante il processo di installazione dalla console, premendo ALT-F2.
Dopo l'installazione iniziale, installando i pacchetti opzionali, tipo
pciutils, usbutils, e lshw, potete
ottenere informazioni più estese sul sistema.
$ lspci -v |pager
$ lsusb -v |pager
# lshw |pager
Uso tipico degli interrupt:
/dev/ttyS1)
/dev/ttyS0)
/dev/fd0,
/dev/fd1)
/dev/lp0)
/dev/hda, /dev/hdb)
/dev/hdc, /dev/hdd)
Per le vecchie schede ISA non-PnP, potreste voler impostare gli IRQ5, 10 ed 11 come non-PnP dal BIOS.
Per i dispositivi USB, le classi sono elencate in
/proc/bus/usb/devices come Cls=nn:
Se la classe non è 255, Linux supporta il dispositivo.
Una ulteriore fonte di informazione è rappresentata dagli altri sistemi operativi.
Installate una distribuzione di Linux commerciale. I sistemi di riconoscimento
dell'hardware tendono ad essere migliori della Debian, al momento. Le
differenze si livelleranno all'introduzione del debian-installer
con Sarge.
Installate Windows. La configurazione attuale del PC può essere ottenuta cliccando con il pulsante destro del mouse su "Risorse del Computer" e poi "Proprietà", ottenendo informazioni tipo IRQ, indirizzi di porta I/O, DMA. Alcune vecchie schede ISA potrebbero aver bisogno di essere configurate sotto DOS, ed utilizzate di conseguenza.
"Lilo è limitato ai primi 1024 cilindri."Sbagliato!
Il nuovo lilo, usato nella Debian Potato ha il supporto lba32. Se
il BIOS o la scheda madre sono abbastanza recenti da supportare lba32,
lilo dovrebbe essere in grado di caricarsi oltre il vecchio limite
dei 1024 cilindri.
Se avete tenuto il vostro vecchio lilo.conf, vi basterà aggiungere
una riga con "lba32" da qualche parte vicino all'inizio del
file.Vedere /usr/share/doc/lilo/Manual.txt.gz
Il nuovo boot loader grub, proveniente dal progetto GNU HURD, può
essere installato su un sistema Debian Woody:
# apt-get update
# apt-get install grub-doc
# mc /usr/share/doc/grub-doc/html/
... leggete il contenuto
# apt-get install grub
# pager /usr/share/doc/grub/README.Debian
... leggetelo :)
Per modificare il menu di GRUB, aprite /boot/grub/menu.lst.
Guardate Come impostare i parametri di
boot (GRUB), Sezione 8.1.6 su come impostare i parametri di avvio durante
il processo di inizializzazione, dato che sono lievemente diversi da
lilo.
Per Potato ho apprezzato molto il set di dischi denominato IDEPCI per il
desktop. Per Woody, apprezzo il set bf2.4. Entrambi i set usano una versione
di boot-floppies per creare i floppy di avvio.
Se avete una scheda di rete PCMCIA, dovete usare il set di dischi di avvio standard (numero di floppy maggiore, ma tutti i moduli dei driver disponibili) e configurare la NIC nel setup PCMCIA; non provate ad impostare una card NIC dal dall'interfaccia di configurazione della rete standard.
Per sistemi particolari, potete creare un disco di salvataggio fatto apposta,
sostituendo l'immagine del kernel denominata "linux" sul disco di
salvataggio Debian con un'altra immagine compilata apposta altrove per la
suddetta macchina. I dettagli dell'operazione li trovate sul
readme.txt sul dischetto di salvataggio. Il floppy è formattato
con il filesystem MSDOS, per cui potete utilizzare qualunque sistema per
leggerlo e modificarlo. Ciò dovrebbe rendere la vita più semplice a coloro con
particolari schede di rete, ecc...
Per Sarge, debian-installer e/o pgi si pensa verranno
usati per creare i floppy di avvio.
Seguite le istruzioni ufficiali reperibili presso http://www.debian.org/releases/stable/installmanual
e http://www.debian.org/releases/testing/installmanual
(il lavoro è in corso, talvolta potrebbe non essere reperibile).
Se installate un sistema tramite i boot floppies della
distribuzione testing, potreste avere bisogno di aprire un nuovo terminale
durante il processo di installazione premendo ALT-F2 e di modificare
manualmente le voci di /etc/apt/sources.list da "stable"
a "testing" per aggiustare le fonti di APT.
Io tendo ad installare lilo in posti tipo /dev/hda3,
mentre mbr in /dev/hda. Ciò minimizza il rischio di
sovrascrivere le informazioni di boot.
Ecco le mie scelte durante l'installazione.
Vedere dselect, Sezione
6.2.4. Anche se siete dei fanatici di Emacs, evitatelo per ora ed
accontentatevi di nano durante l'installazione. Evitate anche di installare
altri grossi pacchetti, tipo TEX (Potato faceva questo) a questo stadio.
Vedere Editor di salvataggio, Sezione
11.2 per le ragioni per installare nano-tiny od elvis-tiny.
exim: seleziono 2 per la macchina, dato che invio la posta tramite
il server SMTP del mio provider.
Per ulteriori informazioni su dselect, vedere dselect, Sezione 6.2.4.
Esempio di configurazione di una LAN (C subnet: 192.168.1.0/24):
Internet
|
+--- Un ISP esterno fornisce il servizio POP (raggiunto da fetchmail)
|
Un punto di accesso dell'ISP fornisce i servizi DHCP e SMTP
| :
Modem (Dial-up)
| :
Porta esterna della macchina gateway della LAN: eth0 (IP dato dal DHCP dell'ISP)
usa un vecchio notebook (IBM Thinkpad, 486 DX2 50 MHz, 20 MB RAM)
gira Linux con kernel 2.4 e file system ext3.
gira il pacchetto "ipmasq" (con patch più sicura, NAT e firewall)
gira il pacchetto "dhcp-client" configurato per eth0 (scavalca le impostazioni DNS)
gira il pacchetto "dhcp" configurato per eth1
gira "exim" come smarthost (modo 2)
gira "fetchmail" con un intervallo lungo (ripiego)
gira "bind" come cache name server per Internet dalla LAN
come name server autoritativo per il dominio LAN dalla LAN
gira "ssh" sulle porte 22 e 8080 (connessione da ovunque)
gira "squid" come cache server per l'archivio Debian (per APT)
Porta interna della macchina gateway della LAN: eth1 (IP = 192.168.1.1, fisso)
|
+--- LAN Switch (10 base T) ---+
| |
Alcuni clienti IP fissi sulla LAN Alcuni clienti DHCP sulla LAN
(IP = 192.168.1.2-127, fisso) (IP = 192.168.1.128-200, dinamico)
Vedere Configurare la rete, Capitolo 10 per i dettagli sulla configurazione del gateway server. Vedere Costruire un gateway router, Sezione 10.14 per i dettagli sulla configurazione del server gateway per la LAN.
Per avere lo stesso aspetto di "famiglia" tra le varie macchine, i primi account che imposto sono sempre gli stessi.
Il primo account che creo è sempre uno del tipo "admin" (uid=1000).
Tutta la posta per root viene reindirizzata lì. Questo account è aggiunto al
gruppo adm (vedere "Why GNU
su does not support the wheel group" (Perchè GNU
su non supporta il gruppo wheel), Sezione 9.2.2),
al quale viene data una certa quota di privilegi di root tramite
su, usando PAM, od il comando sudo. Vedere Aggiungere un account utente, Sezione
4.1.3 per i dettagli.
Per limitare i danni in caso di blocco del sistema, preferisco tenere partizioni diverse per directory diverse. Per esempio,
/ == (/ + /boot + /bin + /sbin)
== 50MB+
/tmp == 100MB+
/var == 100MB+
/home == 100MB+
/usr == 700MB+ con X
/usr/local == 100MB
Le dimensioni della directory /usr dipendono strettamente dal tipo
di applicazione X window. /usr può essere di soli 300MB per la
sola console, mentre 2GB–3GB non sono inusuali se si vogliono installare
varie applicazioni di Gnome. Quando /usr diventa troppo grande,
la cura più efficace è spostare /usr/share/ in una partizione
diversa. Con i nuovi kernel 2.4 pre-impacchettati, / può avere
bisogno di più di 200MB di spazio.
Per esempio, la configurazione attuale della mia macchina che funge da Internet gateway, è la seguente (output del comando df -h):
Filesystem Size Used Avail Use% Mounted on
/dev/hda3 300M 106M 179M 38% /
/dev/hda7 100M 12M 82M 13% /home
/dev/hda8 596M 53M 513M 10% /var
/dev/hda6 100M 834k 94M 1% /var/lib/cvs
/dev/hda9 596M 222M 343M 40% /usr
/dev/hda10 596M 130M 436M 23% /var/cache/apt/archives
/dev/hda11 1.5G 204M 1.2G 14% /var/spool/squid
(Le grosse dimensioni di /var/spool/squid sono per la funzione di
proxy cache e per lo scarico dei pacchetti).
Per dare un'idea della struttura delle partizioni, il seguente è il risultato di fdisk -l:
# fdisk -l /dev/hda # commenti
/dev/hda1 1 41 309928+ 6 FAT16 # DOS
/dev/hda2 42 84 325080 83 Linux # (not used)
/dev/hda3 * 85 126 317520 83 Linux # Main
/dev/hda4 127 629 3802680 5 Extended
/dev/hda5 127 143 128488+ 82 Linux swap
/dev/hda6 144 157 105808+ 83 Linux
/dev/hda7 158 171 105808+ 83 Linux
/dev/hda8 172 253 619888+ 83 Linux
/dev/hda9 254 335 619888+ 83 Linux
/dev/hda10 336 417 619888+ 83 Linux
/dev/hda11 418 629 1602688+ 83 Linux
Ci sono alcune partizioni inutilizzate. Queste servono per installare una seconda distribuzione di Linux, o come spazio per espandere qualche directory in crescita.
Il montaggio appropriato delle partizioni avviene mediante il seguente
/etc/fstab:
# /etc/fstab: static file system information.
#
# filesystem mount point type options dump pass
/dev/hda3 / ext2 defaults,errors=remount-ro 0 1
/dev/hda5 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /floppy auto defaults,user,noauto 0 0
/dev/cdrom /cdrom iso9660 defaults,ro,user,noauto 0 0
#
# mantenete le partizioni separate
/dev/hda7 /home ext2 defaults 0 2
/dev/hda8 /var ext2 defaults 0 2
/dev/hda6 /var/lib/cvs ext2 defaults 0 2
# noatime accelera l'accesso ai file in lettura
/dev/hda9 /usr ext2 defaults,noatime 0 2
/dev/hda10 /var/cache/apt/archives ext2 defaults 0 2
# una partizione molto grande come proxy cache
/dev/hda11 /var/spool/squid ext2 rw 0 2
# DOS avviabile di backup
/dev/hda1 /mnt/dos vfat rw,noauto 0 0
# Linux avviabile di backup (non ancora fatto)
/dev/hda2 /mnt/linux ext2 rw,noauto 0 0
#
# nfs mounts
mickey:/ /mnt/mickey nfs ro,noauto,intr 0 0
goofy:/ /mnt/goofy nfs ro,noauto,intr 0 0
# minnie:/ /mnt/minnie smbfs ro,soft,intr,credentials={filename} 0 2
Per NFS, uso qui le opzioni noauto,intr combinate con quella di default hard. In tal modo, un processo che si blocca in seguito alla perdita di connessione può essere recuperato mediante Control-C.
Usare rw,auto,soft,intr per macchine Windows connesse tramite Samba (smbfs), può essere una buona idea. Vedere Configurare Samba, Sezione 3.5.
Per i floppy, utilizzare noauto,rw,sync,user,exec previene la corruzione dei file in caso di rimozione accidentale del disco prima di averlo smontato, però rallenta il processo di scrittura.
Punti chiave per il montaggio automatico (auto mount):
/etc/auto.misc di contenere -fstype=auto:
# modprobe vfat # prima del tentativo di accedere al floppy
... oppure automatizzate il processo,
# echo "vfat" >> /etc/modules
... e riavviate il sistema.
/etc/auto.misc come segue:
floppy -fstype=auto,sync,nodev,nosuid,gid=100,umask=000 :/dev/fd0
... dove gid=100 è "users".
/home/user, cdrom
e floppy, che puntino a /var/autofs/misc/cdrom e
/var/autofs/misc/floppy, rispettivamente.
Il server esterno NFS (goofy) risiede dietro un firewall (gateway). Dato che sono l'unico ad usarla, ho delle regole di sicurezza sulla LAN molto rilassate. Per abilitare l'accesso NFS, il server NFS necessita di aggiungere /etc/exports come segue:
# /etc/exports: lista di controllo degli accessi per filesystem che possono
# essere esportati ai client NFS. Vedere exports(5).
/ (rw,no_root_squash)
Ciò è richiesto per attivare il server NFS, in aggiunta all'installazione e ad attivazione del server/client NFS.
Per semplicità, in genere creo un partizione singola di circa 2GB per
installazioni sperimentali e/o secondarie di linux. Opzionalmente condivido le
partizioni di swap e /tmp. Per questi scopi lo schema a
partizioni multiple è eccessivo. Se vi serve un semplice sistema a console,
bastano 500MB.
Di seguito presento alcune (grandi) linee guida per le DRAM.
4MB: Il minimo necessario a far funzionale il kernel di Linux.
16MB: Il minimo per un sistema con console.
32MB: Il minimo per un semplice sistema X.
64MB: Il minimo per X con GNOME/KDE.
128MB: Il giusto per X con GNOME/KDE.
256MB: (o più): Perchè no se ve le potete permettere? Le DRAM sono economiche.
L'opzione di boot mem=4m (o lilo append="mem=4m") vi mostra come il sistema si comporta con soli 4MB di memoria installati. Il parametro di boot per lilo è necessario per sistemi con vecchi BIOS e più di 64MB di memoria.
Uso la formula seguente:
/etc/fstab. Ciò assicura che il kernel
faccia una sorta di RAID di partizioni swap ed offre il massimo di prestazioni
di swap.
Anche se non ne avrete mai bisogno, un pò di spazio swap (128MB) è comunque desiderabile, in modo che un programma che ha un leak di memoria rallenti progressivamente il sistema prima di bloccarlo definitivamente.
Modifico gli script di inizio della shell a mio piacimento:
/etc/bash.bashrc Sostituire con copia privata
/etc/profile Mantenere la copia della distribuzione ( \w -> \W)
/etc/skel/.bashrc Sostituire con copia privata
/etc/skel/.profile Sostituire con copia privata
/etc/skel/.bash_profile Sostituire con copia privata
~/.bashrc Sostituire con copia privata per tutti gli account
~/.profile Sostituire con copia privata per tutti gli account
~/.bash_profile Sostituire con copia privata per tutti gli account
Per i dettagli vedere i miei esempi. Mi
piace un sistema trasparente, così imposto umask a 002 o 022.
PATH viene impostato dai seguenti file di configurazione, in
questo ordine.
/etc/login.defs - prima del PATH impostato per la shell
/etc/profile ( può chiamare /etc/bash.bashrc)
~/.bash_profile ( può chiamare ~/.bashrc)
In caso di un mouse PS/2 con scheda madre ATX, il flusso del segnale deve essere:
mouse -> /dev/psaux -> gpm -> /dev/gpmdata = /dev/mouse -> X
In questo caso si crea un collegamento simbolico /dev/mouse che
punta a /dev/gpmdata per rendere felici alcune utilità di
configurazione e per rendere facile la reconfigurazione. (Per esempio se
decidete di non usare per niente il demone gpm, basta puntare il collegamento
simbolico /dev/mouse a /dev/psaux dopo essersi
liberati del demone gpm.)
Il flusso del segnale permette di deconnettere e reinizializzare la tastiera ed
il mouse riavviando gpm dopo la riconnessione. X rimarrà
funzionante!
Il protocollo del flusso del segnale tra l'output di gpm e l'input
di X può essere implementato in due modi, come "ms3" (protocollo del
mouse seriale Microsoft a 3 pulsanti) o come "raw" (usa lo stesso
protocollo del mouse che è connesso) e questa scelta condiziona la scelta del
protocollo usato nella configurazione di X.
Mostrerò e modificarlo. Ciò dovrebbe rendere la vita più semplice a coloro con particolari schede di rete, ecc...
Per Sarge, debian-installer e/o pgi si pensa verranno
usati per creare i floppy di avvio.
Seguite le istruzioni ufficiali reperibili presso http://www.debian.org/releases/stable/installmanual
e http://www.debian.org/releases/testing/installmanual
(il lavoro è in corso, talvolta potrebbe non essere reperibile).
Se installate un sistema tramite i boot floppies della
distribuzione testing, potreste avere bisogno di aprire un nuovo terminale
durante il processo di installazione premendo ALT-F2 e di modificare
manualmente le voci di /etc/apt/sources.list da "stable"
a "testing" per aggiustare le fonti di APT.
Io tendo ad installare lilo in posti tipo /dev/hda3,
mentre mbr in /dev/hda. Ciò minimizza il rischio di
sovrascrivere le informazioni di boot.
Ecco le mie scelte durante l'installazione.
Vedere dselect, Sezione
6.2.4. Anche se siete dei fanatici di Emacs, evitatelo per ora ed
accontentatevi di nano durante l'installazione. Evitate anche di installare
altri grossi pacchetti, tipo TEX (Potato faceva questo) a questo stadio.
Vedere Editor di salvataggio, Sezione
11.2 per le ragioni per installare nano-tiny od elvis-tiny.
exim: seleziono 2 per la macchina, dato che invio la posta tramite
il server SMTP del mio provider.
Per ulteriori informazioni su dselect, vedere dselect, Sezione 6.2.4.
Esempio di configurazione di una LAN (C subnet: 192.168.1.0/24):
Internet
|
+--- Un ISP esterno fornisce il servizio POP (raggiunto da fetchmail)
|
Un punto di accesso dell'ISP fornisce i servizi DHCP e SMTP
| :
Modem (Dial-up)
| :
Porta esterna della macchina gateway della LAN: eth0 (IP dato dal DHCP dell'ISP)
usa un vecchio notebook (IBM Thinkpad, 486 DX2 50 MHz, 20 MB RAM)
gira Linux con kernel 2.4 e file system ext3.
gira il pacchetto "ipmasq" (con patch più sicura, NAT e firewall)
gira il pacchetto "dhcp-client" configurato per eth0 (scavalca le impostazioni DNS)
gira il pacchetto "dhcp" configurato per eth1
gira "exim" come smarthost (modo 2)
gira "fetchmail" con un intervallo lungo (ripiego)
gira "bind" come cache name server per Internet dalla LAN
come name server autoritativo per il dominio LAN dalla LAN
gira "ssh" sulle porte 22 e 8080 (connessione da ovunque)
gira "squid" come cache server per l'archivio Debian (per APT)
Porta interna della macchina gateway della LAN: eth1 (IP = 192.168.1.1, fisso)
|
+--- LAN Switch (10 base T) ---+
| |
Alcuni clienti IP fissi sulla LAN Alcuni clienti DHCP sulla LAN
(IP = 192.168.1.2-127, fisso) (IP = 192.168.1.128-200, dinamico)
Vedere Configurare la rete, Capitolo 10 per i dettagli sulla configurazione del gateway server. Vedere Costruire un gateway router, Sezione 10.14 per i dettagli sulla configurazione del server gateway per la LAN.
Per avere lo stesso aspetto di "famiglia" tra le varie macchine, i primi account che imposto sono sempre gli stessi.
Il primo account che creo è sempre uno del tipo "admin" (uid=1000).
Tutta la posta per root viene reindirizzata lì. Questo account è aggiunto al
gruppo adm (vedere "Why GNU
su does not support the wheel group" (Perchè GNU
su non supporta il gruppo wheel), Sezione 9.2.2),
al quale viene data una certa quota di privilegi di root tramite
su, usando PAM, od il comando sudo. Vedere Aggiungere un account utente, Sezione
4.1.3 per i dettagli.
Per limitare i danni in caso di blocco del sistema, preferisco tenere partizioni diverse per directory diverse. Per esempio,
/ == (/ + /boot + /bin + /sbin)
== 50MB+
/tmp == 100MB+
/var == 100MB+
/home == 100MB+
/usr == 700MB+ con X
/usr/local == 100MB
Le dimensioni della directory /usr dipendono strettamente dal tipo
di applicazione X window. /usr può essere di soli 300MB per la
sola console, mentre 2GB–3GB non sono inusuali se si vogliono installare
varie applicazioni di Gnome. Quando /usr diventa troppo grande,
la cura più efficace è spostare /usr/share/ in una partizione
diversa. Con i nuovi kernel 2.4 pre-impacchettati, / può avere
bisogno di più di 200MB di spazio.
Per esempio, la configurazione attuale della mia macchina che funge da Internet gateway, è la seguente (output del comando df -h):
Filesystem Size Used Avail Use% Mounted on
/dev/hda3 300M 106M 179M 38% /
/dev/hda7 100M 12M 82M 13% /home
/dev/hda8 596M 53M 513M 10% /var
/dev/hda6 100M 834k 94M 1% /var/lib/cvs
/dev/hda9 596M 222M 343M 40% /usr
/dev/hda10 596M 130M 436M 23% /var/cache/apt/archives
/dev/hda11 1.5G 204M 1.2G 14% /var/spool/squid
(Le grosse dimensioni di /var/spool/squid sono per la funzione di
proxy cache e per lo scarico dei pacchetti).
Per dare un'idea della struttura delle partizioni, il seguente è il risultato di fdisk -l:
# fdisk -l /dev/hda # commenti
/dev/hda1 1 41 309928+ 6 FAT16 # DOS
/dev/hda2 42 84 325080 83 Linux # (not used)
/dev/hda3 * 85 126 317520 83 Linux # Main
/dev/hda4 127 629 3802680 5 Extended
/dev/hda5 127 143 128488+ 82 Linux swap
/dev/hda6 144 157 105808+ 83 Linux
/dev/hda7 158 171 105808+ 83 Linux
/dev/hda8 172 253 619888+ 83 Linux
/dev/hda9 254 335 619888+ 83 Linux
/dev/hda10 336 417 619888+ 83 Linux
/dev/hda11 418 629 1602688+ 83 Linux
Ci sono alcune partizioni inutilizzate. Queste servono per installare una seconda distribuzione di Linux, o come spazio per espandere qualche directory in crescita.
Il montaggio appropriato delle partizioni avviene mediante il seguente
/etc/fstab:
# /etc/fstab: static file system information.
#
# filesystem mount point type options dump pass
/dev/hda3 / ext2 defaults,errors=remount-ro 0 1
/dev/hda5 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /floppy auto defaults,user,noauto 0 0
/dev/cdrom /cdrom iso9660 defaults,ro,user,noauto 0 0
#
# mantenete le partizioni separate
/dev/hda7 /home ext2 defaults 0 2
/dev/hda8 /var ext2 defaults 0 2
/dev/hda6 /var/lib/cvs ext2 defaults 0 2
# noatime accelera l'accesso ai file in lettura
/dev/hda9 /usr ext2 defaults,noatime 0 2
/dev/hda10 /var/cache/apt/archives ext2 defaults 0 2
# una partizione molto grande come proxy cache
/dev/hda11 /var/spool/squid ext2 rw 0 2
# DOS avviabile di backup
/dev/hda1 /mnt/dos vfat rw,noauto 0 0
# Linux avviabile di backup (non ancora fatto)
/dev/hda2 /mnt/linux ext2 rw,noauto 0 0
#
# nfs mounts
mickey:/ /mnt/mickey nfs ro,noauto,intr 0 0
goofy:/ /mnt/goofy nfs ro,noauto,intr 0 0
# minnie:/ /mnt/minnie smbfs ro,soft,intr,credentials={filename} 0 2
Per NFS, uso qui le opzioni noauto,intr combinate con quella di default hard. In tal modo, un processo che si blocca in seguito alla perdita di connessione può essere recuperato mediante Control-C.
Usare rw,auto,soft,intr per macchine Windows connesse tramite Samba (smbfs), può essere una buona idea. Vedere Configurare Samba, Sezione 3.5.
Per i floppy, utilizzare noauto,rw,sync,user,exec previene la corruzione dei file in caso di rimozione accidentale del disco prima di averlo smontato, però rallenta il processo di scrittura.
Punti chiave per il montaggio automatico (auto mount):
/etc/auto.misc di contenere -fstype=auto:
# modprobe vfat # prima del tentativo di accedere al floppy
... oppure automatizzate il processo,
# echo "vfat" >> /etc/modules
... e riavviate il sistema.
/etc/auto.misc come segue:
floppy -fstype=auto,sync,nodev,nosuid,gid=100,umask=000 :/dev/fd0
... dove gid=100 è "users".
/home/user, cdrom
e floppy, che puntino a /var/autofs/misc/cdrom e
/var/autofs/misc/floppy, rispettivamente.
Il server esterno NFS (goofy) risiede dietro un firewall (gateway). Dato che sono l'unico ad usarla, ho delle regole di sicurezza sulla LAN molto rilassate. Per abilitare l'accesso NFS, il server NFS necessita di aggiungere /etc/exports come segue:
# /etc/exports: lista di controllo degli accessi per filesystem che possono
# essere esportati ai client NFS. Vedere exports(5).
/ (rw,no_root_squash)
Ciò è richiesto per attivare il server NFS, in aggiunta all'installazione e ad attivazione del server/client NFS.
Per semplicità, in genere creo un partizione singola di circa 2GB per
installazioni sperimentali e/o secondarie di linux. Opzionalmente condivido le
partizioni di swap e /tmp. Per questi scopi lo schema a
partizioni multiple è eccessivo. Se vi serve un semplice sistema a console,
bastano 500MB.
Di seguito presento alcune (grandi) linee guida per le DRAM.
4MB: Il minimo necessario a far funzionale il kernel di Linux.
16MB: Il minimo per un sistema con console.
32MB: Il minimo per un semplice sistema X.
64MB: Il minimo per X con GNOME/KDE.
128MB: Il giusto per X con GNOME/KDE.
256MB: (o più): Perchè no se ve le potete permettere? Le DRAM sono economiche.
L'opzione di boot mem=4m (o lilo append="mem=4m") vi mostra come il sistema si comporta con soli 4MB di memoria installati. Il parametro di boot per lilo è necessario per sistemi con vecchi BIOS e più di 64MB di memoria.
Uso la formula seguente:
/etc/fstab. Ciò assicura che il kernel
faccia una sorta di RAID di partizioni swap ed offre il massimo di prestazioni
di swap.
Anche se non ne avrete mai bisogno, un pò di spazio swap (128MB) è comunque desiderabile, in modo che un programma che ha un leak di memoria rallenti progressivamente il sistema prima di bloccarlo definitivamente.
Modifico gli script di inizio della shell a mio piacimento:
/etc/bash.bashrc Sostituire con copia privata
/etc/profile Mantenere la copia della distribuzione ( \w -> \W)
/etc/skel/.bashrc Sostituire con copia privata
/etc/skel/.profile Sostituire con copia privata
/etc/skel/.bash_profile Sostituire con copia privata
~/.bashrc Sostituire con copia privata per tutti gli account
~/.profile Sostituire con copia privata per tutti gli account
~/.bash_profile Sostituire con copia privata per tutti gli account
Per i dettagli vedere i miei esempi. Mi
piace un sistema trasparente, così imposto umask a 002 o 022.
PATH viene impostato dai seguenti file di configurazione, in
questo ordine.
/etc/login.defs - prima del PATH impostato per la shell
/etc/profile ( può chiamare /etc/bash.bashrc)
~/.bash_profile ( può chiamare ~/.bashrc)
In caso di un mouse PS/2 con scheda madre ATX, il flusso del segnale deve essere:
mouse -> /dev/psaux -> gpm -> /dev/gpmdata = /dev/mouse -> X
In questo caso si crea un collegamento simbolico /dev/mouse che
punta a /dev/gpmdata per rendere felici alcune utilità di
configurazione e per rendere facile la reconfigurazione. (Per esempio se
decidete di non usare per niente il demone gpm, basta puntare il collegamento
simbolico /dev/mouse a /dev/psaux dopo essersi
liberati del demone gpm.)
Il flusso del segnale permette di deconnettere e reinizializzare la tastiera ed
il mouse riavviando gpm dopo la riconnessione. X rimarrà
funzionante!
Il protocollo del flusso del segnale tra l'output di gpm e l'input
di X può essere implementato in due modi, come "ms3" (protocollo del
mouse seriale Microsoft a 3 pulsanti) o come "raw" (usa lo stesso
protocollo del mouse che è connesso) e questa scelta condiziona la scelta del
protocollo usato nella configurazione di X.
Mostrerò e modificarlo. Ciò dovrebbe rendere la vita più semplice a coloro con particolari schede di rete, ecc...
Per Sarge, debian-installer e/o pgi si pensa verranno
usati per creare i floppy di avvio.
Seguite le istruzioni ufficiali reperibili presso http://www.debian.org/releases/stable/installmanual
e http://www.debian.org/releases/testing/installmanual
(il lavoro è in corso, talvolta potrebbe non essere reperibile).
Se installate un sistema tramite i boot floppies della
distribuzione testing, potreste avere bisogno di aprire un nuovo terminale
durante il processo di installazione premendo ALT-F2 e di modificare
manualmente le voci di /etc/apt/sources.list da "stable"
a "testing" per aggiustare le fonti di APT.
Io tendo ad installare lilo in posti tipo /dev/hda3,
mentre mbr in /dev/hda. Ciò minimizza il rischio di
sovrascrivere le informazioni di boot.
Ecco le mie scelte durante l'installazione.
Vedere dselect, Sezione
6.2.4. Anche se siete dei fanatici di Emacs, evitatelo per ora ed
accontentatevi di nano durante l'installazione. Evitate anche di installare
altri grossi pacchetti, tipo TEX (Potato faceva questo) a questo stadio.
Vedere Editor di salvataggio, Sezione
11.2 per le ragioni per installare nano-tiny od elvis-tiny.
exim: seleziono 2 per la macchina, dato che invio la posta tramite
il server SMTP del mio provider.
Per ulteriori informazioni su dselect, vedere dselect, Sezione 6.2.4.
Esempio di configurazione di una LAN (C subnet: 192.168.1.0/24):
Internet
|
+--- Un ISP esterno fornisce il servizio POP (raggiunto da fetchmail)
|
Un punto di accesso dell'ISP fornisce i servizi DHCP e SMTP
| :
Modem (Dial-up)
| :
Porta esterna della macchina gateway della LAN: eth0 (IP dato dal DHCP dell'ISP)
usa un vecchio notebook (IBM Thinkpad, 486 DX2 50 MHz, 20 MB RAM)
gira Linux con kernel 2.4 e file system ext3.
gira il pacchetto "ipmasq" (con patch più sicura, NAT e firewall)
gira il pacchetto "dhcp-client" configurato per eth0 (scavalca le impostazioni DNS)
gira il pacchetto "dhcp" configurato per eth1
gira "exim" come smarthost (modo 2)
gira "fetchmail" con un intervallo lungo (ripiego)
gira "bind" come cache name server per Internet dalla LAN
come name server autoritativo per il dominio LAN dalla LAN
gira "ssh" sulle porte 22 e 8080 (connessione da ovunque)
gira "squid" come cache server per l'archivio Debian (per APT)
Porta interna della macchina gateway della LAN: eth1 (IP = 192.168.1.1, fisso)
|
+--- LAN Switch (10 base T) ---+
| |
Alcuni clienti IP fissi sulla LAN Alcuni clienti DHCP sulla LAN
(IP = 192.168.1.2-127, fisso) (IP = 192.168.1.128-200, dinamico)
Vedere Configurare la rete, Capitolo 10 per i dettagli sulla configurazione del gateway server. Vedere Costruire un gateway router, Sezione 10.14 per i dettagli sulla configurazione del server gateway per la LAN.
Per avere lo stesso aspetto di "famiglia" tra le varie macchine, i primi account che imposto sono sempre gli stessi.
Il primo account che creo è sempre uno del tipo "admin" (uid=1000).
Tutta la posta per root viene reindirizzata lì. Questo account è aggiunto al
gruppo adm (vedere "Why GNU
su does not support the wheel group" (Perchè GNU
su non supporta il gruppo wheel), Sezione 9.2.2),
al quale viene data una certa quota di privilegi di root tramite
su, usando PAM, od il comando sudo. Vedere Aggiungere un account utente, Sezione
4.1.3 per i dettagli.
Per limitare i danni in caso di blocco del sistema, preferisco tenere partizioni diverse per dire