wiki:TechHints

Guida Rapida all'Installazione di FUSS

L'obiettivo di questa sezione del wiki è quello di offrire una guida all'installazione della distribuzione Fuss di GNU/Linux.
La guida è organizzata in tre diverse sezioni per l'installazione (base valida per tutte le stagioni, server per l'installazione di un server per una rete locale, client per l'installazione di host all'interno di una rete locale), una sezione dedicata alla risoluzione di problemi comunemente incontrati durante l'installazione e una sezione con un po' di suggerimenti e trucchi per rendere la vita dell'installatore e del manutentore di Fuss più semplice e faceta.

Contenuti della Guida

  • Preliminari
  • Installazione Base
    • Installazione via cd
    • Installazione via rete
  • Installazione Client
    • Preparativi per l'installazione di un client
    • Installazione Base
    • Installazione del pacchetto fuss-client
    • Checkout e verifica del client
  • Installazione Server
    • Preparativi per l'installazione di un server
    • Installazione Base
    • Installazione del pacchetto fuss-server
    • Ultimi dettagli, checkout e verifica del server
  • Problem Solving
    • Stampanti
    • Scanner
    • Fotocamere
    • Masterizzatori
    • Problemi di Boot
    • Problemi con tasksel, apt, e il sistema di pacchettizzazione debian
    • Problemi vari
  • Tricks & Tips
    • Configurare e usare cssh

Preliminari

