Crate fakeroot

source ·
Expand description

A simple crate which provides the ability to redirect filesystem calls. This crate builds a library that can be used via LD_PRELOAD.

Some examples follow.

Intercept a file:

mkdir /tmp/etc
echo "tee hee" > /tmp/etc/hosts
FAKEROOT="/tmp" LD_PRELOAD="path/to/libfakeroot.so" cat /etc/hosts
# tee hee

Intercept a directory list:

mkdir /tmp/etc
echo "whatever" > /tmp/etc/🪃
FAKEROOT="/tmp" FAKEROOT_DIRS=1 LD_PRELOAD="path/to/libfakeroot.so" ls /etc
# 🪃

Options are configured via environment variables:

  • FAKEROOT: absolute path to the fake root
  • FAKEROOT_DIRS: whether or not to intercept directory listing calls too
  • FAKEROOT_ALL: whether or not to fake non-existent files and directories
  • FAKEROOT_DEBUG: if set, will debug log to STDERR

Structs

Constants

Functions