eatmydata(1)

NAME
eatmydata - transparently disable fsync() and other data-to-disk synchronization calls

SYNOPSIS
eatmydata [--] command [ command arguments ... ]

DESCRIPTION
eatmydata runs a command in the environment where data-to-disk synchronization calls (like fsync(), fdatasync(), sync(), msync() and open() O_SYNC / O_DSYNC flags) have no effect. LD_PRELOAD library libeatmydata overrides respective C library calls with custom functions that don't trigger synchronization but return success nevertheless.

You may use eatmydata in two ways. In normal mode, just execute eatmydata directly and pass a command-to-be-run and its arguments via command line. In order to use symlink mode, create a symlink to /usr/bin/eatmydata with the filename (a.k.a basename) of another program in the PATH and execute eatmydata via that symlink. Then eatmydata will find that program in the PATH and run it in the libeatmydata environment repassing all command line options.

OPTIONS

Please note that eatmydata does not process any command line options in symlink mode. All command line options will be repassed to the underlying executable as-is.

command
    The command to execute. It may be either a full path or the name of the command in PATH. In case command cannot be found in PATH, eatmydata will fail.

command arguments
    Arbitrary number of arguments to pass to the command being executed.

--  Optional command separator for compatibility with similar utilities. Ignored at the moment.

EXAMPLES

Given PATH is /usr/bin and both /usr/bin/aptitude and /usr/bin/eatmydata are installed, the following:

    $ ln -s /usr/bin/eatmydata ./aptitude
    $ ./aptitude moo

is equivalent to:

    $ eatmydata -- aptitude moo

Therefore, you may use symlink mode to automatically run specific programs in the libeatmydata environment whenever you run them from PATH. For example, given standard PATH settings, just do:

    # ln -s /usr/bin/eatmydata /usr/local/bin/aptitude

and enjoy sync-free aptitude system-wide.

AUTHOR
The eatmydata wrapper around libeatmydata LD_PRELOAD library was written by Modestas Vainius <modax@debian.org>