All'arrivo in ogni Zona di Installazione Fuss (ZIF d'ora in poi) é fondamentale stabilire un contatto socievole con gli indigeni.
Nel case study in esame, all'arrivo in ogni scuola, la prima cosa da fare è contattare i referenti informatici dell'istituto e localizzare l'aula dove fare base con l'equipaggiamento del kit di installazione Fuss (laptop con un mirror della distribuzione, cd vergini, cd Fuss-Base e Fuss-Addons). Di solito l'aula informatica è il luogo migliore anche per la presenza degli apparati di rete a cui sono collegati tutti i pc della LAN che si sta installando.
A questo punto una persona della squadra dovrebbe preoccuparsi di posizionare il laptop della squadra e metterlo in rete (vedi il capitolo sull'installazione base via rete), mentre una o due persone si fanno accompagnare dal referente per una verifica preliminare delle macchine da installare.

In questo giro di verifica è bene ricordarsi di controllare i seguenti punti:

  • verificare la corrispondenza tra il censimento e le macchine mostrate dal referente (capita spesso che alcune macchine vengano "dimenticate" o risultino rotte o danneggiate irreparabilmente, che stampanti o scanner siano stati sostituiti o rimossi, ecc)
  • chiedere al referente e segnare quali macchine devono essere installate dual boot e annotare le motivazioni (classiche: macchina docenti, attività di sostegno, software solo per win; esotiche: questa macchina rifiuta il software libero; futili: io non so usare linux, vi prego almeno questa!)
  • assicurarsi che vi sia corrente e possibilmente rete in ogni aula
  • assicurarsi che le porte delle aule vengano lasciate aperte e a vostra disposizione fino ad installazione terminata
  • verificate lo stato degli apparati di rete e i loro collegamenti

Una volta terminato il giro di verifica, la squadra deve suddividersi il lavoro in modo da avere il server pronto il prima possibile e da riuscire a realizzare in parallelo il massimo numero di client.
Solitamente questo si traduce in:

  • una persona procede all'installazione del server
  • il resto della squadra viene diviso in
    • aule informatiche
    • piani con diverse aule contenenti uno/due pc

Installazione Base

L'installazione base della distribuzione Fuss di GNU/Linux non è molto diversa dall'installazione base della distribuzione Debian su cui è basata. L'installazione è stata semplificata al massimo alzando molto il livello di debconf (e quindi le domande che l'installazione rivolge all'installatore per configurare dei pacchetti) e customizzando alcuni pacchetti con risposte standard.
L'installazione base può essere effettuata con il solo ausilio di due cd (fuss-base e fuss-addons) oppure con un repository completo della distribuzione su un portatile che la serve via http.

  • 00. Preparativi [solo nel caso di una o più installazioni via rete]
    • Il laptop della squadra contenente il repository completo della distribuzione deve essere collegato alla rete.
    • Assegnate un IP diverso da quello del futuro server al laptop
    • Configurate il server dhcp del laptop per servire ip compatibili con i futuri ip della LAN che state installando, nonché con il nome del dominio locale della futura rete. Contemporaneamente il server dhcp della scuola deve essere spento per evitare conflitti nell'assegnazione degli indirizzi ip.
      • Esempio
        La scuola elementare Thomas Pynchon ha un'aula informatica con 10 pc e 1 server.
        Tutti i pc sono collegati in rete tramite uno switch a 100 Mbs.
        La rete locale ha indirizzi 192.168.0.0/24. Il server è raggiungibile all'indirizzo 192.168.0.1.
        Il caposquadra posiziona il laptop della squadra sullo switch e gli assegna l'indirizzo 192.168.0.2.
        Apache sul laptop è configurato per servire il repository sull'indirizzo assegnato all'interfaccia di rete.
        A questo punto il caposquadra configura il server DHCP inserendo le seguenti voci nel file /etc/dhcp3/dhcpd.conf:
        subnet 192.168.0.0 netmask 255.255.255.0 {
          range 192.168.0.100 192.168.0.200;
          option routers 192.168.0.1;
          option domain-name "pynchon.local"; 
        }
        default-lease-time 300;
        max-lease-time 300;
        
        Cosa significa?
        Nella dichiarazione della subnet viene definita la rete su cui il server dhcp serve ip.
        Il range serve a definire quali ip verranno assegnati dal DHCP.
        IMPORTANTE: ricordarsi di controllare che il numero di ip assegnati sia SUPERIORE al numero di host nella rete.
        L'opzione router serve a passare alle macchine il default gateway attraverso il quale uscire dalla rete locale.
        IMPORTANTE: l'opzione router deve essere configurata con l'ip di quello che sarà il server una volta completata l'installazione.
        L'opzione domain-name serve a passare il dominio locale della scuola a tutti i client.
        Le ultime due opzioni sui lease servono ad assicurarsi che una volta completata l'installazione del server, i lease del DHCP vengano chiesti nuovamente dalle macchine rapidamente. [ vedi capitolo sull'installazione del server ]
        Una volta configurati Apache e DHCP, gli altri membri della squadra passano all'installazione di base su tutte le macchine.
  • 01. Primo Step : installazione del sistema di base
    • assicuratevi che il pc sia collegato in rete.
    • configurate il BIOS del pc per fare boot da CD-ROM
      Solitamente nel BIOS trovate una sezione Advanced o una sezione Boot dove è possibile stabilire l'ordine dei device di boot. Disabilitate tutto tranne il CD-ROM se possibile e in ogni caso posizionate il CD-ROM in cima all'ordine con cui i device vengono analizzati per cercare il sistema operativo con cui effettuare il boot
      Per entrare nel BIOS solitamente dovrete premere F2, il tasto Canc o la Barra Spaziatrice all'avvio.
    • inserite il cd fuss-base dentro il lettore cd e riavviate la macchina
    • se non si sono verificati problemi dovreste vedere una splash page di fuss che vi chiede di digitare invio per partire con l'installazione. In alcuni casi sarà necessario selezionare il kernel con cui partire anzichè digitare invio (vedi il capitolo sul Problem Solving)
    • l'installazione di base vi chiede poche cose ma fondamentali
      • selezione della lingua in cui fare l'installazione, della tastiera e della lingua di default per la macchina. Normalmente dovete solo digitare tre volte invio per selezionare la lingua italiana.
      • nel caso stiate configurando macchine senza rete, il software di installazione rileverà dei problemi nell'installare la rete e dovrete indicargli di procedere oltre con l'installazione senza configurare la rete.
      • selezione del nome della macchina e del dominio. Se il dhcp del portatile è stato configurato correttamente il nome del dominio dovrebbe essere suggerito automaticamente alle macchine. Di solito il nome della macchina dovrebbe rispecchiare o la sua funzione o il suo posizionamento nella rete (ad es. chiamare i pc virginia o prolipomeni non è molto indicativo, mentre aulapc01, aulapc02, sostegno, docenti e via dicendo sono nomi più indicativi e faciliteranno la vita a chi dovrà amministrare la rete). Ricordiamo che è preferibile non usare spazi, trattini, underscore, e segni di punteggiatura varia o caratteri speciali nel nome assegnato agli host.
      • lo schema di partizionamento del disco.
        • nel caso di client single boot è sufficiente scegliere le opzioni di default che installano il sistema GNU/Linux in una singola partizione e creano automaticamente la partizione di swap
        • nel caso di client dual boot è importante ricordarsi di installare linux nella partizione che si è predisposta durante i preparativi all'installazione (vedi capitolo sull'Installazione dei Dual Boot nelal sezione Installazione Client). Una volta scelta l'opzione Installare nella porzione di disco contigua disponibile il software di installazione dovrebbe preparare automaticamente la partizione ext3 di installazione e la partizione di swap
        • nel caso stiate installando un server dovrete selezionare l'opzione sistema multiutente, che cercherà di costruire una tabella delle partizioni più complessa separando /var, /usr, /tmp, /home e /. Verificate attentamente le dimensioni delle partizioni e le loro opzioni adattandole alla situazione in cui vi troverete. Tipicamente è consigliabile una /var di più di 5 Gb e una /usr di più di 3 Gb, concentrando la maggior parte dello spazio disco nella partizione dove verranno montate le /home. Almeno la partizione di home dovrebbe essere montata con le opzioni nodev, noatime, nosuid, noexec.
    • normalmente il primo step dell'installazione di base si conclude con la richiesta di installare grub nel vostro sistema, espellendo il cd e riavviando la macchina. A questo punto se state installando una macchina standalone senza rete andate al punto 2. Se state invece installando un host collegato a una rete locale, passate al punto 3.
    • al riavvio delle macchine in ogni caso rientrate nel BIOS e configurate la macchina per partire solo da hard disk. Se necessario impostate una password al BIOS in modo da essere sicuri che nessun altro potrà riconfigurare la macchina entrando nel BIOS se non autorizzato.
  • 02. Secondo Step: installazione di macchine standalone via cd
    • la seconda parte del software di installazione vi chiederà di configurare il fuso orario della macchina, la password di root e infine di creare un utente di prova. Concordate con il vostro team di installazione l'utente da creare.
      Di solito è qualcosa come guest/guest (ovverosia username: guest, password: guest), ospite/ospite, utente/utente.
    • A questo punto il software vi chiederà dove poter recuperare i pacchetti per installare il sistema. Nel caso di macchine standalone voi disporrete dei due cd fuss-base e fuss-addons.
      • Selezionate cdrom dal menu di apt-setup
      • Inserite il cd fuss-base e fatene scandire gli indici al sistema
      • Selezionate Si alla domanda "Volete aggiungere un altro cd?"
      • Inserite il cd fuss-addons e fatene scandire gli indici.
        Il sistema vi chiederà di dare un nome al secondo cd. Scegliete secondo coscienza.
      • Selezionate No alla domanda "Volete aggiungere un altro cd?" e alla domanda "Aggiungere un altra fonte apt?".
        • ATTENZIONE

