[MontelLUG] File sparsi - 4 GB in 4 KB

cesco webmonster a apf.it
Gio 3 Gen 2008 01:02:47 CET


Mentre smaltisco l'ultimo grappino appena bevuto da ostinati vi parlo un
po' di  una roba  che non  conoscevo e  ho scoperto  recentemente, causa
passaggio ad adsl: i file sparsi.

Cominciamo con un esempio:

      cesco a spongebob:~/test
       $ dd if=/dev/zero of=sparso bs=1M count=0 seek=1024
      0+0 records in
      0+0 records out
      0 bytes (0 B) copied, 5,2864e-05 seconds, 0,0 kB/s
      cesco a spongebob:~/test
       $ ls -lh sparso
      -rw-r--r-- 1 cesco cesco 1,0G 2008-01-03 00:45 sparso
      cesco a spongebob:~/test
       $ ls -l sparso
      -rw-r--r-- 1 cesco cesco 1073741824 2008-01-03 00:45 sparso
      cesco a spongebob:~/test
       $ du -sh sparso
      0       sparso

I comandi qui sopra creano un file  da 1 GB (come segnalato dal ls), che
però non impiega spazio nel disco (come segnalato dal du). Magia? No, il
file  è sparso:  tutto  lo  spazio "vuoto"  (caratteri  0x00) non  viene
scritto, ma  restituito comunque in  lettura dal filesystem  (sempre che
supporti i file sparsi [*]).

A che serve? Se vi serve un file immagine su cui fare qualcosa (macchina
virtuale,  filesystem  criptato,  ecc.),  può  essere  scocciante  dover
stabilire  all'inizio quanto  grande debba  essere e  dover lottare  fra
necessità di espandibilità  e limitazione dello spreco...  Basta fare un
file  sparso della  dimensione  che  vi pare  e  sarete  sicuri che  non
occuperà su disco piú spazio del necessario. Certo, poi bisognerà tenere
conto che lo  spazio può finire senza che vengano  creati o incrementati
file, ma solo perché si riempiono dei file sparsi.

Io l'ho  scoperto perché  viene usato  anche da  rtorrent (e  da amule),
anche se la cosa è piú discutibile perché tende a frammentare i file...

I file sparsi sono  supportati da cp, mv e tar,  quindi si possono anche
spostare da una macchina ad un'altra...

[*] http://en.wikipedia.org/wiki/Comparison_of_file_systems#Allocation_and_layout_policies

Buone nanne,
-- 
     ______________      
    /\             \     
    \_| ciao ciao, |      Non sa come Amor sana, et come ancide,
      |   cesco    |      chi non sa come dolce ella sospira,
      |   _________|_     et come dolce parla, et dolce ride.
       \_/___________/                             -- Francesco Petrarca
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        non disponibile
Tipo:        application/pgp-signature
Dimensione:  189 bytes
Descrizione: non disponibile
URL:         <http://mail.montellug.it/pipermail/montellug/attachments/20080103/d7b99ac3/attachment.sig>


More information about the montellug mailing list