Pour les personnes essayant le programme sous GNU/Linux, pensez à éditer les CFLAGS dans le Makefile (voir commentaires).
Il faut comprendre partition comme sous ensemble d'une (ou plusieurs) arborescence.
Voici un exemple où je veux créer 3 listes ("partitions") de fichiers à partir de /usr/share/doc et /usr/local/share/doc :
./fpart -n 3 -o doc-parts /usr/share/doc /usr/local/share/doc
15842 file(s) found.
Part #0: size = 81096965, 5280 file(s)
Part #1: size = 81096965, 5280 file(s)
Part #2: size = 81096964, 5282 file(s)
$ ls -lh doc-parts.*
-rw-r----- 1 jbdenis jbdenis 248K Jan 6 13:06 doc-parts.0
-rw-r----- 1 jbdenis jbdenis 248K Jan 6 13:06 doc-parts.1
-rw-r----- 1 jbdenis jbdenis 249K Jan 6 13:06 doc-parts.2
Résultat : 3 fichiers (doc-parts.0/1/2) contenant un peu près le même nombre d'entrées (des fichiers avec les options par défaut de fpart). Si on additionne la taille de chacun des fichiers pointés par les chemins de chaque fichier, on obtient 3 groupes de même taille environ.
Si vous avez une grosse verrue de 1T noyée au milieu de 1000 fichiers de 1 Mo, ça ne fera pas de magie, vous obtiendrez une liste de fichiers avec une seule entrée de 1T et deux autres listes dont la somme des entrées feront chacun 500 Mo.
Ça peut être très pratique lorsqu'on utilise rsync sur une arborescence et qu'on souhaite lancer plusieurs rsync en parallèle (à partir de montages différents par exemple) : il suffit de lancer 3 rsync avec l'option --files-from et hop, on est assuré que chaque rsync s'occupera de transférer le même volume de données.
Il y a plein d'options sympa, il faut fouiller. On peut par exemple limiter la profondeur de calcul des tailles, changer la granularité pour ne s'occuper que des dossiers et non des fichiers (on a des fichiers de sorties beaucoup plus petit), limiter le nombre de fichiers par partition, limiter la taille des partions etc...
Chouette programme, je ne connais pas d'équivalent.
# Exemple complet
Posté par jbdenis . En réponse au journal fpart ou comment partitionner un ensemble de fichiers. Évalué à 9.
Pour les personnes essayant le programme sous GNU/Linux, pensez à éditer les CFLAGS dans le Makefile (voir commentaires).
Il faut comprendre partition comme sous ensemble d'une (ou plusieurs) arborescence.
Voici un exemple où je veux créer 3 listes ("partitions") de fichiers à partir de /usr/share/doc et /usr/local/share/doc :
Résultat : 3 fichiers (doc-parts.0/1/2) contenant un peu près le même nombre d'entrées (des fichiers avec les options par défaut de fpart). Si on additionne la taille de chacun des fichiers pointés par les chemins de chaque fichier, on obtient 3 groupes de même taille environ.
Si vous avez une grosse verrue de 1T noyée au milieu de 1000 fichiers de 1 Mo, ça ne fera pas de magie, vous obtiendrez une liste de fichiers avec une seule entrée de 1T et deux autres listes dont la somme des entrées feront chacun 500 Mo.
Ça peut être très pratique lorsqu'on utilise rsync sur une arborescence et qu'on souhaite lancer plusieurs rsync en parallèle (à partir de montages différents par exemple) : il suffit de lancer 3 rsync avec l'option --files-from et hop, on est assuré que chaque rsync s'occupera de transférer le même volume de données.
Il y a plein d'options sympa, il faut fouiller. On peut par exemple limiter la profondeur de calcul des tailles, changer la granularité pour ne s'occuper que des dossiers et non des fichiers (on a des fichiers de sorties beaucoup plus petit), limiter le nombre de fichiers par partition, limiter la taille des partions etc...
Chouette programme, je ne connais pas d'équivalent.