E' molto importante che i due cd siano scanditi dal sistema in questa fase.
Scandire solo il cd base, concludere l'installazione e poi installare successivamente i pacchetti presente nel cd ADDONS potrebbe causare alcuni problemi di configurazione.

  • Il sistema di base scaricherà dal cd fuss-base i primi pacchetti e vi chiederà quali set di meta-package installare sulla macchina
    • Per tutte le scuole dovrete selezionare il meta-package fuss-desktop
    • Per le scuole elementari/materne dovrete selezionare anche il meta-package fuss-children
    • Per le scuole media dovrete selezionare anche il meta-package fuss-kids
    • Per le scuole superiori dovrete selezionare anche il meta-package fuss-boys
      Sappiamo che ci sono anche le girls, ma il mondo informatico è drammaticamente scarso in femminilità :(
  • Se non vi sono problemi l'installazione vi chiederà poche altre cose prima di terminare con successo:
    • dovrete configurare il driver per la scheda video, lasciando selezionare automaticamente il mouse e la configurazione del monitor al sistema.
    • rispondete pure con dei semplici invii alle altre domande che il sistema di installazione vi pone (le risposte di default vanno più che bene)
    • Per capire quale scheda video ha il pc che state installando premete contemporaneamente i tasti alt e F2 insieme e loggatevi in una console come root. Qui digitate il comando:
      lspci | grep -i vga
      
      Una volta letto il modello della scheda tornate alla schermata dell'installazione premendo i tasti Alt e F1, e selezionate il driver adeguato dall'elenco che vi viene proposto.
      In alcuni casi il sistema di installazione non riesce a rilevare il monitor e vi chiede se il monitor è un LCD.
      Rispondete a seconda del monitor presente e alle successive domande circa l'installazione avanzata della grafica selezionando "medium" e la risoluzione 1024x768 70Mhz che generalmente è adeguata per tutte le schede e i monitor di recente fabbricazione.
  • Quando vedrete comparire la schermata di login grafico di Fuss vuol dire che l'installazione è finita.
  • 03. Terzo Step: installazione di macchine client via rete
    • la seconda parte del software di installazione vi chiederà di configurare il fuso orario della macchina, la password di root e infine di creare un utente di prova. Concordate con il vostro team di installazione l'utente da creare
      Di solito è qualcosa come guest/guest (ovverosia username: guest, password: guest), ospite/ospite, utente/utente.
    • A questo punto il software vi chiederà dove poter recuperare i pacchetti per installare il sistema. Nel caso di una macchina connessa ad una rete locale voi cercherete di scaricare i pacchetti dal repository che avete predisposto.
      • Selezionate "modificare manualmente" dal menu di apt-setup
      • nel file /etc/apt/sources.list che vi verrà automaticamente aperto in un editor dovrete scrivere gli indirizzi del repository
        • Esempio Nella scuola elementare Thomas Pynchon il caposquadra ha posizionato il repository sul laptop all'indirizzo 192.168.0.2.
          Nei client dell'aula informatica le sources apt saranno così configurate:
          deb http://192.168.0.2/base soledad main contrib
          deb http://192.168.0.2/addons ./
          
      • una volta salvato il file /etc/apt/sources.list, il programma di installazione cercherà di scaricare i primi pacchetti.
        Nel caso incontraste errori verificate che
        • l'indirizzo del repository sia corretto
        • il server web del repository sia attivo e sia configurato per servire i contenuti della directory corretta
        • che non abbiate digitato errori dentro il file apt-sources
    • Se non ci sono stati errori il software scaricherà dal repository i primi pacchetti e vi chiederà quali set di meta-package installare sulla macchina
      • Per tutte le scuole dovrete selezionare il meta-package fuss-desktop
      • Per le scuole elementari/materne dovrete selezionare anche il meta-package fuss-children
      • Per le scuole media dovrete selezionare anche il meta-package fuss-kids
      • Per le scuole superiori dovrete selezionare anche il meta-package fuss-boys
        Sappiamo che ci sono anche le girls, ma il mondo informatico è drammaticamente scarso in femminilità :(
    • Se non vi sono problemi l'installazione vi chiederà poche altre cose prima di terminare con successo:
      • dovrete configurare il driver per la scheda video, lasciando selezionare automaticamente il mouse e la configurazione del monitor al sistema.
      • rispondete pure con dei semplici invii alle altre domande che il sistema di installazione vi pone (le risposte di default vanno più che bene)
      • Per capire quale scheda video ha il pc che state installando premete contemporaneamente i tasti alt e F2 insieme e loggatevi in una console come root. Qui digitate il comando:
        lspci | grep -i vga
        
        Una volta letto il modello della scheda tornate alla schermata dell'installazione premendo i tasti alt e F1, e selezionate il driver adeguato dall'elenco che vi viene proposto.
        In alcuni casi il sistema di installazione non riesce a rilevare il monitor e vi chiede se il monitor è un LCD.
        Rispondete a seconda del monitor presente e alle successive domande circa l'installazione avanzata della grafica selezionando "medium" e la risoluzione 1024x768 70Mhz che generalmente è adeguata per tutte le schede e i monitor di recente fabbricazione.
    • Quando vedrete comparire la schermata di login grafico di Fuss vuol dire che l'installazione è finita.

Una volta imbattuti nella green screen of fuss potete procedere alle altre fasi di installazione di un server o di un client.

Installazione di un client fuss (pacchetto fuss-client)

Per comodità abbiamo diviso tutte le macchine su cui viene installata la distribuzione Fuss in macchine client e macchine server. Questo in realtà è terminologicamente scorretto, perché le macchine standalone, ovvero quelle sprovviste di servizi di rete non sono esattamente dei client. In ogni caso abbiamo deciso per questa suddivisione, perché le macchine standalone e le macchine client collegate a una rete locale condividono alcuni passaggi preliminari e alcuni passaggi di verifica, e raccogliere tutto in un singolo paragrafo ci sembrava più economico in termini di attenzione del lettore.

  • 00. Preparativi all'installazione di un client
    • Prima di tutto controllate che tutte le periferiche collegate al pc siano effettivamente connesse e alimentate.
    • L'unico grosso preparativo relativamente a un client è necessario nel caso in cui questo client debba essere dual boot
      • Avviare il pc in windows
      • Deframmentare il disco sul quale si vuole procedere a un ripartizionamento
        In alcuni casi la sorte vuole che vi sia già una partizione predisposta, ma fare affidamento sulla buona sorte è contrario a ogni tradizione di buon senso nell'informatica.
      • Riavviare il pc una volta conclusa la deframmentazione con un software di ripartizionamento (una Knoppix con Qt-parted è sufficiente)
      • Ripartizionare il disco curandosi di garantire per l'installazione di Fuss almeno 4 Gb di spazio disco.
        • NB Nel caso in cui il disco sia molto grande e quasi inutilizzato sotto windows la deframmentazione può essere considerata superflua.
        • NB Nel caso in cui il pc sia molto lento e la deframmentazione non sia stata effettuata è consigliabile procedere al ripartizionamento senza deframmentare, avvisando i referenti informatici della scuola che l'operazione potrebbe obbligarli a una reinstallazione di windows a fronte di malfunzionamenti nel sistema che precedentemente funzionava correttamente.
  • 01. Installazione base
    • richiamiamo integralmente il precedente capitolo per quanto riguarda l'installazione del sistema base.
  • 02. Installazione del pacchetto fuss-client
    • il pacchetto fuss-client include una serie di software necessari a interfacciare i client con il server della rete locale. Inoltre configura la macchina per usare gli utenti di rete presenti sul server.
    • ATTENZIONE: l'installazione del pacchetto fuss-client può avvenire solo dopo che il server è stato installato e configurato.
    • ATTENZIONE: le macchine standalone non connesse a una rete locale non necessitano dell'installazione del pacchetto fuss-client. La sua installazione potrebbe causare problemi gravi alle funzionalità del sistema standalone.
    • Per installare il pacchetto fuss-client:
      • controllate che il server sia stato installato e configurato
      • rilanciate sul client il comando
           dhclient
        
      • essendovi così assicurati che la macchina abbia preso indirizzo ip e configurazioni di rete dal nuovo server, lanciate il comando
           apt-get install fuss-client
        
      • NON CURATEVI di rispondere alle domande che vi pone debconf per i vari pacchetti che vengono installati come dipendenze di fuss-client, e digitate invio senza pietà.
      • Se tutto ha funzionato dovreste vedere come una delle ultime operazioni compiute dall'installazione del pacchetto lo scaricamento di alcuni file dal server.
        Se notate che l'ip da cui sono scaricati i file non è quello del server probabilmente è ancora attivo il dhcp del laptop della squadra oppure esiste un secondo dhcp che imposta un diverso gateway sulle macchine. Fermate questo dhcp e rilanciate dhclient sul client prima di reinstallare il pacchetto fuss-client.
        Se notate che lo scaricamento non è andato a buon fine, rilanciate dhclient e reinstallate il pacchetto fuss-client.
      • Se avete incontrato degli errori e volete reinstallare il pacchetto fuss-client dovete digitare i seguenti comandi:
        • Per riprovare a scaricare i file necessari dal server:
          dpkg-reconfigure fuss-client
          
        • Per eliminare fuss-client:
          apt-get --purge remove fuss-client:
          
        • Per installarlo nuovamente:
          apt-get --reinstall install fuss-client
          
  • 03. Checkout e Verifica dei client
    • In primo luogo dovrete configurare sui client tutte le periferiche del caso: stampanti, scanner ed eventualmente altri device.
      Per quanto riguarda le stampanti nel 90% dei casi l'interfaccia via web di CUPS raggiungibile all'indirizzo http://localhost:631 è più che sufficiente a concludere l'installazione della stampante.
      Per configurare lo scanner (se è supportato) è solitamente sufficiente aggiungere l'utente saned e l'utente di prova che avete creato durante l'installazione al gruppo scanner. Dopodichè lanciando xsane da un terminale nell'interfaccia grafica dovreste vedere il vostro scanner.
      Per una trattazione completa della configurazione via cups e sane di queste periferiche, rimandiamo al capitolo sul Problem Solving, in particolare per quanto riguarda le policy di condivisione di queste risorse e la loro configurazione.
      Ricordatevi di verificare anche il corretto funzionamento della scheda audio e se necessario di rilanciare il comando alsaconf che dovrebbe riconoscere automaticamente la scheda e configurare il vostro sistema di conseguenza.
    • In secondo luogo dovrete decidere la policy circa gli utenti con accesso alla macchina
      • nel caso di macchine standalone, l'utente di prova diventerà l'utente con cui normalmente si accederà alla macchina. Se necessario concordate con il referente il nome e la password dell'utente, e modificate la configurazione della macchina di conseguenza.
      • nel caso di macchine connesse a una rete locale dovrete cancellare l'utente di prova che avete creato, dato che i pc useranno gli utenti condivisi sul server:
        • digitate in una shell di root il comando
          userdel utente_di_prova
          
          Attenzione a non rimuovere la directory home dell'utente che ormai è sul server e potrebbe tornare utile.
      • nel caso di macchine che funzioneranno tipicamente sia connesse alla rete locale che standalone (ad es. laptop), dopo aver installato fuss-client dovrete ricordarvi di spostare la home dell'utente in una posizione diversa da /home.
        Questo perchè le home degli utenti verranno montate via NFS in quella directory e questo non consentirebbe all'utente di prova di accedere alla propria directory "nascosta" dalle home degli altri utenti montate via rete.
        • Smontate le /home degli utenti:
          umount /home
          
        • Spostate /home/utente_di_prova in /utente_di_prova
          mv /home/utente_di_prova /utente_di_prova
          
        • Editate il file /etc/passwd per configurare l'utente di prova con la nuova directory.
          Infine rimontate le /home degli utenti:
          mount /home
          
    • A conclusione dell'installazione di un client dovete ricordarvi di verificare alcune cose (questo passaggio non è necessario per le macchine standalone), in particolare alcuni file che il pacchetto fuss-client in alcuni casi configura male:
      • controllate che nel file /etc/fstab la entry per il floppy sia configurata per usare il filesystem vfat
      • controllate che nel file /etc/fstab sia presente la entry per montare le /home degli utenti via NFS dal server
      • controllate che nel file /boot/grub/menu.lst GRUB sia configurato per avere un timeout
          grep time /boot/grub/menu.lst
        
      • potete automatizzare una serie di controlli eseguendo lo script /usr/share/fuss-client/templates/testconf.sh che viene installato con le ultime versioni di fuss-client (rileva il problema del timeout di GRUB e se NFS è configurato e funzionante).
      • nel caso la configurazione di GRUB sia stata danneggiata ricordatevi di
        • settare un timeout con la direttiva "timeout 5" in cima al file /etc/grub/menu.lst
        • rimuovere la entry di boot per il recovery (il secondo blocco di linee nella configurazione dei kernel di boot)
        • settare una password a grub con la direttiva "password --md5 $1$xmY1T/$wL6rbH2VC2L3ITFGiveLq", dove l'ultima serie alfanumerica è la hash md5 di una password (se volete usare la stessa password di root è sufficiente che copiate la stringa dal file /etc/shadow).
        • se volete creare un hash md5 per GRUB potete usare lo script /usr/share/fuss-server/script/grubpass.sh del pacchetto fuss-server.
        • settare la porzione di GRUB relativa al dual boot se necessario. Sono sufficienti le seguenti direttive nella parte relativa ai boot:
          title Windows NT / Windows 95 boot menu
          rootnoverify (hd0,0)
          makeactive
          chainloader  +1
          
      • infine provate a loggarvi con un utente di rete. Se tutto fila liscio, potete considerare conclusa l'installazione del client e spegnere la macchina.

Installazione di un server Fuss (pacchetto fuss-server)

Per server fuss si intende la macchina che generalmente in una rete locale svolge diversi ruoli: firewall, proxy, gateway verso internet, ecc., ecc.
Un server fuss è sostanzialmente una macchina installata normalmente alla quale viene installato il pacchetto fuss-server che provvede a installare e configurare una serie di servizi sulla macchina. I servizi che verranno installati e configurati sulla macchina sono:

  • ldap (incluso l'albero base delle utenze)
  • apache
  • mysql
  • squid
  • DansGuardian
  • iptables
  • bind
  • dhcpd

Di seguito riepiloghiamo tutti i passaggi di installazione di un server fuss, rimandando ai capitoli specifici per gli step che sono identici all'installazione di una normale macchina standalone.

  • 00. Preparativi per l'installazione di un server
    • La funzione sostanziale di questi preparativi è quella di raccogliere le informazioni essenziali per poter poi configurare il server.
      Il server deve essere avviato sotto windows e ci si deve loggare con la password di amministrazione che il referente deve comuicarvi.
      A questo punto ricordatevi di prendere nota delle seguenti cose:
      • Prendere nota della configurazione di rete della ethernet collegata alla rete interna
      • Verificare che tipo di connessione ha la macchina verso l'esterno e prendere nota di indirizzi eventuali password, ecc.
      • Controllare la configurazione di DHCP, in particolare le subnet che serve, i range che fornisce, eventuali associazioni fisse MAC-IP o HOSTNAME-IP
      • Dare un'occhiata all'hardware di cui è dotata la macchina, sia per verificare la scheda dei dati fornitaci dai referenti, sia, nel caso questa non sia disponibile, per rendersi conto di eventuali problemi (con un controller raid non/mal supportato o una ethernet che non funziona il server non si installa o non è utilizzabile
      • ho trovato comodo andare a vedere le proprietà delle schede di rete, in particolare il loro PCI ID per rendermi conto quale sarà quella che devo configurare sulla LAN e quale sulla WAN. Per esempio se la scheda sulla LAN ha PCI:00:01:04 e quella sulla WAN ha PCI:00:01:03 è chiaro che la prima sarà la eth1 e la seconda sarà eth0, quindi so che dovrò configurare la eth1 sulla LAN
    • Prima di partire con l'installazione del server dovreste cercare di recuperare le informazioni sugli utenti e sui gruppi presenti.
      • Per fare questo l'export in formato csv del pannello di gestione di windows è in grado di darvi il campo GECOS.
        Successivamente è necessario con uno script eliminare spazi e caratteri accentati per formare dei nuovi username (del tipo NomeCognome?).
      • Esiste un programma chiamato adduser.exe in grado di estrarre tutti i dati degli utenti di un dominio windows in formato CSV
      • Esiste la possibilità di usare netvampire per estrarre i dati degli utenti da un server windows [da documentare]
      • Esiste uno script fatto da strap per usare netvampire e estrarre i dati : ScriptStrapNetVampire
    • Una volta preso nota di tutto questo siete pronti a partire con l'installazione.
    • ATTENZIONE : i dati presenti sul server non verranno conservati ma saranno completamente distrutti
  • 01. Installazione Base
    • richiamiamo integralmente il precedente capitolo per quanto riguarda l'installazione del sistema base
  • 02. Installazione del pacchetto fuss-server
    • il pacchetto fuss-server installa come descritto sopra una serie di servizi che servono alla gestione delle macchine sulla rete locale, incluso il database ldap che ospiterà utenti e gruppi, e i servizi per consentire l'accesso su Internet dei client.
    • controllate che l'installazione base della macchina sia andata a buon fine.
    • configurate l'interfaccia di rete interna e quella di rete esterna a mano con i dati che avete raccolto prima dell'inizio dell'installazione.
    • per installare il pacchetto fuss-server digitate in una shell di root
         apt-get install fuss-server
      
    • IGNORATE le domande che vi pone debconf (relative ai pacchetti installati come dipendenza) fino al momento in cui cominciano le schermate intitolate configurazione di fuss-server.
      A questo punto dovrete inserire una serie di valori che sono fondamentali per la configurazione del server
      • il dominio locale della scuola che deve essere nella forma scuola.local
        Non sono ammessi domini di primo o terzo livello.
        Il dominio servirà anche come base dell'albero LDAP (nella forma dc=scuola,dc=local)
      • la configurazione di fuss-server dalla versione 0.22 chiede se si vogliono conservare i dati dell'albero LDAP
        Nel caso stiate installando per la prima volta fuss-server ovviamente dovrete rispondere di NON CONSERVARE i dati. Nel caso stiate reinstallando il server potreste ritenere utile conservare i dati già configurati (il contenuto dell'albero LDAP) su di esso. Si tenga presente che in caso di upgrade verranno utilizzate le risposte date in fase di installazione, i dati immessi saranno comunque conservati, così come i certificati SSL e le chiavi di SSH.
      • l'indirizzo del server sulla rete interna (192.168.0.1, ad es.), la rete interna (192.168.0.0), la netmask (255.255.255.0) e il range dhcp (due indirizzi ip separati da uno spazio : 192.168.0.100 192.168.0.200)
        • NB : Questo pacchetto non modifica la configurazione delle interfacce di rete che devono essere già configurate prima di iniziare l'installazione del pacchetto fuss-server
      • a questo segue l'installazione dei certificati e la generazione delle chiavi ssh, durante la quale dovete immettere manualmente le password dei certificati e della CA.
        • una prima password deve essere immessa due volte per la creazione della CA
        • una seconda password due volte per la creazione della richiesta del certificato
        • infine la prima password deve essere imessa per la firma e la seconda per sbloccare la chiave privata del certificato.
        • La cosa cosa più semplice è mettere sei volte la stessa password.
      • Ricordatevi di digitare il solo invio due volte quando vi verrà chiesta la passphrase per la generazione delle chiavi.
      • Tutto il resto procede automaticamente, configurando tutti i servizi e attivando il firewall sul server, nonchè il server dhcp.
        Viene creata anche una zona locale del DNS che contiene la risoluzione dell'IP del server e delle macchine attraverso un particolare uso di dhcp e bind.
    • Se non si sono verificati errori potete passare alla fase successiva di checkout, fine tuning e verifica dei servizi.
    • Se avete riscontrato dei problemi potete decidere di reinstallare del tutto il server con uno dei seguenti comandi:
      • Per rimuovere il server:
        apt-get --purge remove fuss-server
        
      • Per reinstallarlo:
        apt-get --reinstall install fuss-server
        
      • Per configurarlo nuovamente:
        dpkg-reconfigure fuss-server
        
    • Una modalità per verificare che sia tutto a posto, in particolare se si è eseguito un upgrade del server, è utilizzare su un client /usr/share/fuss-server/script/grubpass.sh lo script che esegue una serie di controlli automatici.
  • 03. Ultimi dettagli, checkout e verifica del server
    Prima di considerare conclusa l'installazione del server ci sono una serie di ultimi ritocchi: inserimento dei gruppi e degli utenti, controlli sull'esistenza effettiva delle loro home, impostazione eventuale delle quote, configurazione dell'interfaccia del server dhcp.
    A seguire diamo una serie di consigli su cosa controllare e come farlo, dalla sicurezza della rete ai servizi del server.
    • Prima cosa da fare una volta che il server è attivo : spegnere il server DHCP sul portatile della squadra, in modo da evitare conflitti.
    • Giusto per essere sicuri che tutti funzioni a dovere il suggerimento è quello di restartare tutti i servizi e controllare che non abbiano problemi grossolani di avvio nel syslog
    • La configurazione di Squid usa una cache di 1Gb. Verificare che sia appropriata e nel caso modificare in /etc/squid/squid.conf il valore 1000 (indica i Mb utilizzati in /var/cache/squid per le pagine) nella seguente riga:
      cache_dir ufs /var/spool/squid  1000 16 256
      
    • Per inserire e modificare gruppi e utenti nell'albero LDAP e nel dominio usiamo smbldap-tools
    • Per prima cosa dovete creare i gruppi nell'albero LDAP. Nelle prossime versioni di fuss-server questa operazione dovrebbe essere automatizzata ma al momento deve essere fatta a mano a ogni installazione del server.
      • In primo luogo dovete ricreare nell'albero LDAP i gruppi fondamentali per le varie funzioni della macchina, dall'uso del floppy a quello degli scanner.
        Lo script qui sotto provvede ad effettuare una copia di backup del file /etc/group, inserire nell'albero LDAP i gruppi utili e ripristinare il file /etc/group originale.
        cp /etc/group /etc/group.orig ; \
            cat /etc/group.orig | \
                grep -v ^cdrom: | \
                grep -v ^floppy: | \
                grep -v ^audio: | \
                grep -v ^video: | \
                grep -v ^plugdev: | \
                grep -v ^camera: | \
                grep -v ^scanner: > /etc/group
        
        smbldap-groupadd -g 24 -a cdrom
        smbldap-groupadd -g 25 -a floppy
        smbldap-groupadd -g 29 -a audio
        smbldap-groupadd -g 44 -a video
        smbldap-groupadd -g 46 -a plugdev
        smbldap-groupadd -g 110 -a camera
        smbldap-groupadd -g 112 -a scanner
        
        mv /etc/group.orig /etc/group
        
      • In secondo luogo dovete creare alcuni gruppi tipici per ogni scuola che dovrete concordare con i referenti. I gruppi sotto potete considerarli un esempio:
        smbldap-groupadd -a insegnanti
        smbldap-groupadd -a studenti
        smbldap-groupadd -a ospiti
        smbldap-groupadd -a tecnici
        
    • Per creare gli utenti dovete crearvi una lista dal file CSV che avrete estratto dal server prima di cominciare l'installazione.
      successivamente dovrete utilizzare il seguente comando per creare ogni singolo utente (ovviamente personalizzando i gruppi in cui inserire il singolo utente).
      La variabile $GRUPPO deve essere sostituito con il nome del gruppo principale dell'utente (insegnanti oppure studenti ad esempio), mentre $UTENTE deve essere sostituito con lo username.
      Nel caso vogliate creare degli utenti senza password ricordatevi di togliere l'opzione -P dal comando seguente:
      smbldap-useradd -d /home/$UTENTE -a -g "$GRUPPO" -G audio,cdrom,floppy,video,plugdev,camera,scanner \
       -m  -P  -A 1 -B 1 -C '\\\\server\\homes' -D 'H:' $UTENTE
      
    • Se si inseriscono molti utenti verranno creati una grande quantità di file di log di DB4.2 nella directory dei dati di LDAP (/var/lib/ldap. Questi verranno cancellati automaticamente alla prima esecuzione degli script di cron.daily, ma se si avesse una /var troppo piccola che viene riempita dai log, la procedura per cancellarli subito è la seguente:
      /etc/init.d/slapd stop
      /etc/init.d/slapd start
      cd /var/lib/ldap
      db4.2_archive -d
      
    • Verificate che nel file /etc/default/dhcp3-server siano elencate solamente le interfacce di rete alle quali il server DHCP deve servire ip
    • Verificate che il file /boot/grub/menu.lst del server non presenti anomalie e soprattutto che vi sia stata installata una password e non sia possibile partire in modalità di ripristino. Questo comprometterebbe la sicurezza fisica del server, consentendo a chiunque di cambiare la password di root con facili operazioni di riavvio.
    • Col pacchetto viene anche fornito una serie di script, il primo, createldaphome.py, che crea le home sul server per gli utenti (presenti su LDAP) che non ce l'hanno. Il secondo setuserquota.py imposta dei valori comuni per le quote disco degli utenti. Prende due argomenti, soft e hard limit per il numero di blocchi, sugli inode non vengono impostati limiti; si ricordi che le quote vanno attivate a mano.
      Infine lo script sidcorrector.py corregge i dati dell'albero LDAP creati male per un errore di configurazione degli script IDEALX. Tutti questi script però vanno modificati per metterci la radice dell'albero giusta e la password di accesso, in sostanza vanno adattate le variabili (l'ultima versione del server dovrebbe fare l'impostazione automaticamente):
          username = "cn=admin,dc=scuola,dc=local"
          password = "pippo"
      ...
      baseDN = "dc=scuola,dc=local"
      
    • Configurate le stampanti, gli scanner ed eventuali altre periferiche.
      Per quanto riguarda le stampanti nel 90% dei casi l'interfaccia via web di CUPS raggiungibile all'indirizzo http://localhost:631 è più che sufficiente a concludere l'installazione della stampante.
      Per configurare lo scanner (se è supportato) è solitamente sufficiente aggiungere l'utente saned e l'utente di prova che avete creato durante l'installazione al gruppo scanner. Dopodichè lanciando xsane da un terminale nell'interfaccia grafica dovreste vedere il vostro scanner.
      Per una trattazione completa della configurazione via cups e sane di queste periferiche, rimandiamo al capitolo sul Problem Solving, in particolare per quanto riguarda le policy di condivisione di queste risorse e la loro configurazione.
    • L'ultimo tocco per quanto riguarda la configurazione del server e la sua verifica consiste nell'installazione di un nuovo kernel (solitamente il pacchetto kernel-image-2.6.8 o kernel-image-2.6.8-smp sono più che adeguati) al fine di snellire le prestazioni della macchina.
         apt-get install kernel-image-2.6.8
      
    • Per quanto riguarda gli ultimi ritocchi di sicurezza circa il server va fatta la massima attenzione
      • Password di root: superfluo dire che deve essere una buona password, anche se va considerato che dobbiamo scriverla decine di volte. "pwgen" genera ottime password e con le opportune opzioni anche facili da digitare. Le password non vanno comunicate a nessuno, nemmeno i referenti delle scuole, fino a che la verifica della provincia non è finita. Le password (tutte le password usate, anche bios, bootloader, stampanti, ecc...) vanno comunicate in forma scritta al responsabile tecnico del progetto (Christopher) ogni sera.
      • Bios: tutte le macchine una volta installate vanno bloccate da bios: boot solo da harddisk e password al bios
      • Boot loader: a tutti i bootloader va impostata una password che impedisca di modificarne interattivamente la configurazione segnate il resto...
        Si ricordi che sia fuss-server che fuss-client impostano una password per GRUB uguale a quella del root della macchina. La cosa funziona se la password è MD5, se no si può usare lo script grubpass.sh per generarne una a piacere da installare a mano.
    • Se non si sono verificati problemi potete considerare concluso il vostro lavoro e spegnere tutte le macchine via cssh (vedete il capitolo Trick & Tips).
      Se si sono verificati problemi, potete cercare delle possibili soluzioni nel capitolo sul Problem solving. Nel caso non vi troviate risposta segnalate il problema e l'eventuale soluzione sul tracker.

Periferiche e Problem Solving

Questo capitolo dovrebbe servire ad approfondire il tema della configurazione delle periferiche e raccogliere una serie di consigli su come risolvere alcuni problemi comuni incontrati nella configurazione delle macchine in giro per Bolzano.

Stampanti

Scanner

Fotocamere

Masterizzatori

Modem

ISDN

Problemi di Boot

Problemi con apt, tasksel, e in genere il sistema di pacchettizzazione debian

Altri problemi

Tricks & Tips

Questo capitolo dovrebbe offrire un tot di suggerimenti su come semplificarvi la vita

  • Cssh
  • ...
Last modified 12 years ago Last modified on Sep 26, 2005, 9:33:13 AM