[Linuxtrent] R: Re: copiare partizioni: dimensioni diverse

  • From: "Emanuele Olivetti" <olivetti@xxxxxx>
  • To: <linuxtrent@xxxxxxxxxxxxx>
  • Date: Sat, 28 Oct 2006 22:33:50 +0200

Ops, volevo dire 'df' :)
Grazie per le numerose informazioni (anche a Luca!): avro' modo
di approfondire in questi giorni.

In generale ripongo molta fiducia in rsync che utilizzo da sempre
per fare i backup e con molta soddisfazione. Ma ma fede cieca porta
prima o poi a problemi... giusto?

Grazie molte!

Emanuele

-----Messaggio originale-----

Sarebbe carino vedere se hai hard link e sparse file nella sorgente
e le opzioni esatte di rsync che hai usato.
Poi pure rsync ha avuto i suoi bachi, ma non sembra questo il caso.
diff -r non è sempre significativo, per esempio si imbroglia con i soft link,
non spiego come l'ho scoperto, ringrazio ancora il backup.

> Dove sta l'inghippo? Dove sono finiti i 300Mb in questione?

Che né du né df misurano quello che tu pensi che misurino, nel modo in cui tu
pensi lo misurino.
In pratica le misure dello spazio occupato, per du di un generico sottoalbero 
dipendono almeno
  * dalla dimensione del blocco del filesystem sottostante
$ mkfs.ext2 -b 1024 1024
[...]
$ mkfs.ext2 -b 4096 4096
[...]
$ echo 'test'  > mount-1024/test
$ cp mount-1024/test  mount-4096/
$ du -chs mount-1024/test mount-4096/test
1.0K    mount-1024/test
4.0K    mount-4096/test
5.0K    total
  * da come il filesystem sottostante conta la dimensione di una directory
$ mkdir dir-on-xfs
$ mkdir dir-on-ext3
$ du -b dir-on-xfs
6       dir-on-xfs
$ stat dir-on-xfs | grep Size
Size: 6               Blocks: 0          IO Block: 4096   directory
$ du -b dir-on-ext3
4096    dir-on-ext3
$ stat dir-on-ext3 | grep Size
Size: 4096            Blocks: 8          IO Block: 4096   directory
  * da come poni la domanda, nel caso siano presenti multipli hard link
$ echo 'test' > a/test
$ du -b ./a/test
5       ./a/test
$ du -b ./a
22      ./a
$ ln a/test b/link
$ du -b ./b/link
5       ./b/link
$ du -b ./b
11      ./b
$ du -b
22      ./a
6       ./b
50      .

Scusa ma ora non ho tempo di dilungarmi sulla spiegazione degli esempi,
spero siano sufficientemente chiari.
Per questi motivi nella man page di du la breve descrizione recita
"estimate file space usage".
Per altro, secondo me la man page è pure sbagliata per --apparent-size

Anche df soffre della dipendenza dal filesystem sottostante, per almeno:
  * da come viene contato il journal per lo spazio usato
  * anche i blocchi riservati entrano nel conto per lo spazio libero
e forse pure da qualcos'altro.

Parlando un po' più in generale controllare con du un rsync non serve
a molto, piuttosto usa un md5sum o un sha1sum.

Scusate l'italiano molto stentato...

Buona serata,
Daniele P.
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx



Other related posts:

  • » [Linuxtrent] R: Re: copiare partizioni: dimensioni diverse