bionic (1) eatmydata.1.gz

Provided by: eatmydata_105-6_all bug

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.

CAVEAT

       When  using  eatmydata  with  setarch  (including  alias  such as linux32), or anyway with chroots with a
       different architectures than the host's, make sure to install the matching architecture of  libeatmydata1
       both in the setarch environment and host's.

       Trying  to  load  libeatmydata manually (without using the wrapper script) and using it through a chroot,
       especially if the eatmydata version differ between outside and inside, is probably going to fail  do  the
       different position of the library on the file system.
       The safest way to manually load libeatmydata is by setting the following two environment variables (shell
       syntax):

           LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+"$LD_LIBRARY_PATH:"}/usr/lib/libeatmydata
           LD_PRELOAD=${LD_PRELOAD:+"$LD_PRELOAD "}libeatmydata.so

       These two variables accounts the case of a Debian Jessie host with a  Debian  Wheezy  chroot,  where  the
       position of the library changed.

                                                  November 2014                                     eatmydata(1)