[About] [Copertina] |
Articoli
La Slackware, gloriosa e benemerita distribuzione, è famosa per installare
un sistema completo e precompilato, ma poi per poter aggiungere un pezzo,
per upgradare un pacchetto, ti devi procurare la confezione sorgente e,
dopo una sapiente decantazione a suon di configure
, distillare con amore
(e pazienza) nell'alambicco del make
.
Molto divertente, stimolante ed istruttivo. Ma, quando qualcosa va male,
se lo spiritello dispettoso ci mette lo zampino, allora diventa un inferno.
Bisogna leggersi tonnellate di documentazione scritta frettolosamente nella
convinzione che tanto nessuno l'avrebbe letta, scrutare entro script
scritti da smaliziati hacker
forgiati ad ogni asprezza da lunga pratica
del forth
, coltivando religiosamente ogni carattere ASCII
per
coglierne ogni più recondito aspetto.
Così, tanto per divertirmi, decido di compilarmi non uno, ma ben due kernel, crepi l'avarizia! Un 1.2.13, nella speranza che mi dia quella stabilità che mi sembra di avere smarrito con l'inizio di questa avventura, e l'1.3.20, non perchè sia meglio, ma perchè questo mi propone lo Slackware.
Creiamo /etc/lilo.conf
, e ci mettiamo tutti i kernel possibili
che ho a disposizione: il vecchio Slack2, sia 1.2.8 che 1.2.13, ma entrambi
a.out
, lo Slack3, sia 1.2.13 (ELF
) che 1.3.20,
il Picasso, anch'esso 1.3.20, lasciando spazio per il Debian a cui resta
tuttora riservata la hdb3
.
/etc/fstab
. Dovrebbe essere creato automaticamente dal programma
di installazione, e lo è, ma ... manca sempre qualcosa, inoltre, chissà
perchè, le colonne vengono separate da un numero fisso di spazi (invece
che Tab
), creando quell'effetto a fisarmonica che, sinceramente, sembra
proprio fatto apposta per urtare i nervi ad un maniaco paranoico come me.
Così mi sono abituato a riscrivere sempre tutto il file (in realtà non faccio altro che copiarlo da una partizione all'altra, modificandolo di volta in volta per la bisogna).
# device: mount: fs-type: options: dump: fsck:
# _______ ______ _______ ________ ____ ____
#
/dev/hdb5 none swap sw 0 0
/dev/hdb1 / ext2 defaults 1 1
/dev/hdb6 /usr ext2 defaults 1 2
/dev/hdb7 /usr ext2 defaults 1 2
/dev/hdb8 /home ext2 defaults 1 2
/proc /proc proc defaults 0 0
#
/dev/hdc /cdrom iso9660 user,ro,noauto 0 0
/dev/fd0 /a msdos user,noauto 0 0
/dev/fd0 /floppy ext2 user,noauto 0 0
#
# altre installazioni
#
# Slackware 2 1.2.8 1.2.13 a.out
/dev/hda1 /slack2 ext2 defaults 0 2
#
# Slackware 3 1.2.13 1.3.20 ELF
#/dev/hdb1 /slack3 ext2 defaults 0 2
#/dev/hdb6 /slack3/usr ext2 defaults 0 2
#/dev/hdb7 /slack3/var ext2 defaults 0 2
#/dev/hdb8 /slack3/home ext2 defaults 0 2
#
# Picasso (Red Hat 3.0.3) 1.3.20 ELF
/dev/hdb2 /picasso ext2 defaults 0 2
#/dev/hdb8 /picasso/home ext2 defaults 0 2
/dev/hdb9 /picasso/usr ext2 defaults 0 2
/dev/hdb10 /picasso/opt ext2 defaults 0 2
#
# Debian 0.93 1.2.13 ELF
#/dev/hdb3 /debian ext2 defaults 0 2
#
Non sembra tutto più ordinato e metodico?
Ovviamente tocca anche ricordarsi di creare i mount point
per
tutte queste partizioni (/slack2 /slack3 /picasso /debian /a
/fd0
, invece /cdrom
c'è già, bontà loro).
Ora tocca alle seriali. Ho quattro seriali, due parallele e tre o
quattro IRQ
. Oh, come mi piacerebbe mettere le mani sul
kernel 1.4 (siamo già all'1.99, quindi toccherà al 2.0). Dicono
abbia supporto per condivider gli IRQ
tra seriali!
Per l'intanto accontentiamoci di dire in /etc/rc.d/rc.serial
che cua2
usa l'irq5
, così il modem può funzionare.
Bisogna anche ricordarsi di far partire questo /etc/rc.d/rc.serial
,
scommentando adeguatamente in /etc/rc.d/rc.S
. Già che ci siamo
qui si deve anche aggiungere il flag -u
al comando
/sbin/clock -s
, per consentire all'orologio del kernel di leggere
l'ora dell'hardware usandola come Universal Time, che altro
non è che il buon vecchio Greenwich. Il settaggio di default,
orrore!, presuppone che voi usiate MS-Dos con l'orologio locale.
/etc/profile
è il posto dove far confluire tutte le
personalizzazioni dell'ambiente della shell che voglio trascinarmi
dietro tra i vari utenti che uso correntemente
(sono uno dalle multiple personalità, io).
Oltre al solito diluvio di variabili volute da questo o quel programma,
io sono solito settare con cura la variabile PAGER
per accedere
di default a less
invece che a more
, LESSCHARSET
posta
al solito latin1
, ma soprattutto mi costruisco una spaventosa
PS1="\u@\h:\w [\d \t]\n\$SHLVL$ "
che mi consente di sfoggiare un prompt cervellotico a due righe come
fabrizio@pongo:~/work/pluto-journal/sgml [Fri Jun 21 00:45:50]
1$ _
dove si incontrano (nell'ordine) l'utente, l'host, la working-dir,
data e ora, il numero di shell nidificate e il prompt vero e proprio
(# in caso di superuser). Ora che ci penso, manca il nome del terminale.
Bisognerà rimediare.
Le mie funzioni preferite:
function h() { history | less +G ; }
export -f h
function l() { ls -CoAF $* | less -E ; }
export -f l
function ll() { ls -loAF $* | less -E ; }
export -f ll
function pg() { less -E $*; }
export -f pg
Preferisco usare funzioni piuttosto che alias in quanto le funzioni
si possono esportare (dalla ksh
in poi), mentre gli alias no
(oddio, saranno 5 anni che non provo, ma non credo che la cosa
sia cambiata); questo è molto comodo quando da shell si lancia
un'altra istanza della shell, magari su
.
Passiamo ora a X
. Anche se c'è un programmino apposta, io preferisco
editarmi a manina il file /etc/XF86Config
. Questo di come
configurarsi il monitor e la scheda video è un discorso lungo, che
andrebbe approfondito. Meglio rimandare. State sintonizzati!
Idem con patate, per gli altri due file canonici,
/var/lib/X11/fvwm/system.fvwmrc
ed il personalissimo
~/.xinitrc
.
Non pensate che Slackware 3 sia esente da errori. Per esempio
/usr/bin/sleep
viene usato in fase di spegnimento e/o
reboot anche dopo che il file system è stato smontato.
Con quali risultati potete immaginarlo. O eliminano lo sleep
dall'rc
oppure spostano sleep
in /bin
.
In attesa di un intervento di Patrick (o del fsstnd che se ne è
subito interessato), mi sono copiato il file.
Un altro piccolo problema viene dai messaggi visualizzati durante
il reboot quando questo è esguito mediante la solita tripletta
CtrlAltDel
su una console fuori login. Dovete sapere che
la mappatura del \n
in LF-CR viene eseguita modificando
il settaggio (disciplina) della linea seriale dopo il login
.
Pertanto ogni messaggio inviato ad un terminale non loggato va condito
con la solita coppia \n\r
come in Dos.
Questo non avviene nelle echo
dello script /etc/rc.d/rc.6
,
per cui occorre aggiungere \r
alla fine di ogni stringa.
E poichè la echo
builtin nella bash non accetta di default
questo carattere, occorre anche aggiungere l'opzione -e
.
[About] [Copertina] |