Capitolo 7. Home sweet /home
7.1. Corretta gestione della casa in generale
7.1.1. Introduzione
Come abbiamo menzionato in precedenza, è abbastanza semplice mettere a soqquadro il sistema.
Non ci stancheremo mai abbastanza nell'insistere sull'importanza di mantenerlo in ordine. Se
imparerete ciò sin dall'inizio, la cosa diventerà una sana abitudine che farà risparmiare tempo
programmando con un sistema Linux o UNIX oppure nell'affrontare i compiti di gestione del
sistema. Qui sono elencati alcuni modi per semplificarci la vita:
●
Create una directory bin per i vostri file e script.
●
Organizzate i file non eseguibili in directory appropriate e di queste createne a piacimento:
per esempio create directory distinte per le immagini, i documenti, i progetti, i file scaricati,
i fogli elettronici, i file personali, e così via.
●
Rendete private le directory con il comando chmod 700 nomedirectory.
●
Date ai vostri file nomi sensati, come Lamentela al primo ministro 050302,
piuttosto di lettera1.
7.1.2. Fare spazio
In alcuni sistemi, quota può costringervi a fare pulizia di tanto in tanto, oppure i limiti fisici del
vostro disco rigido potrebbero obbligarvi a recuperare spazio senza l'avvio di qualsiasi programma
di monitoraggio. Questa sezione spiega un numero di modi, oltre all'uso del comando rm, per
liberare spazio su disco.
Lanciate il comando quota v per vedere quanto spazio è rimasto.
7.1.2.1. Svuotamento dei file
Qualche volta il contenuto di un file non vi interessa, però avete bisogno del nome del file come
segno (per esempio vi serve solo l'ora di creazione di un file, un appunto che là un file c'era o ci
potrebbe essere in futuro). Il modo per ottenere ciò nelle shell Bourne e Bash è quello di redirigere
l'output di un comando nullo.
andy:~> cat desiderata > segnaposto
andy:~> ls −la segnaposto
rw rw r 1 andy andy 200 Jun 12 13:34 segnaposto − − − −−
andy:~> > segnaposto
andy:~> ls −la segnaposto
rw rw r 1 andy andy 0 Jun 12 13:35 segnaposto − − − −−
Il processo di riduzione di un file esistente ad uno con lo stesso nome che sia grande 0 byte si
chiama troncamento.
Per creare un nuovo file vuoto lo stesso effetto si ottiene con il comando touch: con un file esistente
touch aggiornerà soltanto l'ora di modifica. Leggete le pagine Info su touch per maggiori dettagli.
Per svuotare quasi completamente un file utilizzate il comando tail. Supponete che l'elenco dei
desiderata dell'utente andy sia divenuto piuttosto lungo per le continue aggiunte in fondo senza la
cancellazione delle cose già in possesso. Ora costui vuol mantenere solo gli ultimi cinque oggetti:
andy:~> tail −5 desiderata > nuovoelenco
andy:~> cat nuovoelenco > desiderata
andy:~> rm nuovoelenco
7.1.2.2. Approfondimento sui file di log
Alcuni programmi Linux insistono nello scrivere tutti i tipi di output in un file di registro (log).
Solitamente esistono opzioni per registrare solo gli errori, oppure una quantità minima di
informazioni (impostando per esempio il livello di scoperta degli errori del programma). Ma
potrebbe anche non interessarvi un file di log. Ecco qui alcuni modi per sbarazzarsi di questi o
almeno per limitarne le dimensioni:
●
Provate a cancellare il file di registro quando il programma non è in funzione se siete certi di
non averne ancora bisogno. Alcuni programmi possono anche verificare all'avvio se non
esiste alcun file di log e dunque non registrare niente.
●
Se cancellate il file di log e il programma lo ricrea, leggete la documentazione di
quest'ultimo per cercare l'opzione che evita di scrivere file di registro.
solo significanti.
●
Provate a sostituire il file di log con un collegamento simbolico a /dev/null; se sarete
fortunati il programma non si lamenterà. Non fate ciò con i file di registro di programmi che
vengono eseguiti con l'avvio del sistema o con i programmi lanciati da cron (v. Capitolo 4).
Tali programmi potrebbero infatti sostituire il link simbolico con un piccolo file che inizierà
nuovamente a crescere.
7.1.2.3. Posta
Fate pulizia con regolarità nella vostra casella postale, create sottocartelle e reindirizzate
automaticamente usando procmail (leggete le pagine Info) o i filtri della vostra applicazione
preferita per la lettura della posta. Se avete una cartella per i file da cestinare, svuotatela con
regolarità.
Per reindirizzare la posta utilizzate il file .forward nella vostra directory personale. Il servizio di
posta Linux cerca questo file ogni volta che deve consegnare della posta locale. Il contenuto del file
determina il comportamento del sistema di posta nei confronti della vostra posta. Può avere una sola
linea con un indirizzo di posta elettronica pienamente qualificato. In tal caso il sistema invierà tutta
la vostra posta a quell'indirizzo. Per esempio, noleggiando dello spazio per un sito web potreste
desiderare di reindirizzare la posta con destinatario il webmaster al vostro account personale per
non sprecare spazio su disco. Il .forward del webmaster potrebbe apparire così:
webmaster@www ~/> cat .forward mike@pandora.be
L'impiego dell'inoltro della posta è utile anche per evitarvi di dover controllare diverse caselle
postali: potete infatti fare in modo che ogni indirizzo punti ad un account centralizzato e facilmente
accessibile.
Potete anche domandare all'amministratore di sistema di definire un inoltro per voi nel file locale di
alias di posta, come quando un account è stato chiuso ma la posta elettronica rimane attiva per un
po' di tempo.
7.1.2.4. Risparmiare spazio con un link
Quando numerosi utenti devono accedere allo stesso file o programma, oppure quando il nome
originale del file è troppo lungo o difficile da ricordare, usate un collegamento simbolico al posto di
una copia distinta per ciascun utente o impiego.
Link simbolici multipli possono avere nomi differenti, come, ad esempio, un collegamento può
essere chiamato monfichier nella directory di un utente e miolink in quella di un altro.
Svariati collegamenti (con nomi diversi) al medesimo file possono coesistere nella stessa directory.
Ciò capita frequentemente nella directory /lib: dando il comando
ls l /lib
affinché i programmi che ricercano un nome non restino bloccati ma vengano indirizzati al
corretto/corrente nome delle librerie di cui hanno bisogno.
7.1.2.5. Limitare le dimensioni dei file
La shell contiene un comando interno per limitare le dimensioni dei file, ulimit, che può essere
usato anche per mostrare le limitazioni nelle risorse di sistema:
cindy:~> ulimit −a
core file size (blocks) 0
data seg size (kbytes) unlimited file size (blocks) unlimited max locked memory (kbytes) unlimited max memory size (kbytes) unlimited open files 1024 pipe size (512 bytes) 8 stack size (kbytes) 8192 cpu time (seconds) unlimited max user processes 512
virtual memory (kbytes) unlimited