[gull] Taille d'un répertoire vide

Philippe Ney philippe at overcool.ch
Wed Jan 30 18:51:01 CET 2008


> > Après avoir effacer tous les fichiers, la taille du répertoire est
> > encore de 3 Mo.
> >
> > Un touch du répertoire ou du . qu'il contient ou la création d'un
> > fichier vide à l'intérieur du répertoire n'a aucun effet.
> >
> > Y a-t-il un moyen de libérer les blocks inutilisés et faire revenir
> > la taille du répertoire à 4k ?
> 
> Tout-a-fait normal !
> 
> Il faut revenir a la maniere dont le FS (file systeme) est organise ! Un 
> directory n'est rien d'autre qu'un "fichier" de data, contenant les 
> information necessaire a l'acces du contenu du directory. DOnc, lors de la 
> creation d'un directory vide, un premier block de 4k est alloue a ce 
> directory pour y stocker ses infos. ceci peut se voir en faisant :
> 
> mkdir mydir
> ls -ld mydir
> 
> Puis, a mesure que le directory se remplit, les entrees viennent occuper de la 
> place dans le block de 'data'. A un moment donne, celui-ci est plein et 
> engendre l'attribution d'un autre block de 4k "au" directory. ET ainsi de 
> suite. Raison pour laquelle, on peut determiner aproximativement le nombre 
> maximum de "contenu" d'un directory par l'examen de sa taille. Or, le FS 
> attribue des blocks lorsqu'un fichier s'etend en taille, mais ne libere pas 
> ceux-ci sans une commande explicite de "troncation". Ce genre de commande 
> n'existe pas pour les directories... Il est donc necessaire de "re-creer" le 
> directory pour en reduire la taille. On peut donc envisager :
> 
> mkdir newdir
> mv currentdir/* newdir
> rmdir currentdir
> mv newdir currentdir
> 
> Il n'est bien sur pas necessaire de passer par la phase de deplacement des 
> fichiers d'un directory sui celui-ci est deja vide.
> 
> dc

Hello,
C'est bien ce qu'il me semblait. J'ai déjà eu ce genre de surprises que je
corrigais chaque fois pas la re-création du répertoire.
Mais comme je trouve cette manière pas très propre et qu'il me semble que
le cas doit se présenter tout de même souvent, je me demandais si il
n'existait pas une commande qui m'aurait échappé. Mais non...
Merci et bonne fin de semaine,
Philippe



More information about the gull mailing list