  Configuration HOWTO
  Di Guido Gonzato, guido@ibogeo.df.unibo.it
  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.
  ______________________________________________________________________

  Indice Generale



  1. Introduzione
     1.1 Perch questo HOWTO
     1.2 Cosa configureremo

  2. Setup generale del sistema
     2.1 Alcune informazioni sulla sicurezza
     2.2 Il logbook
     2.3 Tastiera
     2.4 Floppy di boot e di ripristino
     2.5 Kernel
     2.6 Blocco di sendmail
     2.7 Prestazioni del disco fisso
     2.8 Drive Zip per porta parallela
     2.9 Driver di dispositivi
     2.10 Scheda audio
     2.11 Messaggi di login
     2.12 Hostname
     2.13 Mouse
     2.14 Punti di mount
     2.15 Lilo(8) e LOADLIN.EXE
        2.15.1 Trucco per la sicurezza
     2.16 Mail Capability
     2.17 Configurazione della stampante
     2.18 SVGATextMode

  3. Compiti di amministrazione comuni
     3.1 Configurazione di rete
     3.2 Condivisione di Internet
     3.3 Limitazione dell'accesso di rete
     3.4 Esportazioni NFS
     3.5 Server del nome

  4. Configurazione software
     4.1 bash(1)
     4.2 ls(1)
     4.3 less(1)
     4.4 emacs(1)
     4.5 joe(1)
     4.6 jed(1)
     4.7 pine(1)
     4.8 minicom(1)
     4.9 efax(1)
     4.10 Ghostscript
     4.11 TeX e programmi accessori
     4.12 Evitate PPProblemi!
        4.12.1 Partire in fretta con eznet
        4.12.2 Partire in fretta con wvdial
     4.13 POP Client
     4.14 Sistema X Window (XFree86)
        4.14.1 Configurare il server X
        4.14.2 Il tastierino numerico
        4.14.3 Login grafico con xdm
        4.14.4 Window Manager
        4.14.5 Impostazioni di default per le applicazioni X11
     4.15 Configurazione per gli utenti
     4.16 Creazione di .rpms
     4.17 Fare l'upgrade

  5. Software per la configurazione
  6. Fine
     6.1 Copyright (in inglese)
     6.2 Commenti e critiche
     6.3 Liberatoria



  ______________________________________________________________________

  11..  IInnttrroodduuzziioonnee



  11..11..  PPeerrcchh qquueessttoo HHOOWWTTOO


  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>. _V_i _p_r_e_g_o, 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1..22..  CCoossaa ccoonnffiigguurreerreemmoo


  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2..  SSeettuupp ggeenneerraallee ddeell ssiisstteemmaa



  22..11..  AAllccuunnee iinnffoorrmmaazziioonnii ssuullllaa ssiiccuurreezzzzaa


  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..22..  IIll llooggbbooookk


  Per ottenere un'installazione corretta,  _e_s_s_e_n_z_i_a_l_e 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 _t_u_t_t_i 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2..33..  TTaassttiieerraa


  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2..44..  FFllooppppyy ddii bboooott ee ddii rriipprriissttiinnoo


  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2..55..  KKeerrnneell


  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, _n_o_n 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2..66..  BBllooccccoo ddii sseennddmmaaiill


  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2..77..  PPrreessttaazziioonnii ddeell ddiissccoo ffiissssoo


  Le prestazioni del vostro disco fisso possono essere notevolmente
  migliorate con l'uso _a_c_c_o_r_t_o 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, _l_e_g_g_e_t_e _l_a _m_a_n _p_a_g_e _c_o_n _a_t_t_e_n_z_i_o_n_e 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2..88..  DDrriivvee ZZiipp ppeerr ppoorrttaa ppaarraalllleellaa


  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2..99..  DDrriivveerr ddii ddiissppoossiittiivvii


  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2..1100..  SScchheeddaa aauuddiioo


  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2..1111..  MMeessssaaggggii ddii llooggiinn


  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2..1122..  HHoossttnnaammee


  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2..1133..  MMoouussee


  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2..1144..  PPuunnttii ddii mmoouunntt


   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2..1155..  LLiilloo((88)) ee LLOOAADDLLIINN..EEXXEE


  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2..1155..11..  TTrruuccccoo ppeerr llaa ssiiccuurreezzzzaa


  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2..1166..  MMaaiill CCaappaabbiilliittyy


  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2..1177..  CCoonnffiigguurraazziioonnee ddeellllaa ssttaammppaannttee


  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2..1188..  SSVVGGAATTeexxttMMooddee



  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3..  CCoommppiittii ddii aammmmiinniissttrraazziioonnee ccoommuunnii


  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3..11..  CCoonnffiigguurraazziioonnee ddii rreettee


  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3..22..  CCoonnddiivviissiioonnee ddii IInntteerrnneett


  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..33..  LLiimmiittaazziioonnee ddeellll''aacccceessssoo ddii rreettee


  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3..44..  EEssppoorrttaazziioonnii NNFFSS


   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3..55..  SSeerrvveerr ddeell nnoommee


  Non ancora disponibile.



  44..  CCoonnffiigguurraazziioonnee ssooffttwwaarree


  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4..11..  bbaasshh((1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4..22..  llss((1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4..33..  lleessss((1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..44..  eemmaaccss((1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4..55..  jjooee((1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4..66..  jjeedd((1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4..77..  ppiinnee((1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4..88..  mmiinniiccoomm((11))


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



  44..99..  eeffaaxx((1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4..1100..  GGhhoossttssccrriipptt


  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4..1111..  TTeeXX ee pprrooggrraammmmii aacccceessssoorrii


  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4..1122..  EEvviittaattee PPPPPPrroobblleemmii!!


  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4..1122..11..  PPaarrttiirree iinn ffrreettttaa ccoonn eezznneett


  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4..1122..22..  PPaarrttiirree iinn ffrreettttaa ccoonn wwvvddiiaall


  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4..1133..  PPOOPP CClliieenntt


  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4..1144..  SSiisstteemmaa XX WWiinnddooww ((XXFFrreeee8866))



  44..1144..11..  CCoonnffiigguurraarree iill sseerrvveerr X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. _A_t_t_e_n_z_i_o_n_e:
  queste operazioni sono pericolose e potreste danneggiare il monitor!

  44..1144..22..  IIll ttaassttiieerriinnoo nnuummeerriiccoo


  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4..1144..33..  LLooggiinn ggrraaffiiccoo ccoonn xxddmm


  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4..1144..44..  WWiinnddooww MMaannaaggeerr


  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:


    ffvvwwmm 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;

    WWiinnddoowwMMaakkeerr: possiede diversi file di configurazione che risiedono
     in $HOME/GNUstep, oltre a un ottimo programmino di configurazione;

    KKDDEE e GGnnoommee: 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4..1144..55..  IImmppoossttaazziioonnii ddii ddeeffaauulltt ppeerr llee aapppplliiccaazziioonnii XX1111


  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4..1155..  CCoonnffiigguurraazziioonnee ppeerr ggllii uutteennttii


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



  44..1166..  CCrreeaazziioonnee ddii ..rrppmmss


  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4..1177..  FFaarree ll''uuppggrraaddee


  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5..  SSooffttwwaarree ppeerr llaa ccoonnffiigguurraazziioonnee


  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:


    TThhee DDoottffiillee GGeenneerraattoorr: 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> ;

    LLiinnuuxxccoonnff: 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6..  FFiinnee



  66..11..  CCooppyyrriigghhtt ((iinn iinngglleessee))


  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 tjbynum@sunsite.unc.edu via email.



  66..22..  CCoommmmeennttii ee ccrriittiicchhee


  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6..33..  LLiibbeerraattoorriiaa


  ``Configuration HOWTO''  stato scritto da Guido Gonzato,
  guido@ibogeo.df.unibo.it.  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-)



