[gull] Différence taille entre répertoire

Frederic Schutz schutz at mathgen.ch
Wed Mar 15 09:39:19 CET 2006


Marc SCHAEFER wrote:


Merci Marc. Faisons le tour des hypothèses:

> Sauf erreur, sauf si tu as énormément de fichiers (style spool de mail
> non hiérarchique ou de news), ce n'est pas le problème. Le symptôme
> est que la taille du répertoire vue par `ls' est > 4096 bytes.

1657 fichiers, répartis dans 83 sous-répertoires, on ne peut pas appeler 
ça énormément.

> Une autre possibilité est que les blocs de données soient fragmentés (au
> sens FFS/BSD: un bloc de données contient les données de plusieurs
> fichiers, car leur taille totale est plus petite que la taille
> d'allocation, usuellement 4 kilobytes avec ext2/ext3 et une grosse
> partition). Je ne savais pas que ext2/3 supportaient les fragments.

Est-ce que dans ce cas là le fs pourrait décider de sauvegarder 2 copies 
de mêmes données de 2 façon différentes ? La diminution de taille est 
quand même de ~25%, donc pas seulement un ou deux blocs qui ont changé.

> Si tu copies des données d'un fs à l'autre avec une autre taille de
> bloc, ou carrément une autre organisation / un autre filesystem,
> il y aura des arrondis.  Faire un `du --apparent-size'
> (en bytes, plutôt qu'en blocks).

C'est le même fs, même répertoire. Mais 'du --apparent-size' retourne la 
même valeur pour les deux répertoires (9 Mb environ).

> Si la taille *augmente* avec la copie, cela peut être dû à la présence
> de `sparse files' (des fichiers pleins de zéros dont les zéros ne sont
> pas encore alloués: p.ex. base de données indexée, fichier projeté en
> mémoire avec mmap(2), etc).

C'est l'inverse ici.

> Une dernière possibilité serait que les méta-données contiennent des
> ACLs ou autres resource forks (sisi, c'est implémentable en ext2/ext3,
> via les extended attributes) qui ne seraient pas copiés par `cp',
> mais cela me semble peu probable.

Normalement pas. Mais le répertoire original venait d'un fichier tar 
(que je n'ai plus malheureusement); peut-être tar a-t-il extrait les 
fichiers d'une façon "étrange", qui n'est pas repliquée lors d'une copie ?

> Ah, et cp déréférence, par défaut, les liens symboliques, `-a' pour
> copier le lien lui-même.

Mais ça devrait aussi augmenter la taille, pas la diminuer ?

Frédéric



More information about the gull mailing list