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-)