Fpart is a Filesystem partitioner. It helps you sort file trees and pack them into bags (called "partitions"). It is developed in C and available under the BSD license.

Key features


  • Blazing fast crawling!
  • Generates partitions on a number/file number/size basis
  • Provides a live mode with hooks to act immediately on generated file lists
  • Supports generating partitions from arbitrary input (e.g. du's output)


  • Parallelizes rsync(1), cpio(1) or tar(1) jobs
  • Supports using a SSH cluster for efficient data migrations
  • Starts transfers while FS crawling still goes on
  • Supports remote target URLs when using rsync(1)
  • Parallelizes your final rsync(1) pass too!
  • Provides transfer runs' status/resume/replay
  • Nearly no dependencies (mostly shell and common tools)


Fpart is primarily developed on FreeBSD.

It has been successfully tested on :

  • FreeBSD (i386, amd64)
  • GNU/Linux (x86_64, arm)
  • Solaris 9, 10 (Sparc, i386)
  • OpenIndiana (i386)
  • NetBSD (amd64, alpha)
  • Mac OS X 10.6, 10.8, 11.2 (x86_64, arm64)

and passed Coverity Scan tests with success.

Coverity Scan Build Status

Installing from a package

Packages are already available for many operating systems :

so you can use your favourite package manager to get ready.

Installing from source

If a pre-compiled package is not available for your favourite operating system, installing from sources is simple. First, get the source files :

$ git clone "https://github.com/martymac/fpart.git"
$ cd fpart

Then, if there is no 'configure' script in the main directory, run :

$ autoreconf -i

(autoreconf comes from the GNU autotools), then run :

$ ./configure
$ make

to configure and build fpart.

Finally, install fpart (as root) :

# make install

Author / Licence

Fpart has been written by Ganael LAPLANCHE and is available under the BSD license (see COPYING for details).

Source code is hosted on :

Documentation is available on :

Thanks to Jean-Baptiste Denis for having given me the idea of this program !


If fpart (or fpsync) is useful to you or your organization, you can make a donation here:


That will help me not running out of tea :)


FTS code originally comes from FreeBSD :

lib/libc/gen/fts.c -> src/fts.c
include/fts.h      -> src/fts.h

It has been slightly modified for portability and is available under the BSD license.

Also, big thanks to my beloved wife and daughters for their invaluable support and more particularly for the discussion we had about Fpart logo :)