#1 Le 03/09/2009, à 09:05
- Chiuchu
Disque dur, récursivité, sous-repertoires à l'infini, etc…
Salut,
Pour passe-temps (sans trop savoir pourquoi), j'ai passé 5 minutes à coder ça en php :
...
$this->letters = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
...
public function rec($root = '', $level = 0)
{
@header("content-type: text/plain");
$level++;
foreach($this->letters as $k => $v)
{
$v = '.'.$v;
echo 'mkdir .'.$root.'/'.$v."/\n";
if($level < 4)
$this->rec($root.'/'.$v, $level);
}
}
...
public function testAction()
{
$this->rec();
die();
}
...
Puis j'ai fait un petit :
wget http://localhost/test && mv test test.sh && chmod +x ./test.sh && cd rep && ../test.sh
Evidement, j'ai executé le fichier shell obtenu (donc les 26*26*26 repertoires ont été crées). Mais y a-t-il une limite au nombre de répertoires qu'on peut créer sur un système unix ? système windows ?
J'utilise principalement du Ext3-4 et du HFS+, y a il un risque si je rajoute des lettres ou si j'augmente le nombre de sous répertoires que mon disque dur explose ?
Voila voila
Hors ligne
#2 Le 03/09/2009, à 09:08
- freaxmind
Re : Disque dur, récursivité, sous-repertoires à l'infini, etc…
Je crois que pour l'ext4, le nombre de fichier se compte en tera, mais à confirmer.
En tout cas, tu as une bonne marge ! Si tu veux t'amuser, tu peux aussi compter le nombre de répertoire de ton système, il y en a quand même pas mal.
Hors ligne
#3 Le 03/09/2009, à 09:20
- Chiuchu
Re : Disque dur, récursivité, sous-repertoires à l'infini, etc…
Merci
Si j'ai bien compris, un répertoire est un inode. Comment je peux savoir le nombre d'inode qu'il me reste ?
Si il n'y a plus d'inodes disponibles, que se passe t il ?
Je veux m'amuser, mais j'ai peur d'éclater mon système (même si ce n'est pas la mort…). C'est la roulette russe
Dernière modification par Chiuchu (Le 03/09/2009, à 09:25)
Hors ligne
#4 Le 03/09/2009, à 09:58
- Vysserk3
Re : Disque dur, récursivité, sous-repertoires à l'infini, etc…
Pour les inodes, tapes :
df -i
Hors ligne
#5 Le 03/09/2009, à 10:06
- Chiuchu
Re : Disque dur, récursivité, sous-repertoires à l'infini, etc…
Merci
J'ai lancé le script 2 fois à 2 endroits différents. Résultat, j'ai 20 millions d'inodes utilisées, 3 millions de libre (je n'ai pas une grande partition).
Si je recommence, que peut il se passer sachant que c'est ma partition systeme (/) ? La ram/swap sera utilisée temporairement ? et si il y en a plus ? Freeze mortel ?
Hors ligne
#6 Le 03/09/2009, à 11:41
- Rphl
Re : Disque dur, récursivité, sous-repertoires à l'infini, etc…
Essaye tu verras
Hors ligne
#7 Le 03/09/2009, à 15:08
- tominardi
Re : Disque dur, récursivité, sous-repertoires à l'infini, etc…
j'adore suivre ce fil !
Hors ligne
#8 Le 03/09/2009, à 15:34
- xabilon
Re : Disque dur, récursivité, sous-repertoires à l'infini, etc…
Salut
Il me semble que pour Unix, un dossier n'est qu'un fichier, avec des propriétés particulières.
Donc le nombre d'inodes définit le nombre maximum de fichiers et de dossiers.
Et si tu n'as plus d'inodes, tu auras un message d'erreur "disk full"
En ext3, le nombre maximum de sous-dossiers d'un dossier et de 32000
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#9 Le 03/09/2009, à 20:41
- Link31
Re : Disque dur, récursivité, sous-repertoires à l'infini, etc…
Et pour info, tu peux aussi essayer de créer une boucle de liens symboliques
(la limite est spécifiée dans le fichier fs/namei.c du noyau)
Hors ligne
#10 Le 03/09/2009, à 22:52
- kimented
Re : Disque dur, récursivité, sous-repertoires à l'infini, etc…
Salut,
C'est peut-être plus sûr de faire joujou avec virtualbox? Mais c'est moins marrant ....
Hors ligne