Linux fakeroot混乱

时间:2012-04-23 22:15:09

标签: linux linux-kernel sudo fakeroot

我对fakeroot实用程序有很多困惑。我试图将一个字符节点添加到/ dev文件夹到两个rootfs。 rootfs_1的所有者是我自己,而第二个的所有者是root。

  1. rootfs_1所有者是我。
    一个。如果我做ls -l。我认为老板是“我我” 湾我尝试在rootfs_1 / dev中使用mknod创建一个节点,但它失败了 C。 $ fakeroot命令通过。
    d。 ls -al。我认为所有者是根(我知道是假的)
    即现在我可以使用mknod在rootfs_1 / dev中创建一个节点 F。退出
    G。新创建的节点将所有者称为“我”,这是我所期望的。

  2. rootfs_2所有者是root
    一个。 ls -l。我认为所有者是“根”“ 湾我尝试在rootfs_2 / dev中使用mknod创建一个节点,但它失败了。(预期)
    C。 $ fakeroot命令通过。
    d。现在我尝试创建一个节点,但它失败了。

  3. 现在,我知道行为是预料之中的。但我对fakeroot如何工作以及通过fakeroot进行系统调用的流程感到困惑。我认为fakeroot做了LD_PRELOAD技巧。

    任何人都可以解释为什么案例1有效并且案例2失败。

    由于

1 个答案:

答案 0 :(得分:3)

fakeroot所做的就是跟踪在其处于活动状态时被修改的文件的“假”所有者。它不会模拟任何其他文件系统操作,例如文件创建,因此即使它处于活动状态,您仍然无法在根目录中创建文件。