Fpart is a tool that helps you sort file trees and pack them into bags (called "partitions"). It is developed in C and available under the BSD license.
It splits a list of directories and file trees into a certain number of partitions, trying to produce partitions with the same size and number of files. It can also produce partitions with a given number of files or of a limited size. Fpart uses a bin packing algorithm to optimize space utilization amongst partitions.
Once generated, partitions are either printed as file lists to stdout (default) or to files. Those lists can then be used by third party programs.
Fpart also includes a live mode, which allows it to crawl very large filesystems and produce partitions in live. Hooks are available to act on those partitions (e.g. immediately start a transfer using rsync(1) or cpio(1)) without having to wait for the filesystem traversal job to be finished. Used that way, fpart can be seen as a powerful basis for a data migration tool.
Fpart can also generate lists of directories instead of files. That mode can be useful to enable usage of options requiring overall knowledge of directories such as rsync's --delete.
As a demonstration of fpart possibilities, a tool called fpsync is provided in the tools/ directory.
The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).
|Epel for CentOS 6||i386 (0)*, x86_64 (0)*||Epel for CentOS 6 (48 downloads)|
|Epel for CentOS 7||ppc64le (0)*, x86_64 (0)*||Epel for CentOS 7 (237 downloads)|
|Fedora 28||i386 (0)*, ppc64le (0)*, x86_64 (0)*||Fedora 28 (15 downloads)|
|Fedora 29||i386 (0)*, ppc64le (0)*, x86_64 (0)*||Fedora 29 (17 downloads)|
|Fedora rawhide||i386 (0)*, ppc64le (0)*, x86_64 (0)*||Fedora rawhide (8 downloads)|
* Total number of packages downloaded in the last seven days.