Configuration HOWTO
 Di Guido Gonzato, [email protected]
 Versione 1.3.7, 6 Settembre 1999.

 Lo scopo di questo HOWTO � quello di rendere la configurazione del
 vostro nuovo sistema Linux pi� veloce e pi� semplice. Qui troverete un
 insieme di configurazioni per le applicazioni pi� comuni, cos� potrete
 cominciare a lavorare con un sistema facile da usare.

 1.  Introduzione



 1.1.  Perch� questo HOWTO


 Ho installato Linux su molti PC e ho notato che le distribuzioni
 attuali sono ottime ma, purtroppo, mancano di alcune configurazioni di
 base. Molti programmi funzionano subito, ma altri no. Inoltre, ho
 notato che le solite domande continuano a essere poste su c.o.l.setup.

 Per cercare di porre rimedio a questa situazione e per avere un
 memorandum per le nuove installazioni, mi sono scritto un elenco di
 cose da fare che ho poi espanso fino a trasformarlo in questo HOWTO.
 Qui troverete alcuni esempi di configurazioni per i programmi pi�
 comuni, il che dovrebbe farvi risparmiare un bel po' di tempo e
 lavoro.

 Alcuni degli esempi di configurazione in questo HOWTO dipendono in
 qualche modo dalla distribuzione. Ho accesso solo a macchine Red Hat
 5.2, con kernel 2.0.36, quindi non prendete per oro colato i miei
 suggerimenti se avete altre distribuzioni. Non dovrebbe comunque
 essere difficile adattare i miei suggerimenti ad altri distributori.

 Questo HOWTO non � in grado, n� ha lo scopo di sostituire gli altri.
 La lettura della documentazione e degli HOWTO ripaga sempre, quindi
 siete comunque invitati a farlo. Se vi rendete conto che qualcosa non
 � chiaro, fate riferimento all'HOWTO corrispondente. Permettetemi di
 ricordarvi che il luogo giusto per cercare aiuto relativo alla
 configurazione di Linux � Usenet, per esempio
 <news:comp.os.linux.setup>. Vi prego, di non chiedere direttamente il
 mio aiuto perch� sono molto impegnato.

 � possibile reperire questo documento, incluse alcune traduzioni,
 all'indirizzo <http://metalab.unc.edu/mdw/HOWTO>. Qui si possono
 trovare anche tutti i riferimenti agli altri HOWTO. La versione pi�
 aggiornata � disponibile all'indirizzo
 <http://ibogeo.df.unibo.it/guido/Configuration>.



 1.2.  Cosa configureremo


 Le configurazioni hardware di un PC sono infinite, ma una � molto
 comune: un PC con un disco fisso suddiviso in tre partizioni (una per
 DOS/Windows, una per Linux e una partizione di swap), scheda audio,
 modem, drive CD--ROM, stampante, mouse. Il drive Zip in versione per
 la porta parallela � inoltre assai diffuso. Questa macchina �
 possibilmente parte di una rete mista basata su Windows e Linux dove
 ha la funzione di server.

 Presumer� che questo � l'hardware che volete configurare, ma �
 semplice adattare i consigli e gli esempi che vi dar� per altre
 configurazioni. � implicito che dovrete essere root per
 modificare/configurare/manipolare il sistema.
 E ora, rimbocchiamoci le maniche.



 2.  Setup generale del sistema




 2.1.  Alcune informazioni sulla sicurezza


 Anche prima dell'avvio del sistema, dovreste decidere il livello di
 sicurezza che desiderate implementare. Innanzitutto, non connettete la
 macchina alla rete se non avete ancora deciso cosa fare.

 La sicurezza � un argomento cos� ampio che va oltre l'abito di questo
 HOWTO.  Due buoni punti di partenza sono la Linux Security
 Administrator's Guide all'indirizzo  <http://www.seifried.org/lasg> e
 la Linux Security Guide all'indirizzo
 <http://nic.com/~dave/Security>. Dovreste almeno tenere in
 considerazione le seguenti fasi: l'utilizzo delle password di
 protezione (Shadow Password HOWTO), che limitano l'accesso alla
 macchina (vedere la sezione ``Limitazione dell'accesso di rete''),
 mediante la shell di sicurezza ( <http://www.cs.hut.fi/ssh/>) o la
 password di sicurezza remota ( <http://srp.stanford.edu/srp/>). Buona
 fortuna.



 2.2.  Il logbook


 Per ottenere un'installazione corretta, � essenziale che sappiate
 esattamente quello che accade alla vostra macchina, quali pacchetti
 sono stati installati, quali sono stati rimossi o modificati e cos�
 via. Quindi, la prima cosa da fare prima di manipolare il computer �
 quella di iniziare un ``logbook''. In questo file � possibile prendere
 nota di tutti gli spostamenti fatti come root. Nel mio logbook c'� una
 sezione in cui elenco tutti i file di sistema modificati, .rpms
 aggiuntivi e i .tar.gz che ho installato. Tenendo la traccia delle
 varie operazioni, dovreste essere in grado di ottenere di nuovo
 un'installazione originale.

 Fate una copia di backup dei file di sistema che modificate. Ancora
 meglio, utilizzate RCS.  Sarete in grado di tenere traccia di tutte le
 modifiche. Non lavorate mai come root senza registrare ogni mossa.



 2.3.  Tastiera


 Se vi siete persi questo passaggio durante l'installazione o avete
 cambiato tastiera, dovrete:


 �  scegliere un'adeguata mappa di tastiera da /usr/lib/kbd/keytables/;
    ad esempio, it.map seleziona la tastiera italiana;

 �  modificare il file /etc/sysconfig/keyboard in modo che appaia:
    KEYTABLE="/usr/lib/kbd/keytables/it.map";

 �  per impostare il tasso di ripetizione e il ritardo della tastiera,
    aggiungete questa linea a /etc/rc.d/rc.sysinit (Red Hat) o
    /etc/rc.d/rc.boot (Caldera) o /etc/rc.d/boot (S.u.S.E):
      /sbin/kbdrate -s -r 16 -d 500  # o come preferite





 Per caricare la nuova mappa di tastiera, date il comando
 /etc/rc.d/init.d/keytable start.  Per quanto riguarda altre
 impostazioni relative ai tasti speciali, troverete istruzioni pi�
 avanti.

 Per abilitare NumLock per default, aggiungete queste linee a
 /etc/rc.d/rc.sysinit:



      for tty in /dev/tty[1-9]*; do
        setleds -D +num < $tty
      done




 2.4.  Floppy di boot e di ripristino


 Create due floppy di boot per il sistema appena installato. La
 distribuzione pu� includere un comando per la creazione di tale
 floppy. In caso contrario, questi comandi fanno al vostro caso:



      #~ dd if=/boot/vmlinuz-2.0.36-0.7 of=/dev/fd0  # usa l'immagine del kernel
      #~ rdev /dev/fd0 /dev/hda2                     # la partizione di Linux




 Inoltre, fate in modo di avere pronti almeno un paio di floppy di
 ripristino. Potete trovare un'ampia scelta di dischi di ripristino
 all'indirizzo  <ftp://metalab.unc.edu/pub/Linux/system/recovery>.  Se
 non sapete quale scegliere, vi consiglio di provare Tomsbtrt.



 2.5.  Kernel


 Io credo che a questo punto la cosa pi� sensata sia farsi un kernel su
 misura. � molto semplice, ma per ogni dubbio leggetevi il file README
 in /usr/src/linux/ o il Kernel HOWTO. Suggerimenti:


 �  considerate le vostre necessit� con attenzione. � pi� produttivo
    scegliere una configurazione per il kernel, applicare le patch e
    compilare una volta per tutte, piuttosto che riconfigurare e
    ricompilare ogni mese; questo vale specialmente se la vostra Linux
    box � un server. Non dimenticate di aggiungere il supporto per
    l'hardware che potreste aggiungere in futuro (ad es. SCSI, Zip,
    schede di rete, ecc.). L'uso dei moduli � sempre la scelta
    migliore;

 �  se il vostro PC � basato su CPU Cyrix che non viene riconosciuta
    come tale dal kernel, ci sono delle patch per incrementarne le
    prestazioni.  Informazioni su
      <http://www.linuxhq.com/patch/20-p0591.html> ;
 �  gli utenti di portatili possono aumentare le leggibilit� dello
    schermo LCD. Una volta suggerivo di applicare una patch al kernel,
    ma ora credo che SVGATextMode (vedere la sezione ``SVGATextMode'')
    sia la soluzione migliore. Per chi vuole, comunque, la patch ``Big
    Cursor'' si trova all'indirizzo
      <http://www.linuxhq.com/patch/20-p0239.html> ;

 �  ancora per gli utenti di portatili: se volete usare un modem/fax
    PCMCIA, non compilate il supporto seriale come modulo, ma
    direttamente nel kernel. In caso contrario, il modem PCMCIA non
    funzioner�;

 �  se usate schede PCMCIA, compilate anche i relativi moduli; inoltre,
    non dimenticate di modificare /etc/pcmcia/network.opts se usate una
    schedina di rete;

 �  se modprobe vi d� quei fastidiosi messaggi di errore indicando che
    alcuni moduli non ci sono, dovete correggere /etc/conf.modules. Ad
    esempio, se non usate i moduli ipx e appletalk, aggiungete queste
    linee:



      alias net-pf-4 off
      alias net-pf-5 off





 �  per risparmiare tempo la prossima volta che compilerete il kernel,
    � consigliabile salvare la configurazione su file e mettere
    quest'ultimo al sicuro. Attenzione per�: se fate l'upgrade del
    kernel, questo file sar� quasi certamente inutile, perch� non
    contiene le funzionalit� del nuovo kernel.



 2.6.  Blocco di sendmail


 Su alcuni sistemi, sendmail blocca la macchina per un paio di minuti
 in fase di boot. Si distinguono due casi: 1) il PC non � direttamente
 connesso a Internet, 2) lo �, e ha un indirizzo IP fisso.  Correzione
 per il caso 1: assicuratevi che /etc/hosts contenga una linea con
 scritto



      127.0.0.1 localhost




 Nel secondo caso, il blocco avviene se /etc/hosts contiene questa
 linea:



      127.0.0.1   localhost   host_name




 che dovrete modificare cos�:

      127.0.0.1    localhost
      w.x.y.z      host_name




 Vedete anche alla sezione ``Hostname''.



 2.7.  Prestazioni del disco fisso


 Le prestazioni del vostro disco fisso possono essere notevolmente
 migliorate con l'uso accorto di hdparm(8). Se la vostra distribuzione
 di Linux non lo include, lo troverete su
 <ftp://sunsite.unc.edu/pub/Linux/system/hardware> ; cercate un file
 chiamato hdparm-X.Y.tar.gz.

 Non c'� una formula valida per tutti, poich� molti dettagli dipendono
 dal disco fisso e dal controller. Visto che si rischia di danneggiare
 il filesystem, leggete la man page con attenzione prima di usare certe
 opzioni. Come minimo, potrete aggiungere a /etc/rc.d/rc.sysinit la
 linea seguente:



      /sbin/hdparm -c1 /dev/hda  # primo drive IDE




 che abilita il supporto per l'I/O (E)IDE a 32-bit. Per quanto riguarda
 l'opzione ``-m'', ecco cosa mi ha scritto l'autore di hdparm, Mark
 Lord:


      (...) se il tuo sistema usa componenti di due anni fa [<
      1997], andr� tutto bene. Se sono precedenti a questa data,
      *potrebbero* esserci dei problemi (poco probabilmente).  I
      chip che hanno dato realmente problemi sono stati il CMD0646
      e il RZ1000, usati *su vasta scala* sulle schede madre dei
      486 e dei (precedenti) 586 circa 2 0 3 anni fa.


 Per le macchine recenti, queste impostazioni dovrebbero funzionare
 bene:



      /sbin/hdparm -c1 -A1 -m16 -d1 /dev/hda






 2.8.  Drive Zip per porta parallela


 Per usare il drive Zip (versione parallela), potete usare il driver
 standard fornito con i kernel recenti (2.x.x). Durante la
 configurazione del kernel, assicuratevi di includere il supporto per
 lo SCSI generico e per i dischi SCSI. Tenete presente che ci possono
 essere conflitti tra la stampante e il drive Zip se usano la stessa
 porta parallela, quindi compilate il supporto per entrambi come
 moduli. � disponibile un driver ppa alternativo all'indirizzo
 <http://www.torque.net/~campbell>.

 I dischi Zip sono venduti preformattati sulla partizione /dev/sda4.
 Per abilitare lo Zip, aggiungere queste linee a /etc/rc.d/rc.sysinit:



      # Abilita il drive Zip
      /sbin/modprobe ppa




 e lo Zip pu� essere montato tramite /etc/fstab come mostrato di
 seguito o tramite Mtools aggiungendo questa linea a /etc/mtools.conf:



      drive z: file="/dev/sda4" exclusive




 inoltre, il comando mzip vi consente di estrarre il disco, effettuare
 la query dello stato, proteggere in scrittura e con password i dischi
 Zip; vedere man mzip per dettagli.  La home page di Mtools �
 all'indirizzo <http://linux.wauug.org/pub/knaff/mtools>.



 2.9.  Driver di dispositivi


 Alcuni dispositivi in /dev (o meglio, collegamenti ai veri driver)
 possono essere assenti. Controllate a quali dispositivi corrispondono
 il mouse, il modem e il CD--ROM, poi fate:



      ~# cd /dev
      /dev# ln -s ttyS0 mouse; ln -s ttyS1 modem; ln -s hdb cdrom; ln -s sda4 zip




 Dritta: in molti portatili, il mouse � /dev/psaux: tenetelo presente
 quando installate X11.

 Se volete, assegnate chmod 666 a questi dispositivi per renderli
 accessibili a tutti gli utenti.



 2.10.  Scheda audio


 Tutto ci� che possiedo � una vecchia Sound Blaster 16. Anche se avete
 a disposizione qualcosa di diverso, potete fare riferimento a quanto
 segue.

 Ho compilato il supporto per la scheda audio come modulo (sb.o).
 Quindi ho messo queste linee in /etc/conf.modules:



 options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
 alias sound sb




 Per attivare l'audio, accertatevi che venga richiamato modprobe sound
 in /etc/rc.d/rc.sysinit. In alternativa, scaricate il tool sndconfig
 dal sito Web di RedHat.



 2.11.  Messaggi di login


 Se volete personalizzare i messaggi di login, controllate se il vostro
 /etc/rc.d/rc.local sovrascrive /etc/issue e /etc/motd (RedHat lo fa).
 Se li sovrascrive, dateci sotto con l'editor.

 Se desiderate un messaggio di login colorato, potete adattare il
 rc.local inserendo linee simili a quelle riportate:



      # immette un vero carattere di escape invece di ^[. Per fare questo:
      # emacs: ^Q ESC   vi: ^V ESC   joe:  ` 0 2 7   jed: ` ESC
      ESC="^["  # un vero carattere di escape
      BLUE="$ESC[44;37m"
      NORMAL="$ESC[40;37m"
      CLEAR="$ESC[H$ESC[J"

      > /etc/issue
      echo "$CLEAR" >> /etc/issue
      echo "$BLUE   Welcome to MyServer (192.168.1.1)   " >> /etc/issue
      echo "$NORMAL " >> /etc/issue
      echo "" >> /etc/issue






 2.12.  Hostname


 Impartire il comando hostname nuovo_host_name non basta. Per evitare
 il problema del blocco di sendmail, seguite queste istruzioni (valide
 solo per una macchina non collegata a Internet permanentemente):


 �  modificate /etc/sysconfig/network e cambiate l'hostname qui
    contenuto (ad es. nuovo_host_nome.localdomain);

 �  modificate /etc/HOSTNAME in modo appropriato;

 �  aggiungete il nuovo hostname in questa linea in /etc/hosts:



      127.0.0.1  nuovo_host_name.locadomain nuovo_host_name






 2.13.  Mouse


 I servizi di gpm sono utili per il taglia e incolla in modalit� testo,
 e per usare il mouse in alcune applicazioni. Per Red Hat, controllate
 se avete un file chiamato /etc/sysconfig/mouse e che ci sia scritto:



      MOUSETYPE="Microsoft"
      XEMU3=yes




 Inoltre, dovete avere un file /etc/rc.d/init.d/gpm, dove aggiungerete
 parametri addizionali. Nel mio ho inserito:



      ...
             daemon gpm -t $MOUSETYPE -d 2 -a 5 -B 132 # mouse a due bottoni
      ...




 Ovviamente, accertatevi che la configurazione sia quella giusta per il
 vostro mouse. Dritta: in molti portatili, MOUSETYPE � ``PS/2''.

 Per Caldera, per abilitare il mouse basta aggiungere in fondo a
 /etc/rc.d/rc.boot:



      /usr/bin/gpm




 Per S.u.S.E., i parametri per gpm sono in /etc/rc.config; per Debian,
 si modifica /etc/gpm.conf.

 Se volete usare i menu in console con Ctrl-tasto, configurate anche
 gpm-root. Modificate il menu di default in /etc/gpm-root.conf , quindi
 lanciate gpm-root da /etc/rc.d/rc.sysinit (AQVD).



 2.14.  Punti di mount


 � comodo avere dei punti di mount per il floppy, altri dispositivi e
 directory esportate da NFS. Ad esempio, potreste fare:



      ~# cd /mnt
      /mnt# mkdir floppy ; mkdir cdrom ; mkdir win ; mkdir zip ; mkdir server




 che crea i punti di mount per il floppy in formato DOS/Windows, un
 floppy extra, il CD--ROM, la partizione Windows, il drive Zip per la
 porta parallela e una directory NFS.
 Ora modifiacte il file /etc/fstab e aggiungete queste linee:



      /dev/fd0        /mnt/floppy     auto            user,noauto 0 1
      /dev/cdrom      /mnt/cdrom      iso9660         ro,user,noauto 0 1
      /dev/zip        /mnt/zip        vfat            user,noauto,exec 0 1
      /dev/hda1       /mnt/win        vfat            user,noauto 0 1
      server:/export  /mnt/server     nfs             defaults




 Come � ovvio, dovete usare il dispositivo giusto nel primo campo. I
 kernel recenti hanno il supporto nativo per le partizioni fat32;
 oppure troverete informazioni e una patch per il kernel all'indirizzo
 <http://bmrc.berkeley.edu/people/chaffee/fat32.html> .  man mount per
 ulteriori informazioni.

 Notate il tipo di filesystem ``auto'' della prima linea. Consente di
 montare sia i floppy ext2 sia quelli vfat (DOS/Windows). Potreste
 trovare pi� conveniente mtools.



 2.15.  Lilo(8) e LOADLIN.EXE


 Molti utenti vogliono poter usare sia Linux che DOS/Windows, e
 scegliere al boot quale sistema operativo lanciare; questa
 impostazione dovrebbe avvenire in fase di installazione, ma se nel
 caso fate come segue. Supponiamo che /dev/hda1 contenga DOS/Windows e
 che /dev/hda2 contenga Linux.



      ~# fdisk
      Using /dev/hda as default device!

      Command (m for help):a
      Partition number (1-4): 2

      Command (m for help):w
      ~#




 Cos� si rende attiva la partizione di Linux. Scrivetevi quindi questo
 semplice /etc/lilo.conf:
















 boot = /dev/hda2
 compact                # pu� essere in conflitto con "linear"
 delay = 100            # 10 secondi
 linear                 # elimina il problema "1024 cylinder"
 # message = /boot/bootmesg.txt  # scrivetene uno, se volete
 root = current
 image = /boot/vmlinuz  # fa partire Linux per default dato che rappresenta la prima entry
   label = linux
   read-only
 #  append="mem=128M"   # per avere pi� memoria di 64 MB
 other = /dev/hda1
   table = /dev/hda
   label = dos




 Ora date il comando /sbin/lilo e siete a posto. Visto che LILO � un
 passaggio cruciale dell'installazione, vi consiglio caldamente di
 leggervi comunque la sua documentazione.

 Per fare partire Linux senza resettare, mettete LOADLIN.EXE in una
 directory (nella partizione DOS!) compresa nel path del DOS; poi
 copiate il kernel nella directory (ad esempio) C:\TEMP\VMLINUZ.
 Questo semplice file .BAT fa partire Linux:



      rem   linux.bat
      smartdrv /C
      loadlin c:\temp\vmlinuz root=/dev/hda2 ro




 Se usate Windows 9x, impostate le propriet� di questo file .BAT in
 modo che parta in modalit� MS--DOS.



 2.15.1.  Trucco per la sicurezza


 Un consiglio: fare una copia del MBR prima di installare Linux pu�
 salvarvi dai guai. Usate restorrb (incluso nel pacchetto FIPS) prima
 dell'installazione o un floppy di ripristino e date questo comando:



      rescue:~# dd if=/dev/hda of=MBR bs=512 count=1




 e poi fate almeno due copie del file MBR su altrettanti floppy. Se
 dovesse capitare il disastro, potrete recuperare il MBR originale con
 il comando:



      rescue:~# dd if=/mnt/MBR of=/dev/hda bs=446 count=1





 presumendo che il floppy che contiene MBR sia montato sotto /mnt. In
 alternativa, usate un floppy di ripristino DOS o Windows e date il
 comando FDISK /MBR.



 2.16.  Mail Capability


 Di sicuro vorrete leggere anche i messaggi di posta scritti in HTML o
 che contengono formati di file esotici. Assicuratevi di avere due
 file: /etc/mime.types e /etc/mailcap. Il primo elenca tipi di file e
 l'estensione associata, come ad esempio:



      application/postscript          ps eps
      image/jpeg                      jpe jpeg jpg
      text/html                       html




 mentre il secondo spiega al client mail come mostrare quel particolare
 file.

 Vi potrebbe arrivare posta da gente che usa Microsoft Outlook, i cui
 messaggi sono in formato MIME multi--part. Queste due linee, aggiunte
 in /etc/mailcap, dovrebbero rendere leggibili quei messaggi:



      text/plain; less %s; needsterminal
      text/html; lynx -force_html %s; needsterminal






 2.17.  Configurazione della stampante


 Le distribuzioni che conosco hanno un programma di configurazione per
 la stampante (printtool, yast o magicfilter); se non ce l'avete, ecco
 come implementare una semplice configurazione manuale.

 Supponiamo che abbiate una stampante non-PostScript (e non ``per
 Windows''!)  con cui volete stampare semplice testo (ad es., sorgenti
 C) e file PostScript tramite Ghostscript, che deve essere gi�
 installato.

 Configurare la stampante richiede alcuni passaggi:


 �  controllate qual � il dispositivo parallelo: provate



      ~# echo "hello, world" > /dev/lp0
      ~# echo "hello, world" > /dev/lp1





 e segnatevi quale funziona.

 �  create due directory di spool:



      ~# cd /var/spool/lpd
      /var/spool/lpd/# mkdir raw ; mkdir postscript





 �  se la vostra stampante, come molte inkjet, presenta l'``effetto
    scalinata'', vi servir� un filtro. Provate a stampare due linee di
    testo con



      ~# echo "prima linea" > /dev/lp1 ; echo "seconda linea" > /dev/lp1





 e se l'output � cos�:



      prima linea
                 seconda linea





 salvate questo script col nome /var/spool/lpd/raw/filter:



      #!/bin/sh
      # Questo file elimina l'"effetto scalinata"
      awk '{print $0, "\r"}'





 e rendetelo eseguibile con chmod 755 /var/spool/lpd/raw/filter.

 �  fate un filtro per l'emulazione PostScript. Scrivete il filtro
    seguente col nome /var/spool/lpd/postscript/filter:














 #!/bin/sh

 DEVICE=djet500
 RESOLUTION=300x300
 PAPERSIZE=a4
 SENDEOF=

 nenscript -TUS -ZB -p- |
 if [ "$DEVICE" = "PostScript" ]; then
         cat -
 else
         gs -q -sDEVICE=$DEVICE \
                 -r$RESOLUTION \
                 -sPAPERSIZE=$PAPERSIZE \
                 -dNOPAUSE \
                 -dSAFER \
                 -sOutputFile=- -
 fi

 if [ "$SENDEOF" != "" ]; then
         printf "\004"
 fi





 (in questo esempio, si presume l'utilizzo di una stampante HP DeskJet.
 Adattate lo script alla vostra stampante.)

 �  infine, aggiungete queste linee in /etc/printcap:



      # /etc/printcap
      lp|ps|PS|PostScript|djps:\
              :sd=/var/spool/lpd/postscript:\
              :mx#0:\
              :lp=/dev/lp1:\
              :if=/var/spool/lpd/postscript/filter:\
              :sh:
      raw:\
              :sd=/var/spool/lpd/raw:\
              :mx#0:\
              :lp=/dev/lp1:\
              :if=/var/spool/lpd/raw/filter:\
              :sh:





 Per configurazioni pi� complesse, il Printing-HOWTO vi aspetta.

 Se utilizzate printtool, il dispositivo GSDEVICE scelto da Printtool
 funziona, ma non � necessariamente il migliore per la vostra
 stampante. Potreste dover modificare il file postscript.cfg; ad
 esempio, ho cambiato GSDEVICE da cdj500 a djet500 e ora le stampe sono
 molto pi� veloci.



 2.18.  SVGATextMode



 Questa utility, reperibile all'indirizzo
 <ftp://tsx-11.mit.edu/pub/linux/sources/sbin> , serve per cambiare il
 font e la risoluzione in modalit� testo, nonch� la forma del cursore.
 Gli utenti che usano lettere accentate (ci siamo anche noi italiani)
 le possono quindi abilitare nelle applicazioni in console, mentre gli
 utenti di portatili possono ingrandire il cursore per renderlo pi�
 visibile.

 Modificate il file /etc/TextConfig o /etc/TextMode, iniziando con la
 definizione VGA di default. Per abilitare le lettere accentate,
 assicuratevi di avere queste linee nell'opzione ``LoadFont'':



      Option "LoadFont"
      FontProg "/usr/bin/setfont"
      FontPath "/usr/lib/kbd/consolefonts"
      FontSelect "lat1-16.psf"   8x16 9x16 8x15 9x15
      FontSelect "lat1-14.psf"   8x14 9x14 8x13 9x13
      FontSelect "lat1-12.psf"   8x12 9x12 8x11 9x11
      FontSelect "lat1-08.psf"   8x8  9x8  8x7  9x7




 Quando avete fatto, provate la configurazione col comando SVGATextMode
 "80x34x9" e se tutto funziona bene, togliete i warning da
 /etc/TextMode ed aggiungete questa linea in /etc/rc.d/rc.sysinit
 (AQVD):



      # SVGATextMode
      /usr/sbin/SVGATextMode "80x34x9"




 Da notare che il cursore a blocco funziona solo con alcuni modi
 schermo; su una delle mie macchine, "80x32x9".



 3.  Compiti di amministrazione comuni


 Ci sono cos� tante cose da fare e cos� poco tempo! Ecco che inizia il
 divertimento. Questa sezione � dedicata alla rete, anche se molti
 altri task vi aspettano.

 La rete � un argomento talmente vasto che non pu� essere trattato
 esaurientemente qui. Dovete fare riferimento al NET-3 HOWTO e alla
 documentazione sulle impostazioni dei servizi di rete della maggior
 parte delle distribuzioni. In questo caso verranno trattati solo pochi
 punti.

 Ecco un breve elenco di servizi che potreste installare: attivit�
 cronologiche e sincronizzate, quali calendari o promemoria, Http,
 Samba, accesso telnet/ssh, ftp anonimo, server POP/IMAP, servizi
 NFS...






 3.1.  Configurazione di rete


 Anche se il metodo vero e proprio per avviare i servizi di rete della
 distribuzione pu� essere molto pi� complesso, lo script che segue
 dovrebbe essere sufficiente perch� possiate iniziare:



      #!/bin/sh

      # net-up.sh: imposta l'accesso di rete

      DEVICE=eth0
      IPADDR=192.168.1.100
      NETMASK=255.255.255.0
      NETWORK=192.168.1.0
      GATEWAY=192.168.1.1

      ifconfig $DEVICE $IPADDR netmask $NETMASK up
      route add -net $NETWORK netmask $NETMASK $DEVICE
      route add default gw $GATEWAY




 Questo script � utile per attivare l'accesso di rete quando utilizzate
 un disco di ripristino.  Ovviamente, questo consente solo l'utilizzo
 di ping, ftp e telnet verso l'esterno.



 3.2.  Condivisione di Internet


 Si tratta di uno dei task pi� utili per un server Linux. Attualmente,
 la maggior parte dei kernel di stock dispongono del firewall IP, di
 masquerade e di invio attivati per default. Se avete dei dubbi,
 consultate IP-Masquerade mini-HOWTO per apprendere come abilitarli.
 Installate quindi ipfwadm (kernel 2.0.x;
 <http://www.xos.nl/linux/ipfwadm/>) o ipchains (kernel 2.2.x;
 <http://www.adelaide.net.au/~rustcorp/ipfwchains/ipfwchains.html>).
 Non dimenticate di attivare i moduli dei kernel per i servizi
 necessari, ad esempio per ftp verr� aggiunta questa linea a
 /etc/rc.d/rc.sysconfig:



      /sbin/modprobe ip_masq_ftp




 Altri moduli sono in genere disponibili in /lib/modules/KERNEL-
 VERSION/ipv4.

 L'attivazione del masquerade IP per altre macchine della rete locale �
 molto semplice. Innanzitutto, controllate gli script di
 inizializzazione della rete (/etc/sysconfig/network dovrebbe essere la
 collocazione corrette) per comprendere se contengono la linea
 FORWARD_IPV4=true. Viene utilizzata per impostare
 /proc/sys/net/ipv4/ip_forward a 1 quando il sottosistema di rete viene
 attivato.

 Aggiungete queste linee a /etc/rc.d/rc.sysinit:

      # default: i pacchetti non possono raggiungere l'esterno
      /sbin/ipfwadm -F -p deny
      # consente a tutte le macchina della rete locale di raggiungere Internet
      /sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
      # in alternativa, lo consente solo a queste due macchine
      # /sbin/ipfwadm -F -a m -S 192.168.1.100/24 -D 0.0.0.0/0
      # /sbin/ipfwadm -F -a m -S 192.168.1.101/24 -D 0.0.0.0/0




 Se utilizzate un kernel della serie 2.2.x, servitevi di ipfwadm-
 wrapper invece di ipfwadm per iniziare in modo rapido.

 Ora dovete disporre di qualcosa che consenta alle macchine client di
 contattare il provider. Io utilizzo Mserver (
 <http://cpwright.villagenet.com/mserver/>). Modificate
 etc/mserver.conf; le uniche voci che dovrete modificare sono
 ``checkhost'', ``shadow'' e ``cname''. Definite quindi le connessioni.
 Ovviamente, installate uno dei client disponibili sulle macchine
 client.




 3.3.  Limitazione dell'accesso di rete


 Supponiamo di connetterci a Internet tramite il protocollo PPP. Dopo
 esserci connessi, la macchina pu� diventare vulnerabile agli attacchi.
 Inserite questa linea in /etc/hosts.allow:



      # consente l'accesso solo al localhost
      ALL: 127.




 e questa linea in /etc/hosts.deny:



      # nega l'accesso a tutti
      ALL: ALL




 Se siete in una rete con accesso diretto a Internet, fareste meglio a
 disabilitare finger, telnet e possibilmente gli altri servizi per
 motivi di sicurezza.  Utilizzate ssh invece di telnet. Il file da
 modificare � /etc/inet.conf. In alternativa, potete limitare l'accesso
 di rete immettendo questa linea in /etc/hosts.allow:



      in.telnetd: 192.168.1., .another.trusted.network
      in.ftpd: 192.168.1., .another.trusted.network




 e questa in /etc/hosts.deny:

      in.telnetd: ALL
      in.ftpd: ALL






 3.4.  Esportazioni NFS


 � cosa comune esportare le directory principali sul server. Si pone un
 problema se UID e GID non sono coerenti in macchine diverse.  Se
 l'utente guido dispone di UID/GID uguali a 500 su server e UID/GID
 uguali a 512 su client, una configurazione utile pu� essere:



      # /etc/exports
      /tmp            my.client.machine(rw)
      /home/guido     my.client.machine(rw,map_static=/etc/nfs/client.map)




 In /etc/nfs/client.map verr� inserita:



      # /etc/nfs/client.map
      # NFS mapping for client
      #       remote          local
      uid     512             500

      gid     512             500







 3.5.  Server del nome


 Non ancora disponibile.



 4.  Configurazione software


 Questi sono i file di configurazione che stiamo per personalizzare:
 /etc/profile /etc/bashrc .bashrc .bash_profile .bash_logout .inputrc
 .less .lessrc .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xmodmap.num
 .Xdefaults .jedrc .abbrevs.sl .joerc .emacs

 Non aggiungete utenti prima di completare la configurazione; metterete
 infatti i file dot in /etc/skel.



 4.1.  bash(1)



 Questo � forse il programma pi� importante dopo il kernel. Per
 personalizzare bash, questi sono i file principali da modificare:


 �  /etc/bashrc contiene gli alias e le funzioni valide per l'intero
    sistema;

 �  /etc/profile contiene le variabili d'ambiente per l'intero sistema
    e i programmi di avvio;

 �  $HOME/.bashrc contiene gli alias e le funzioni dell'utente;

 �  $HOME/.bash_profile contiene le variabili d'ambiente e i programmi
    di avvio dell'utente;

 �  $HOME/.inputrc contiene definizioni di tasti e altri elementi.

 Qui sotto ci sono esempi di questi file. Primo, il pi� importante:
 /etc/profile. Viene usato per configurare molte caratteristiche in una
 macchina Linux, come vedrete nelle sezioni seguenti. Fate attenzione
 agli apici inversi!













































 ______________________________________________________________________
 # /etc/profile

 # Variabili di ambiente globali e programmi di avvio
 # Le funzioni e gli alias vanno in /etc/bashrc

 # Questo file imposta queste caratteristiche:
 #
 #   o path
 #   o prompt
 #   o alcune variabili d'ambiente
 #   o ls a colori
 #   o il comportamento di less
 #   o backspace in rxvt
 #
 # Gli utenti possono sovrascrivere queste impostazioni e/o aggiungerne altre
 # nel loro $HOME/.bash_profile

 # imposta un path decente
 PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."

 # avvisa l'utente: login o non-login shell. Se e' di login, il prompt e'
 # colorato in blu; altrimenti in magenta. Il prompt di root e' rosso.
 # Per una spiegazione dei codici, vedi il Colour-ls mini HOWTO.
 USER=`whoami`
 if [ $LOGNAME = $USER ] ; then
   COLOUR=44  # blu
 else
   COLOUR=45  # magenta
 fi

 if [ $USER = 'root' ] ; then
   COLOUR=41  # rosso
   PATH="$PATH:/usr/local/bin"
 fi

 ESC="\033"
 PROMPT='\h'    # hostname
 STYLE=';1m'    # grassetto
 # PROMPT='\u'  # nomeutente
 # STYLE='m'    # testosemplice
 PS1="\[$ESC[$COLOUR;37$STYLE\]$PROMPT:\[$ESC[37;40$STYLE\]\w\\$ "
 PS2="> "

 # niente core dump, per piacere
 ulimit -c 0

 # imposta umask
 if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
   umask 002
 else
   umask 022
 fi

 # alcune variabili
 USER=`id -un`
 LOGNAME=$USER
 MAIL="/var/spool/mail/$USER"  # sendmail, postfix, smail
 # MAIL="$HOME/Mailbox"        # qmail
 NNTPSERVER=news.myisp.it      # inserite il vostro qui
 VISUAL=jed
 EDITOR=jed
 HOSTNAME=`/bin/hostname`
 HISTSIZE=1000
 HISTFILESIZE=1000
 export PATH PS1 PS2 USER LOGNAME MAIL NNTPSERVER
 export VISUAL EDITOR HOSTNAME HISTSIZE HISTFILESIZE

 # abilita ls a colori
 eval `dircolors /etc/DIR_COLORS -b`
 export LS_OPTIONS='-F -s -T 0 --color=yes'

 # personalizza less
 LESS='-M-Q'
 LESSEDIT="%E ?lt+%lt. %f"
 LESSOPEN="| lesspipe.sh %s"
 LESSCHARDEF=8bcccbcc13b.4b95.33b. # mostra i colori in ls -l | less
 PAGER=less
 export LESS LESSEDIT LESSOPEN VISUAL LESSCHARDEF

 # aggiusta il backspace per rxvt/xterm
 CTRL_H="\010"
 NULL_STRING=" $CTRL_H" # spazio + backspace
 if [ "$NULL_STRING" != "" ] ; then
   stty erase ^?
 else
   stty erase ^H
 fi

 # imposta il titolo xterm title: path completo
 case $TERM in
   xterm*)
     PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
     ;;
 esac

 for i in /etc/profile.d/*.sh ; do
   if [ -x $i ]; then
     . $i # attenzione - le variabili e gli alias potrebbero sovrapporsi!
   fi
 done

 # se c'� fortune, lancialo
 if [ -x /usr/games/fortune ] ; then
   echo ; /usr/games/fortune ; echo
 fi
 ______________________________________________________________________



 Questo � un esempio di /etc/bashrc:





















 ______________________________________________________________________
 # /etc/bashrc

 # Funzioni e alias globali
 # Le variabili d'ambiente vanno in /etc/profile
 # Inserite qui le definizioni PS1 se si verificano problemi.

 export CDPATH="$CDPATH:~"

 # alias comuni
 alias cp='cp -i'
 alias l=less
 alias ls="ls $LS_OPTIONS"
 alias mv='mv -i'
 alias rm='rm -i'
 alias rmbk='/bin/rm -f .*~ *~ *aux *bak *log *tmp 2> /dev/null'
 alias u='cd ..'
 alias which="type -path"
 alias x=startx

 # Alcune funzioni utili
 c ()    # cd per la nuova directory ed elenco del contenuto
 {
   cd $1 ; ls
 }

 inst()  # Installa un archivio .tar.gz nella directory corrente
 {
   if [ $# != 0 ]; then tar zxvf $1; fi
 }

 cz()    # Elenca il contenuto di un archivio .zip
 {
   if [ $# != 0 ]; then unzip -l $*; fi
 }

 ctgz()  # Elenca il contenuto di un archivio .tar.gz
 {
   for file in $* ; do
     tar ztf ${file}
   done
 }

 tgz()   # Crea un archivio .tgz alla zip.
 {
   if [ $# != 0 ]; then
     name=$1.tar; shift; tar -rvf ${name} $* ; gzip -9 ${name}
   fi
 }

 crpm()  # elenca le informazioni in un file .rpm
 {
   if [ $# != 0 ]; then rpm -qil $1 | less; fi
 }
 ______________________________________________________________________



 Questo � un esempio di .bashrc:







 ______________________________________________________________________
 # $HOME/.bashrc
 # Prendi le definizioni globali

 if [ -f /etc/bashrc ]; then
   . /etc/bashrc
 fi

 # questo serve per avvisare l'utente che si trova in non-login shell
 if [ "$GET_PS1" = "" ] ; then
   COLOUR=45; ESC="\033"; STYLE=';1m';  # STYLE='m'
   USER=`whoami`
   export PS1="\[$ESC[$COLOUR;37$STYLE\]$USER:\[$ESC[37;40$STYLE\]\w\\$ "
 fi

 # alias personali
 alias backup='tar -Mcvf /dev/fd0'
 alias dial='eznet up myisp'
 alias f='cd ~/fortran'
 alias hangup='eznet down'
 alias lyx='lyx -width 580 -height 450'
 alias restore='tar -M -xpvf /dev/fd0'

 # funzioni personali
 xj()    # Lancia xjed e un file in background
 {
   xjed $1 &
 }
 ______________________________________________________________________



 Questo � un esempio di .bash_profile:


 ______________________________________________________________________
 # $HOME/.bash_profile

 # Variabili di ambiente e programmi di avvio utente
 # Questo file contiene impostazioni personalizzati che si sovrappongono
 # a quelli in /etc/profile

 # Prendi gli alias e le funzioni
 if [ -f ~/.bashrc ]; then
   GET_PS1="NO"  # non cambiare il colore del prompt
   . ~/.bashrc
 fi

 # imposta alcune directory di default
 export CDPATH="$CDPATH:$HOME:$HOME/testi:$HOME/testi/geologia"
 ______________________________________________________________________



 Questo � un esempio di .inputrc:











 ______________________________________________________________________
 # $HOME/.inputrc

 # combinazioni di tasti
 "\e[1~": beginning-of-line
 "\e[3~": delete-char
 "\e[4~": end-of-line
 # (F1 .. F5) are "\e[[A" ... "\e[[E"
 "\e[[A": "info \C-m"

 set bell-style visible         # non fare beep
 set meta-flag On               # permetti input a 8-bit (ad esempio le lettere accentate)
 set convert-meta Off           # non togliere l'ottavo bit
 set output-meta On             # mostra i caratteri a 8-bit correttamente
 set horizontal-scroll-mode On  # scorri la linea di comando se e' lunga
 set show-all-if-ambiguous On   # dopo aver premuto TAB
 ______________________________________________________________________



 Per fare funzionare i tasti backspace e delete in xterm e altre
 applicazioni X11, bisogna inoltre:


 �  mettere questo nel vostro .xinitrc:



      usermodmap=$HOME/.Xmodmap
      xmodmap $usermodmap





 �  e nel vostro .Xmodmap dovrete inserire:



      keycode 22 = BackSpace
      keycode 107 = Delete





 questo adatta la modalit� console.

 �  Per sistemare xterm, inserite questo nel vostro .Xdefaults:



      xterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\
              <Key>Delete:        string(0x1b) string("[3~")\n\
              <Key>Home:          string(0x1b) string("[1~")\n\
              <Key>End:           string(0x1b) string("[4~")\n\
              Ctrl<Key>Prior:     string(0x1b) string("[40~")\n\
              Ctrl<Key>Next:      string(0x1b) string("[41~")

      nxterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\
              <Key>Delete:        string(0x1b) string("[3~")\n\
              <Key>Home:          string(0x1b) string("[1~")\n\
              <Key>End:           string(0x1b) string("[4~")\n\
              Ctrl<Key>Prior:     string(0x1b) string("[40~")\n\
              Ctrl<Key>Next:      string(0x1b) string("[41~")

 rxvt � un po' pi� complicato da sistemare, perch� alcune opzioni si
 danno in fase di compilazione. Vedete il /etc/profile qui sopra.

 Ulteriori informazioni nelle pagine man di bash(1) e readline(3).

 Non vi aspettate che tutte le applicazioni funzionino! Con joe in
 xterm, ad esempio, alcuni tasti non funzionano; lo stesso vale per
 alcune versioni di rxvt.



 4.2.  ls(1)


 ls pu� mostrare a colori i contenuti delle directory, per evidenziare
 i diversi tipi di file. Per abilitare questa caratteristica, servono
 un paio di linee come in /etc/profile qui sopra. Questo per� non
 funziona in alcune versioni di rxvt; dovrete usare xterm.  Sembra che
 rxvt abbia un bug che gli impedisce in alcuni casi di ereditare
 correttamente le variabili di ambiente.

 Caldera ha un ls che non supporta i colori, ma c'� un comando color-ls
 che � la stessa cosa. Inserite in /etc/bashrc:



      alias ls="color-ls $LS_OPTIONS"






 4.3.  less(1)


 Con questo eccellente pager si leggono non solo file di testo, ma
 anche file compressi con gzip, archivi tar e zip, pagine man e altro
 ancora. La sua configurazione richiede alcuni passaggi:


 �  per abilitare i tasti cursore, scrivetevi questo file .lesskey (�
    un semplice file ASCII) nella vostra directory principale:



      ^[[A   back-line
      ^[[B   forw-line
      ^[[C   right-scroll
      ^[[D   left-scroll
      ^[OA   back-line
      ^[OB   forw-line
      ^[OC   right-scroll
      ^[OD   left-scroll
      ^[[6~  forw-scroll
      ^[[5~  back-scroll
      ^[[1~  goto-line
      ^[[4~  goto-end
      ^[[7~  goto-line
      ^[[8~  goto-end





 quindi lanciate il comando lesskey. Si tratta di sequenze di escape
 per terminali vt100. Questa consente di creare un file binario chiam�
 ato .less contenente le definizioni dei tasti.


 �  scrivetevi questo script col nome /usr/local/bin/lesspipe.sh:


    ___________________________________________________________________
    #!/bin/sh
    # Preprocessore per 'less'. Viene usato quando questa variabile di ambiente
    # � impostata:   LESSOPEN="|lesspipe.sh %s"

    lesspipe() {
      case "$1" in
      *.tar) tar tf $1 2>/dev/null ;; # Vedi i file .tar e .tgz
      *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;;
      *.Z|*.z|*.gz) gzip -dc $1  2>/dev/null ;; # Vedi i file compressi
      *.zip) unzip -l $1 2>/dev/null ;; # Vedi gli archivi
      *.arj) unarj -l $1 2>/dev/null ;;
      *.rpm) rpm -qpil $1 2>/dev/null ;;
      *.cpio) cpio --list -F $1 2>/dev/null ;;
      *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1`
        FILE=`echo $FILE | cut -d ' ' -f 2`
        if [ "$FILE" = "troff" ]; then
          groff -s -p -t -e -Tascii -mandoc $1
        fi ;;
      *) file $1 | grep text > /dev/null ;
        if [ $? = 1 ] ; then # non e' un file di testo di qualche tipo
          strings $1
        fi ;;
      esac
    }

    lesspipe $1
    ___________________________________________________________________



 e rendetelo eseguibile con chmod 755 lesspipe.sh.

 �  inserite le variabili necessarie, che sono gi� presenti nel file
    /etc/profile visto prima. La variabile LESSCHARSET dipende dal
    fatto che io vivo in Italia e quindi uso il set di caratteri ISO
    8859/1.  Gli amici americani, giapponesi, russi e altri fanno
    meglio a non impostarla.



 4.4.  emacs(1)


 Uso emacs di rado, quindi ho solo un paio di dritte.  Alcune versioni
 di emacs non sono preconfigurate per i colori e l'evidenziazione della
 sintassi. Scrivete quanto segue nel vostro .emacs:



      (global-font-lock-mode t)
      (setq font-lock-maximum-decoration t)




 Funziona solo in X11. Inoltre, per abilitare le lettere accentate
 dovrete aggiungere:

      (standard-display-european 1)




 Lascio a voi la lettura di tutta la documentazione di emacs per
 scoprire come adattarlo ai vostri gusti; potenzialmente, ce n'� per
 mesi di smanettamenti. Il Dotfile Generator (Sezione ``Software per la
 configurazione'') vi pu� dare una mano.



 4.5.  joe(1)


 Alcune versioni di joe non funzionano a colori in console, e non vanno
 nemmeno certi tasti speciali. Una soluzione svelta (ma inelegante) per
 il primo problema � questa:



      ~$ export TERM=vt100
      ~$ joe myfile
         (modificate il vostro file)
      ~$ export TERM=linux




 Per fare in modo che i tasti speciali funzionino, modificate .joerc,
 .jstarrc o l'emulazione che preferite; potete partire dai file di
 configurazione in /usr/lib/joe. Fate riferimento alla quarta sezione
 (binding dei tasti) che abilita i tasti Home e End:



      bol ^[ [ 1 ~    Go to beginning of line
      eol ^[ [ 4 ~    Go to end of line




 Scoprite le sequenze di escape desiderate digitando cat seguito dai
 tasti speciali.


 4.6.  jed(1)


 Questo � il mio editor preferito: fa quello che mi serve, � pi� snello
 e pi� facile da configurare di emacs ed emula altri editor molto bene.
 Presso la mia universit�, molti usano jed in emulazione EDT, l'editor
 di sistema di VMS.

 I file di configurazione sono .jedrc e /usr/lib/jed/lib/*; il primo
 pu� essere adattato dal file jed.rc che sta nella directory appena
 indicata.


 �  per fare usare i tasti speciali a jed, create un file di nome
    /usr/lib/jed/lib/defaults.sl contenente una sola linea:



      () = evalfile("linux");

 �  se xjed apparentemente non riconosce il tasto DEL, aggiungete
    queste linee nel vostro .jedrc:



      #ifdef XWINDOWS
        x_set_keysym (0xFFFF, 0, "\e[3~");
        setkey (`delete_char_cmd'', "\e[3~");
      #endif





 �  modificate /usr/lib/jed/lib/linux.sl e scrivete le due linee
    Info_Directory = "/usr/info"; e UCB_Mailer = "/bin/mail";;

 �  configurare jed per fargli emulare EDT (o altri editor) �
    semplicissimo: dovete solo cambiare un paio di linee nel vostro
    .jedrc. Se volete usare il tasto `+' del tastierino numerico per
    cancellare parole anzich� un singolo carattere, aggiungete in
    .jedrc:



      unsetkey("\eOl");
      unsetkey("\eOP\eOl");
      setkey("edt_wdel", "\eOl");
      setkey("edt_uwdel", "\eOP\eOl");





 dopo la linea con scritto () = evalfile("edt");.

 �  per fare usare a xjed il tastierino numerico per l'emulazione EDT,
    inserite quanto segue in .Xmodmap:



      keycode 77  = KP_F1
      keycode 112 = KP_F2
      keycode 63  = KP_F3
      keycode 82  = KP_F4
      keycode 86  = KP_Separator





 �  la scelta dei colori per xjed si fa aggiungendo linee come le
    seguenti in .Xdefaults:



      xjed*Geometry: 80x32+150+50
      xjed*font: 10x20
      xjed*background: midnight blue
      # eccetera...






 �  la funzionalit� delle abbreviazioni fa risparmiare un sacco di
    tempo.  Scrivete un file come questo col nome $HOME/.abbrevs.sl:
    (potete modificare questo nome inserendo variable Abbrev_File =
    "/usr/lib/jed/abbrev.sl"; in .jedrc)



      create_abbrev_table ("Global", "0-9A-Za-z");
      define_abbrev ("Global", "GG", "Guido Gonzato");
      create_abbrev_table ("TeX", "\\A-Za-z0-9");
      define_abbrev ("TeX", "\\beq", "\\begin{equation}");
      define_abbrev ("TeX", "\\eeq", "\\end{equation}");
      % and so on...





 quindi digitate ESC x abbrev_mode per abilitarlo. Se volete avere le
 abbreviazioni attivate per default, aggiungete queste entry in .jedrc:



      define text_mode_hook ()
      {
        set_abbrev_mode (1);
      }
      %
      define fortran_hook ()
      {
        set_abbrev_mode (1);
        use_abbrev_table ("Fortran");
      }
      % e cosi' via...







 4.7.  pine(1)


 Modificate la configurazione globale in /usr/lib/pine.conf, tenendo in
 considerazione almeno i campi seguenti: user-domain, smtp-server e
 nntp-server. Notate che inbox-path dipende dal vostro MTA: se
 utilizzate sendmail o postfix, sar� var/spool/mail/$USER; con Qmail,
 /home/$USER/Mailbox (ma la root user� /var/qmail/alias/Mailbox.



 4.8.  minicom(1)


 Gli utenti possono servirsi di minicom se non � stata creata una
 configurazione globale dalla root. Ricordatevi di farlo.



 4.9.  efax(1)


 Questo programma � forse il pi� comodo per una semplice gestione dei
 fax.  � necessario modificare lo script /usr/bin/fax; molto semplice,
 ma ci sono un paio di stranezze che mi hanno procurato qualche
 grattacapo:


 �  per scoprire se il modem � di classe 1, 2 o 2.0, utilizzate minicom
    o un programma simile per eseguire il comando at+fclass=?. La
    risposta potrebbe essere simile a 0,1,2; 1 e 2 sono le classi
    supportate dal modem;

 �  DIALPREFIX: in Italia (e forse anche altri Paesi) non basta mettere
    `T' o `P'. Inserite invece `ATDT' o `ATDP';

 �  INIT and RESET: queste stringhe contengono gli inizializzatori `-i'
    e `-k', necessari per efax. Se volete aggiungere un comando AT,
    mettetelo nella stringa appropriata senza `AT' ma col prefisso `-i'
    o `-k'. Per esempio, per aggiungere `ATX3' a INIT, dovrete mettere
    `-iX3'.

 Dopo questa operazione, ci sono alcuni permessi da stabilire per fare
 in modo che gli utenti non-root inviino e ricevano fax. Le directory
 /var/lock e /var/spool/fax devono essere modificabili.  Per fare
 questo, create il gruppo faxusers, aggiungetevi gli utenti e digitate:



      ~# chown root.faxusers /var/lock
      ~# mkdir /var/spool/fax
      ~# chown root.faxusers /var/spool/fax; chmod g+w /var/spool/fax






 4.10.  Ghostscript


 Questo tool essenziale pone un piccolo intralcio. A causa delle note
 regole di esportazione degli Stati Uniti, l'utility pdf2ps non
 funziona in file .pdf crittografati. Ma questo non importa: digitate
 nel browser l'indirizzo
 <http://www.ozemail.com.au/~geoffk/pdfencrypt>, scaricate il file
 pdf_sec.ps e sostituitelo al file con lo stesso nome che � disponibile
 con la distribuzione di Ghostscript.



 4.11.  TeX e programmi accessori


 Presumendo che abbiate la distribuzione teTeX, ecco un paio di
 cosette:


 �  scaricate altri pacchetti LaTeX dal sito mirror CTAN pi� vicino, ad
    esempio  <ftp://ftp.dante.de/pub/tex>. Aggiungete i file a
    /usr/share/texmf/tex/latex, quindi eseguite il comando texhash per
    fare in modo che teTeX riconosca il nuovo pacchetto;

 �  per configurare la sillabazione, modificate il file
    /usr/lib/texmf/texmf/tex/generic/config/language.dat ed eseguite i
    comandi:



      ~# texconfig init ; texconfig hyphen

 �  per personalizzare dvips, il file da modificare �
    /usr/share/texmf/dvips/config/config.ps. Attenzione, i campi
    riguardanti la risoluzione di default toccano anche xdvi; se vi
    succede che quest'ultimo cerca di ricreare i font ogni volta che lo
    fate partire, aggiungete in .Xdefault la linea



      XDvi*mfmode:





 Questo dovrebbe aiutare.

 �  per includere immagini PostScript che si trovano nelle
    sottodirectory, potete espandere il path di ricerca di TeX per
    includere le sottodirectory. Mettete questo comando in
    .bash_profile:



      export TEXINPUTS="$HOME/figures::./figures"





 che fa in modo che TeX cerchi in $HOME/figures prima delle directory
 di default e in ./figures dopo le directory di default.



 4.12.  Evitate PPProblemi!


 Si d� per scontato che il vostro kernel abbia il supporto per i
 protocolli PPP e TCP/IP, che il loopback sia abilitato e che
 disponiate gi� del pacchetto pppd correttamente installato e magari
 impostato suid root. Ovviamente, il vostro ISP deve supportare il
 protocollo PPP.

 Ci sono due modi per fare funzionare il PPP: 1) configurazione
 manuale, e 2) un programma di configurazione che faccia tutto lui.
 Qualunque opzione scegliate, dovrete avere queste informazioni a
 portata di mano:


 �  il numero di telefono del vostro ISP;

 �  l'indirizzo del server del nome, delle mail e delle news del vostro
    ISP;

 �  il dominio del vostro ISP;

 �  i vostri username e password.

 La configurazione manuale � un fastidio. Si tratta di modificare vari
 file e scrivere degli script; non � troppo difficile, ma � facile fare
 errori e i nuovi utenti ne sono spesso spaventati. Il PPP HOWTO vi
 attende. In alternativa, ci sono programmi che vi richiedono le
 informazioni elencate qui sopra e fanno il lavoro per voi.

 Gnome � KDE includono, rispettivamente, gnome-ppp e kppp che sono
 molto semplici da installare. In alternativa, suggerisco che diate
 un'occhiata a un paio di tool basati su testo semplice, wvdial ed
 eznet.  Dovete fornire loro il numero di telefono dell'ISP, il vostro
 username, la vostra password ed � fatta. Le relative home page sono
 disponibili agli indirizzi  <http://www.worldvisions.ca/wvdial> e
 <http://www.hwaci.com/sw/eznet>. Entrambi sono molto utili, ma
 preferisco l'ultimo.



 4.12.1.  Partire in fretta con eznet


 Prima di tutto, create un file /etc/resolv.conf come questo:



      nameserver w.x.y.z




 dove inserirete l'indirizzo del name server del vostro provider. Per
 creare un account con eznet, eseguite questo comando:



      #~ eznet add service=VOSTRO_ISP user=NOME password=PASSWORD phone=NUMERO




 che crea il file /var/eznet/eznet.conf della root.root con permessi
 600; modificatelo in 666 se desiderate che tutti lo possano leggere.
 Quindi provate a chiamare con eznet up VOSTRO_ISP. Se il modem non
 prende la linea, aggiungete questo comando:



      #~ eznet change VOSTRO_ISP init0=atx3




 Per finire la connessione, il comando � eznet down. Tutto qui!



 4.12.2.  Partire in fretta con wvdial


 L'installazione di wvdial � ancora pi� breve. Digitate wvdialconf
 /etc/wvdial.conf, quindi modificate il file risultante per includere
 il vostro username, la password e il numero di telefono. Provate
 wvdial e tenete le dite incrociate. Per finire la connessione,
 arrestatela con Ctrl-C.



 4.13.  POP Client


 Per ricevere la posta dal server POP3, si usa un client POP come
 fetchpop o fetchmail; quest'ultimo � il pi� avanzato, ma richiede
 l'esecuzione di sendmail. Si tratta di una specie di sovrapposizione
 nelle macchine con specifiche minime. Si trovano su
 <ftp://metalab.unc.edu/pub/Linux/system/mail/pop> .
 Per configurare questi client:


 �  fetchpop: la prima volta che lo lanciate, vi verranno chieste delle
    informazioni. Rispondete alle domande e siete a posto. fetchpop
    deve essere utilizzato con lo switch -r se il server POP3 del
    vostro ISP non implementa il comando LAST in modo corretto.

 �  fetchmail: adattate questo esempio di file .fetchmailrc:



      # $HOME/.fetchmailrc
      poll mbox.supernet.edu with protocol pop3;
        user pippo there with password _Loo%ny is pippo here





 Un utente mi ha scritto per dirmi che aggiungendo ``smtphost local�
 host'' alla seconda linea, le prestazioni sono molto migliorate.

 Dovete impostare i permessi di questo file con chmod 600 .fetchmailrc,
 altrimenti fetchmail si rifiuter� giustamente di partire. Questo esem�
 pio � molto semplice; ci sono possibilit� di configurazione infinite.
 Verificatele all'indirizzo  <http://www.ccil.org/~esr/fetchmail>.



 4.14.  Sistema X Window (XFree86)



 4.14.1.  Configurare il server X


 Andiamo, non � pi� difficile come una volta... Tutte le principali
 distribuzioni forniscono un programma di configurazione per X11 (ad
 es.  XConfigurator, sax, XF86Setup o almeno xf86config). Ormai
 l'installazione del server X � pressoch� automatica, ma certe schede
 video possono fare i capricci. In questi casi, seguo questo metodo che
 ha sempre funzionato:


 �  assicuratevi che il server per la VGA sia installato;

 �  andate su  <ftp://ftp.XFree86.org/pub/XFree86/current/binaries> ,
    cd nella sottodirectory di Linux che vi riguarda e scaricate i file
    XVERSIONEbin.tgz, XVERSIONEset.tgz e tutti i server.  Il primo di
    questi archivi contiene il SuperProbe pi� aggiornato;

 �  decomprimete XVERSIONEbin.tgz in una directory temporanea,
    spostatevi in essa ed eseguite il comando ./SuperProbe. Se la
    vostra scheda video viene riconosciuta, � molto probabile che
    riuscirete a configurarla; altrimenti, peccato.

 �  installate i server e XVERSIONEset.tgz partendo da /usr/X11R6/,
    quindi eseguite XF86Setup.

 Anche se ha sempre funzionato per me, potreste avere diversa fortuna.
 Attenzione che spesso X11 non parte perch� avete scelto impostazioni
 troppo elevate per il monitor! Iniziate con impostazioni di base, ad
 es. 800x600 e 256 colori, poi provate ad aumentarle. Attenzione:
 queste operazioni sono pericolose e potreste danneggiare il monitor!

 4.14.2.  Il tastierino numerico


 Abbiamo visto prima come fare funzionare alcuni tasti speciali. Il
 file .Xmodmap funziona bene se vogliamo usare Xjed, ma rende
 inutilizzabile il tastierino numerico. Servir� quest'altro file, che
 chiameremo .Xmodmap.num:



      ! Le definizioni si trovano in <X11/keysymdef.h>

      keycode 77  = Num_Lock
      keycode 112 = KP_Divide
      keycode 63  = KP_Multiply
      keycode 82  = KP_Subtract
      keycode 86  = KP_Add
      keycode 79  = KP_7
      keycode 80  = KP_8
      keycode 81  = KP_9
      keycode 83  = KP_4
      keycode 84  = KP_5
      keycode 85  = KP_6
      keycode 87  = KP_1
      keycode 88  = KP_2
      keycode 89  = KP_3
      keycode 90  = KP_0
      keycode 91  = KP_Decimal




 Assicuratevi che /etc/X11/XF86Config non contenga queste tre linee:



        ServerNumLock
        Xleds
        XkbDisable




 e nel caso, mettetele in un commento. Per riabilitare il tastierino,
 si d� il comando xmodmap .Xmodmap.num.



 4.14.3.  Login grafico con xdm


 Per ottenere il login in modalit� grafica, si deve modificare il file
 /etc/inittab, che dovrebbe includere una linea come questa:



      x:5:respawn:/usr/bin/X11/xdm -nodaemon




 5 � il runlevel che corrisponde alla modalit� X11 (S.u.S.E. usa 4).
 Modificate la linea che stabilisce il runlevel di default (di solito �
 2 o 3), inserendo il valore qui sopra:


      id:5:initdefault:




 Il numero di colori si specifica in /etc/X11/xdm/Xserver (AQVD):



      :0 local /usr/X11R6/bin/X :0 -bpp 16 vt07  # primo server X, colori a 65 kb
      :1 local /usr/X11R6/bin/X :1 -bpp 32 vt08  # secondo server X, true colour




 Se avete gi� il file .xinitrc, copiatelo nel file .xsession e rendete
 eseguibile quest'ultimo con chmod +x .xsession. Ora eseguite il
 comando telinit 5 e siete a posto!



 4.14.4.  Window Manager


 Una volta che il server X funziona, ci sono infinite possibilit� di
 configurazione; dipende dal window manager che volete usare, e ce ne
 sono decine tra cui scegliere. Quasi sempre, si tratta di modificare
 uno o pi� file ASCII nella vostra home directory; in altri casi non si
 deve modificare nulla e si utilizzano appositi programmini, o
 addirittura un apposito menu.

 Alcuni esempi:


 �  fvwm e derivati: copiate il file /etc/X11/fvwm/system.fvwmrc (o
    altro) nella vostra home col nome adeguato, leggetelo e provate.
    Potreste perdere molto tempo prima di ottenere quello che
    desiderate;

 �  WindowMaker: possiede diversi file di configurazione che risiedono
    in $HOME/GNUstep, oltre a un ottimo programmino di configurazione;

 �  KDE e Gnome: qui non � necessario modificare nulla, e si configura
    il tutto da menu.

 In breve: se non vi dispiace modificare dei file di configurazione,
 scegliete icewm, fvwm*, blackbox etc; se invece non � di vostro
 gradimento, la scelta � limitata attualmente a KDE, Gnome, WindowMaker
 e XFCE.

 � importante avere un buon file .xinitrc. Un esempio:















 #!/bin/sh
 # $HOME/.xinitrc

 usermodmap=$HOME/.Xmodmap
 xmodmap $usermodmap

 xset s noblank  # disattiva lo screen saver
 xset s 300 2    # screen saver che parte dopo 5 minuti
 xset m 10 5     # imposta l'accelerazione del mouse

 rxvt -cr green -ls -bg black -fg white -fn 7x14 \
   -geometry 80x30+57+0 &

 if [ "$1" = "" ] ; then  # default
   WINMGR=wmaker
 else
   WINMGR=$1
 fi

 $WINMGR




 Per quanto non mi sembra che sia strettamente necessario, rendetelo
 eseguibile con chmod +x .xinitrc.

 Questo .xinitrc consente di scegliere il window manager: provate


      $ startx startkde # o altro




 (non funziona in alcune versioni di S.u.S.E.).



 4.14.5.  Impostazioni di default per le applicazioni X11


 Scoprite dove si trova la directory app-defaults (dovrebbe essere in
 /usr/X11R6/lib/X11/app-defaults). Numerose applicazioni conservano qui
 un file di configurazione.



 4.15.  Configurazione per gli utenti


 Quando avete finito di configurare i file dot, copiateli nella
 directory /etc/skel come gi� detto alla Sezione ``Configurazione
 software''.



 4.16.  Creazione di .rpms


 rpm � un metodo talmente utile per il controllo dei pacchetti che sono
 riluttante a installare gli archivi .tar.gz, ma solo in pochi casi
 speciali (ad esempio, per la sicurezza). Ogni volta che installate un
 tarball, considerate di trasformarlo in un archivio .rpm, quindi
 reinstallatelo; fate riferimento al RPM HOWTO. Inoltre, se utilizzate
 le versioni di gcc aggiornate, quali egcs o pgcc, pu� essere
 consigliabile immettere quanto segue in /etc/rpmrc:



      optflags: i386 -O2 -mpentium






 4.17.  Fare l'upgrade


 Se fate l'upgrade, oltre ai soliti backup dovrete ricordarvi di
 salvare alcuni file addizionali. Alcuni potrebbero essere
 /etc/X11/XF86Config, /usr/bin/fax, tutto quello che avete messo in
 /usr/local, la configurazione del kernel, l'intero /etc e la posta in
 /var/spool/mail.

 � quindi il momento di fare l'upgrade (in rari casi, downgrade!) delle
 applicazioni della distribuzione e di aggiungere ulteriori pacchetti.
 Mantenete un elenco di questi ultimi.



 5.  Software per la configurazione


 Diversi programmi rendono Linux pi� semplice da configurare. Alcuni
 stanno diventando pi� o meno standard: Red Hat, Caldera e altre
 distribuzioni forniscono utility come printtool, netcfg, usertool,
 ecc. S.u.S.E. fornisce un elaborato programma di configurazione del
 sistema chiamato YAST. Altri programmi utili sono:


 �  The Dotfile Generator: buona applicazione per X11 con moduli per
    configurare emacs, bash, procmail e altri. La sua home page �
    all'indirizzo  <http://www.imada.ou.dk/~blackie/dotfile> ;

 �  Linuxconf: il massimo dei programmi di configurazione. Pu� fare
    tutto, sia in console che sotto X11. Andate subito a vederlo
    all'indirizzo
      <http://www.solucorp.qc.ca/linuxconf> .



 6.  Fine




 6.1.  Copyright (in inglese)


 Unless otherwise stated, Linux HOWTO documents are copyrighted by
 their respective authors. Linux HOWTO documents may be reproduced and
 distributed in whole or in part, in any medium physical or electronic,
 as long as this copyright notice is retained on all copies. Commercial
 redistribution is allowed and encouraged; however, the author would
 like to be notified of any such distributions.

 All translations, derivative works, or aggregate works incorporating
 any Linux HOWTO documents must be covered under this copyright notice.
 That is, you may not produce a derivative work from a HOWTO and impose
 additional restrictions on its distribution. Exceptions to these rules
 may be granted under certain conditions; please contact the Linux
 HOWTO coordinator at the address given below.

 In short, we wish to promote dissemination of this information through
 as many channels as possible. However, we do wish to retain copyright
 on the HOWTO documents, and would like to be notified of any plans to
 redistribute the HOWTOs.

 If you have questions, please contact Tim Bynum, the Linux HOWTO
 coordinator, at [email protected] via email.



 6.2.  Commenti e critiche


 Forse pi� ancora di altri HOWTO, questo ha bisogno dei vostri
 suggerimenti, critiche e contributi. Tutto � benvenuto, anzi
 necessario. Se pensate che manchi qualcosa o che ci siano errori,
 mandatemi un'email. Se avete una distribuzione diversa da
 Redhat/Mandrake e i vostri file di configurazione sono diversi dai
 miei o collocati in altre directory, comunicatemelo, e io aggiunger� i
 vostri suggerimenti. Il mio scopo � quello di rendere il lavoro con
 Linux il pi� semplice possibile.

 Linux ha un numero enorme di programmi, quindi non posso includere
 suggerimenti per ciascuno. Cercate di mantenere i vostri suggerimenti
 nell'ambito dei programmi ``pi� ragionevoli''; lascio
 l'interpretazione di questo concetto al vostro buon senso.



 6.3.  Liberatoria


 ``Configuration HOWTO'' � stato scritto da Guido Gonzato,
 [email protected].  I miei sentiti ringraziamenti vanno a tutti
 gli altri autori di HOWTO e di man page, il cui lavoro ho saccheggiato
 senza vergogna; e a tutte le persone che mi hanno inviato
 suggerimenti.

 Questo lavoro � distribuito senza garanzie. Mi sono sforzato di
 scriverlo con la massima accuratezza, ma usate le informazioni qui
 contenute a vostro rischio. Non sar� responsabile in alcun caso di
 danni provocati da questo documento.

 Spero che troviate utile questo mio lavoro. Ogni volta che installo
 una macchina Linux, io lo trovo utilissimo...

 Ciao,

 Guido   =8-)