[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ successivo ]

La guida Debian
Capitolo 3 - Suggerimenti per l'installazione di un sistema Debian


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.


3.1 Tracce generali per l'installazione di Linux

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.


3.1.1 Le basi della compatibilità hardware

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.


3.1.2 Definire i componenti del PC ed il chipset

Durante l'installazione vi verranno richieste informazioni sull'hardware o sui chipset, informazioni non sempre facili da reperire. Ecco un metodo:

  1. Aprite il PC e guardate dentro.
  2. Scrivete i numeri presenti sui grossi chip sulle schede grafiche, sulle schede di rete, sui chip situati vicino alle porte seriali ed alle porte IDE.
  3. Scrivete i nomi scritti sul dorso delle schede PCI ed ISA.

3.1.3 Definire i componenti del PC tramite Debian

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:

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.


3.1.4 Definire i componenti del PC tramite altri S.O.

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.


3.1.5 Il mito di Lilo

"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


3.1.6 GRUB

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.


3.1.7 Scegliere i floppy di avvio

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.


3.1.8 Installazione

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.

Per ulteriori informazioni su dselect, vedere dselect, Sezione 6.2.4.


3.1.9 Quale host ed IP usare per una LAN

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.


3.1.10 Account utenti

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.


3.1.11 Creare i filesystem


3.1.11.1 Partizionare il disco rigido

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.


3.1.11.2 Montare i filesystem

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.


3.1.11.3 Montaggio con autofs

Punti chiave per il montaggio automatico (auto mount):


3.1.11.4 Montaggio del NFS

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.


3.1.12 Linee guida per la memoria DRAM

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.


3.1.13 Lo spazio di Swap

Uso la formula seguente:

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.


3.2 Configurare Bash

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)

3.3 Configurare il mouse


3.3.1 Mouse PS/2

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.


3.1.8 Installazione

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.

Per ulteriori informazioni su dselect, vedere dselect, Sezione 6.2.4.


3.1.9 Quale host ed IP usare per una LAN

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.


3.1.10 Account utenti

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.


3.1.11 Creare i filesystem


3.1.11.1 Partizionare il disco rigido

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.


3.1.11.2 Montare i filesystem

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.


3.1.11.3 Montaggio con autofs

Punti chiave per il montaggio automatico (auto mount):


3.1.11.4 Montaggio del NFS

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.


3.1.12 Linee guida per la memoria DRAM

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.


3.1.13 Lo spazio di Swap

Uso la formula seguente:

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.


3.2 Configurare Bash

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)

3.3 Configurare il mouse


3.3.1 Mouse PS/2

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.


3.1.8 Installazione

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.

Per ulteriori informazioni su dselect, vedere dselect, Sezione 6.2.4.


3.1.9 Quale host ed IP usare per una LAN

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.


3.1.10 Account utenti

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.


3.1.11 Creare i filesystem


3.1.11.1 Partizionare il disco rigido

Per limitare i danni in caso di blocco del sistema, preferisco tenere partizioni diverse per dire