Come riutilizzare hardware obsoleto con GNU/Linux e/o con altri sistemi liberi


In seguito alla costante diminuzione dei prezzi dell'hardware, a partire dalla seconda metà degli anni '90 si è venuta ad accumulare una mole impressionante di computer vecchi ed inutilizzati. Lo scopo di questo articolo è offrire ai lettori alcune informazioni utili per riutilizzare questo hardware obsoleto con GNU/Linux o con altri sistemi operativi liberi.

In particolare verranno analizzate l'installazione e la configurazione del sistema operativo, accompagnate da un breve excursus sulle varie possibilità di utilizzo della macchina appena recuperata


La scelta del sistema operativo

Se avete una macchina di classe 80286 o inferiore (non verranno trattate le architetture non x86), la scelta si riduce a tre sistemi operativi : ELKS, Minix e FreeDOS.

ELKS è l'acronimo di Embeddable Linux Kernel Subset, vale a dire una versione ridotta di Linux in grado di girare su sistemi a 16 bit. Il progetto ha raggiunto un buon grado di sviluppo e la sua home page è http://elks.sourceforge.net

Minix nacque dalla mente di Andrew S. Tanenbaum come una versione semplificata di Unix per uso didattico. Attualmente è giunto alla versione 2.0 e la sua home page è : http://www.cs.vu.nl/~ast/minix.html.

FreeDOS è un'implementazione libera di MS-DOS ed è in uno stato avanzato di sviluppo. È compatibile con la maggior parte delle applicazioni per il DOS di Microsoft e la sua home page è http://www.freedos.org

Utilizzando una macchina a 32 bit di classe 80386 o superiore la scelta ideale diventa GNU/Linux.

