我对 fakeroot 实用程序有很多困惑。我正在尝试将字符节点添加到 /dev 文件夹到两个 rootfs。rootfs_1 的所有者是我自己,而第二个的所有者是 root。
rootfs_1 所有者是我。
一种。如果我做 ls -l. 我将所有者视为“我我”
b. 我尝试在 rootfs_1/dev 中使用 mknod 创建一个节点,但它失败了。
C。$fakeroot 命令通过。
d。ls -al。我将所有者视为 root (我知道这是假的)
e。现在我可以使用 mknod 在 rootfs_1/dev 中创建一个节点。
F。退出
g。新创建的节点的所有者是我所期望的“我”。rootfs_2 所有者是 root
a。ls -l。我将所有者视为“root root”
b。我尝试在 rootfs_2/dev 中使用 mknod 创建一个节点,但它失败了。(预期)
c。$fakeroot 命令通过。
d。现在我尝试创建一个节点,但它失败了。
现在,我知道这种行为是预期的。但是我对 fakeroot 的工作原理以及系统调用通过 fakeroot 的流程感到困惑。我认为 fakeroot 做了 LD_PRELOAD 把戏。
任何人都可以详细解释为什么案例 1 有效而案例 2 失败。
谢谢