11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

# blocchi=$1<br />

# else<br />

# blocchi=$BLOCCHIMIN<br />

# fi<br />

# --------------------------------------------------<br />

Capitolo 28. Zero e Null<br />

if [ "$blocchi" -lt $BLOCCHIMIN ]<br />

then<br />

blocchi=$BLOCCHIMIN # La <strong>di</strong>mensione deve essere <strong>di</strong> almeno 40 blocchi.<br />

fi<br />

echo "Creazione <strong>di</strong> un file <strong>di</strong> swap della <strong>di</strong>mensione <strong>di</strong> $bloccchi blocchi (KB)."<br />

dd if=/dev/zero of=$FILE bs=$DIMENSIONEBLOCCO count=$blocchi # Pone il file a<br />

#+ zero.<br />

mkswap $FILE $blocchi # Lo designa come file <strong>di</strong> swap.<br />

swapon $FILE # Attiva il file <strong>di</strong> swap.<br />

echo "Il file <strong>di</strong> swap è stato creato ed attivato."<br />

exit $SUCCESSO<br />

Un’altra applicazione <strong>di</strong> /dev/zero è quella <strong>di</strong> “svuotare” un file della <strong>di</strong>mensione in<strong>di</strong>cata da<br />

usare per uno scopo specifico, come montare un filesystem su un <strong>di</strong>spositivo <strong>di</strong> loopback (ve<strong>di</strong><br />

Esempio 13-8) o per la cancellazione <strong>di</strong> “sicurezza” <strong>di</strong> un file (ve<strong>di</strong> Esempio 12-55).<br />

Esempio 28-3. Creare un ram<strong>di</strong>sk<br />

#!/bin/bash<br />

# ram<strong>di</strong>sk.sh<br />

# Un "ram<strong>di</strong>sk" è un segmento della memoria RAM<br />

#+ che si comporta come se fosse un filesystem.<br />

# Presenta il vantaggio <strong>di</strong> un accesso velocissimo (tempo <strong>di</strong> lettura/scrittura)<br />

# Svantaggi: volatilità, per<strong>di</strong>ta <strong>di</strong> dati al riavvio o in caso <strong>di</strong> mancanza <strong>di</strong><br />

#+ corrente elettrica, meno RAM <strong>di</strong>sponibile al sistema.<br />

#<br />

# Cos’ha <strong>di</strong> buono un ram<strong>di</strong>sk?<br />

# Tenere una serie elevata <strong>di</strong> dati, come una tabella o un <strong>di</strong>zionario,<br />

#+ su un ram<strong>di</strong>sk ne velocizza la consultazione, perché l’accesso<br />

#+ alla memoria è molto più veloce <strong>di</strong> un accesso al <strong>di</strong>sco.<br />

E_NON_ROOT=70 # Deve essere eseguito da root.<br />

NOME_ROOT=root<br />

MOUNTPT=/mnt/ram<strong>di</strong>sk<br />

DIMENSIONE=2000 # 2K blocchi (mo<strong>di</strong>ficare in base alle esigenze)<br />

DIMENSIONEBLOCCO=1024 # 1K (1024 byte)<br />

DISPOSITIVO=/dev/ram0 # Primo <strong>di</strong>spositivo ram<br />

513

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!