Se le risorse disponibili sono scarse (< 300 MB di disco, < 16 MB di RAM), dovrete rivolgervi a mini-distribuzioni come muLinux (http://mulinux.sunsite.dk) o SmallLinux (http://www.superant.com/smalllinux/), due prodotti tecnicamente molto validi.

Se invece non avete problemi con le risorse di sistema (Es. 486 con 16 MB di RAM e 500 MB di disco) potete utilizzare distribuzioni come Debian o Slackware. Nelle prove utilizzeremo Debian per via della comodità di gestione del sistema dei pacchetti tramite APT. Le procedure descritte sono applicabili a qualsiasi distribuzione.


Il target di utilizzo della macchina

Naturalmente, il target di utilizzo della macchina che andremo a configurare varia in base alle risorse che essa ci offre.

Per i processori di classe 80286 o inferiore, si potrà ottenere un sistema Unix minimale, in grado di offrire al massimo server HTTP (ELKS, Minix), FTP (Minix) o POP3/STMP (Minix). Sarà possibile collegare la macchina in rete attraverso i protocolli SLIP (ELKS, Minix), PLIP o Ethernet (Minix).

Per i processori di classe i386 ed i486 con pochissime risorse, si può realizzare un router/firewall utilizzando la mini-distribuzione Linux Router Project (http://www.linuxrouter.org), progetto purtroppo dichiarato morto il 22 Giugno 2003. In alternativa è possibile utilizzare una mini-distribuzione (vedi sezione precedente) ed avere un sistema Linux di base per lavorare.

I processori i486 con almeno 16 MB di RAM possono essere utilizzati con XFree86 per realizzare una postazione con funzioni di base per Internet, Office Automation e Networking locale.

Su macchine un po' più recenti (processori di classe Pentium o superiori) è possibile realizzare delle piccole stazioni multimediali in grado di riprodurre flussi audio/video anche su dispositivi esterni come televisioni.

In ogni caso in questo articolo analizzeremo solamente l'installazione e la configurazione di un sistema di base, con requisti minimi compatibili con quelli elencati nella tabella 1,poichè trattare ogni ambito di utilizzo descritto poc'anzi richiederebbe molto spazio e sarebbe inutile vista la grande quantità di documentazione disponibile in rete.


Processore

486 o superiore (Pentium consigliato)

Memoria RAM

16 MB (32 consigliati)

Disco rigido

IDE o SCSI da 1 GB

Scheda video

VGA (SVGA consigliata) compatibile

Lettori CD-ROM e Floppy

Generici

Tabella 1 : Requisiti minimi di sistema


Proseguiamo ora con l'installazione vera e propria del sistema operativo.


Installazione di Debian GNU/Linux

Nelle prove utilizzeremo i primi due cd-rom di Debian 3.0 Woody : se non li avete potete scaricarli da http://www.debian.org (figura 1). Poiché molti computer vecchi non supportano il boot da cd-rom, dovrete avviare il sistema con un floppy di boot e lanciare lo script AUTOBOOT.BAT dalla cartella DOSUTILS del primo cd-rom.


Home page di Debian GNU/Linux

Figura 1 : Home page di Debian GNU/Linux


Se non avete dimestichezza con fdisk o cfdisk, potete usare l'ottimo GNU Parted (http://www.gnu.org/software/parted/parted.html) oppure Ranish Partition Manager (http://www.ranish.com), che pero non è software libero. Per quanto riguarda la dimensione delle partizioni, vi consiglio di allocare almeno 64 MB (128 è il quantitativo ottimale) in una partizione Linux Swap, e lo spazio rimanente in una Linux ext2.

Ritornando all'installazione, con lo script AUTOBOOT.BAT userete un kernel 2.2 . Se avete particolari esigenze, potrete compilare un nuovo kernel oppure creare un boot disk con il kernel 2.4 di Debian (bf24). Per la maggior parte delle operazioni potete leggere le istruzioni a video, quindi descriverò solo sommariamente i passi da seguire.

Una volta avviata la procedura d'installazione dovrete selezionare la lingua (figura 2), configurare la tastiera e impostare le partizioni di swap e di root. Successivamente dovrete selezionare i moduli del kernel da caricare automaticamente all'avvio : generalmente potete utilizzare la configurazione di default. Poi bisogna configurare alcuni parametri di rete quali hostname ed indirizzo IP (se è presente una scheda ethernet). Verrà installato un sistema di base e vi verrà chiesto di renderlo avviabile tramite il disco fisso o un floppy : scegliete quest'ultima soluzione solo in sistemi dual-boot, per poter configurare successivamente il boot loader di sistema.


Scelta della lingua per l'installazione

Figura 2 : Scelta della lingua per l'installazione


Una volta riavviato il computer si avvierà il tool di Debian per la seconda fase dell'installazione : qui dovrete selezionare la vostra Time Zone, impostare una password per root e creare eventualmente un utente normale; successivamente dovrete effettuare uno scan dei cd di installazione. Ricordatevi di rispondere no alle due domande relative all'installazione via PPP e al download degli aggiornamenti di sicurezza. Ora dovrete selezionare alcuni dei gruppi di pacchetti presenti in taksel (figura 3) : personalmente consiglio di installare solo X Window System, Dialup System ed eventualmente gli ambienti per C and C++, Python e Tcl/Tk.


Scelta dei pacchetti da installare

Figura 3 : Scelta dei pacchetti da installare


La scelta dovrà basarsi principalmente sulle vostre necessità e sullo spazio disponibile sul disco.

Ricordatevi di rispondere negativamente alla domanda relativa a dselect. Ora inizia la fase di installazione vera e propria. Vi verranno poste alcune semplici domande : vi consiglio di generare it_IT e it_IT@euro per i locales, di disabilitare SSH all'avvio e di saltare la configurazione di X che verrà eseguita in un secondo momento.

Durante l'installazione vi verrà chiesto ogni tanto di sostituire il cd-rom nel lettore. Al termine del processo vi si presenterà il prompt per il login : accedete al sistema come utente root.


Configurazione di Debian GNU/Linux

La distribuzione Debian ha una configurazione di default non perfetta per i nostri scopi, quindi cominciamo a smanettare sul nostro nuovo sistema.

Per prima cosa occorre personalizzare la procedura di avvio : Debian in tutti i runlevel carica molti servizi inutili, quindi ne elimineremo alcuni. Cominciamo dal runlevel 2. Entrate nella cartella /etc/rc2.d/ e digitate :

# rm S19nfs-common S20diald S20exim S20irda S20isdnutils S20lpd S20pcmcia S20wwwoffle S20xfs S99fetchmail

S99xdm S99gdm

La voce relativa a gdm può anche non essere presente.

Rieseguite lo stesso comando per le cartelle /etc/rc3.d/ e /etc/rc4.d/; per quanto riguarda il runlevel 5, entrate in /etc/rc5.d/ e digitate :

# rm S19nfs-common S20diald S20exim S20irda S20isdnutils S20lpd S20pcmcia S20wwwoffle S99fetchmail

In questo modo il runlevel 5 sarà l'unico ad eseguire automaticamente X.

Ora bisognerà configurare il server grafico : avviate xf86config (figura 4) e seguite le istruzioni a schermo.


Configurazione di XFree86 con xf86config

Figura 4 : Configurazione di XFree86 con xf86config


Successivamente dovranno essere installati alcuni pacchetti non previsti di default : basta digitare “apt-get install” seguito dai loro nomi (tabella 2).


Pacchetto

Descrizione

abiword

Word processor completo e leggero

abiword-doc

Documentazione per AbiWord

abiword-plugins

Plugins per AbiWord

afterstep

Window Manager veloce e funzionale

alien

Strumento per la gestione dei pacchetti

ash

Shell adatta per sistemi con poca RAM

aumix

Tool per gestire il mixer della scheda audio

blackbox

Window Manager spartano ma veloce

bzip2

Utility per la gestione dei file compressi .bz2

esound

Server sonoro di Enlightenment

fvwm

Window Manager essenziale e veloce

fvwm95

Window Manager simile a Windows 95

gimp

Il programma di grafica per eccellenza

gnumeric

Foglio di calcolo in stile Microsoft Excel

icewm

Window Manager molto personalizzabile

libgtk1.2

Librerie GTK+

libqt2

Librerie QT

links

Browser testuale

mc

File Manager in stile Norton Commander

mpg321

Strumento per la riproduzione di files MP3

timidity

Riproduttore di file MIDI

tin

News reader

unzip

Utility per decomprimere gli archivi ZIP

wmaker

Window Manager completo e leggero

wmakerconf

Tool di configurazione per WindowMaker

wmcdplay

Cd Player per Window Maker

zip

Utility per la creazione di file compressi ZIP

Tabella 2 : Pacchetti da installare


Ci sono ancora tanti piccoli accorgimenti per velocizzare il sistema : qui tratterò solo quello relativo alle VCs. Potete trovarne altri leggendo il 4mb Laptops HOWTO e lo Small Memory mini HOWTO che ho tradotto un po' di tempo fa e che sono disponibili all'indirizzo http://members.xoom.it/pctips2/HOWTO/italian/

Le VCs (Virtual Consoles) sono le classiche console che siamo abituati ad usare con Linux in modalità testuale. Poiché generalmente sono 6 ed un utente medio ne usa al massimo 3, esiste un modo per limitarne il numero e liberare così diversa memoria. Aprite il file /etc/inittab e posizionatevi su questo paragrafo :

# Run gettys in standard runlevels

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

Per ridurre il numero di VCs basta mettere all'inizio di ogni riga un # (in gergo commentare), partendo dal basso verso l'altro. Ogni riga commentata equivale ad una VC in meno. Salvate il file e riavviate il sistema.

Dopo un po' vi si ripresenterà la schermata di login : inserite i vostri nome utente e password e inizate a divertirvi !!!

Per entrare in modalità grafica bisogna digitare da root "init 5" o semplicemente "startx". Vi consiglio di usare un window manager leggero come WindowMaker o BlackBox. Per sceglierne uno come predefinito basta creare un file chiamato ".xinitrc" nella vostra home directory contenente il comando per lanciare il vostro window manager (Es. "wmaker").

Spero che questo articolo vi sia piaciuto. Se avete dubbi o suggerimenti, mandatemi una e-mail a pctips@hardwaretips.com

pctips


Copyright (c) 2003 pctips <pctips@hardwaretips.com>

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".