general/other Linuxulator: Is running fakeroot supported?

From Google: “fakeroot is a Unix command-line tool that lets unprivileged users simulate superuser (root) privileges, primarily to create archive files (like .deb, tar) with root-owned files without needing actual root access. It works by intercepting file manipulation system calls (chown, chmod) via LD_PRELOAD to mimic root, making it essential for packaging software.”

I am trying to run fakeroot inside a Linux jail running Ubuntu-22.04, which was set-up using sysutils/debootstrap.

It gives the following error:
Code:
$ fakeroot echo "Hello World!"
fakeroot, while creating message channels: Function not implemented
This may be due to a lack of SYSV IPC support.
fakeroot: error while starting the `faked' daemon.
/usr/bin/fakeroot: 1: kill: Usage: kill [-s sigspec | -signum | -sigspec] [pid | job]... or
kill -l [exitstatus]

I tried an strace and it gives the following output:
Code:
[…]
faccessat2(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libfakeroot/libfakeroot-sysv.so", R_OK, AT_EACCESS) = 0
faccessat2(AT_FDCWD, "/usr/lib64/libfakeroot/libfakeroot-sysv.so", R_OK, AT_EACCESS) = -1 ENOENT (No such file or di
rectory)
faccessat2(AT_FDCWD, "/usr/lib32/libfakeroot/libfakeroot-sysv.so", R_OK, AT_EACCESS) = -1 ENOENT (No such file or di
rectory)
pipe2([3, 4], 0)                        = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x801080a10) = 50412
close(4)                                = 0
read(3, fakeroot, while creating message channels: Function not implemented
This may be due to a lack of SYSV IPC support.
[…]

Is this something trivial I need to configure or is it a deeper issue relating to Linuxulator?
 
This may be due to a lack of SYSV IPC support.
Not sure if this would solve the problem, but the jail might need allow.sysvipc.

Code:
             allow.sysvipc
                     A process within the jail has access to System V IPC
                     primitives.  This is deprecated in favor of the per-
                     module parameters (see below).  When this parameter is
                     set, it is equivalent to setting sysvmsg, sysvsem, and
                     sysvshm all to “inherit”.
{...}
     sysvmsg
             Allow access to SYSV IPC message primitives.  If set to
             “inherit”, all IPC objects on the system are visible to this
             jail, whether they were created by the jail itself, the base
             system, or other jails.  If set to “new”, the jail will have its
             own key namespace, and can only see the objects that it has
             created; the system (or parent jail) has access to the jail's
             objects, but not to its keys.  If set to “disable”, the jail
             cannot perform any sysvmsg-related system calls.

     sysvsem, sysvshm
             Allow access to SYSV IPC semaphore and shared memory primitives,
             in the same manner as sysvmsg.
 
Back
Top