• Non ci sono risultati.

Corretta gestione della casa in generale

Nel documento Introduzione a Linux (pagine 138-142)

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

Cindy non è una sviluppatrice e non si cura dei c.d. core dump, contenenti le informazioni di debug 

di   un  programma.   Se  vi   servono   i  core   dump,  potete   impostarne   le  dimensioni   utilizzando   il 

comando ulimit. Leggete le pagine Info dedicate a Bash per una spiegazione dettagliata.

File Core?

Un file core o  core dump  viene talvolta generato quando le cose vanno male con un 

programma durante la sua esecuzione. Il file core contiene una copia della memoria, 

così com'era al momento della verificazione dell'errore.

7.1.2.6. File compressi

I file compressi sono utili perché occupano meno spazio nel disco fisso. Un altro vantaggio è che si 

impegna meno larghezza di banda spedendo un file compresso in rete. Molti file, come le pagine 

man, vengono conservati in forma compressa dal sistema. D'altro canto, scompattarli per avere 

qualche informazione, per poi doverli nuovamente comprimere, è piuttosto oneroso in termini di 

tempo. Non volete, per esempio, espandere una pagina man, leggere di un'opzione di un comando e 

poi ricomprimere di nuovo la stessa pagina. Probabilmente molte persone si dimenticheranno di 

fare pulizia dopo aver trovato l'informazione di cui avevano bisogno.

Di conseguenza abbiamo degli strumenti che lavorano sui file compressi, scompattandoli solo in 

memoria. Il file compresso originario resta nel disco rigido così com'è. Molti sistemi supportano 

zgrep,  zcat,  bzless  ed altri in modo da prevenire  azioni di decompressione/compressione  non 

necessarie. Osservate la vostra directory dei file binari di sistema e le pagine Info.

Guardate il Capitolo 9 per maggiori informazioni sulla effettiva compressione dei file e per esempi 

di creazione di archivi.

Nel documento Introduzione a Linux (pagine 138-142)