带有 debootstrap 变体 fakeroot-ng 的 fakeroot-ng 挂在 makedev 上

带有 debootstrap 变体 fakeroot-ng 的 fakeroot-ng 挂在 makedev 上

所以我试图在 Ubuntu 上以非特权用户身份引导 Ubuntu。我正在使用的小脚本是:

#!/usr/bin/env bash
DEBARCHIVE_URL="http://localhost:3142/de.archive.ubuntu.com/ubuntu/"
LANG=en_US.UTF-8 \
        fakeroot-ng -f -l"$(pwd)/fakeroot-ng.log" -p"$(pwd)/fakeroot-ng.state" \
        fakechroot \
        debootstrap \
                --keep-debootstrap-dir \
                --exclude=dhcp3-common,dhcp3-client,laptop-detect,tasksel,tasksel-data \
                --variant=fakechroot \
                --arch=amd64 \
                $(lsb_release -sc) "${1:-$(pwd)/build_chroot}" ${DEBARCHIVE_URL}

要点是,debootstrap在以下操作中挂起:

I: Configuring makedev...

htop(但不是在pstree)中我可以看到阻塞命令是:

mknod mem- c 1 1

调用者:

/bin/sh - /sbin/MAKEDEV std consoleonly fd

调用者:

/bin/sh -e /var/lib/dpkg/info/makedev.postinst configure

它本身是由 调用的dpkg

摘要(按调用顺序):

/bin/sh -e /var/lib/dpkg/info/makedev.postinst configure
    /bin/sh - /sbin/MAKEDEV std consoleonly fd
        mknod mem- c 1 1

这是令人震惊的,因为我正在提供--variant=fakechroot,因此应该期望在使用潜在的特权命令时不会遇到任何问题。

我做错了什么或者我该如何引导chroot环境以供以后使用fakeroot fakechroot chroot ...


这是日志文件的相关尾部fakeroot

4937: Called mknod(NONE)
mknod: 4937 tried to create character device, turn to regular file
mknod: 4937 mode 401
4502: Calling syscall 5 redirected from open
4937: Called mknod(RETURN)
mknod: 4937 call failed with error Permission denied
4502: Called syscall 5, redirected from open
open: 4502 map for dev 5 inode 1029 already exists - doing nothing
process 4937 orig_sc=133 actual sc=79 state=RETURN

相关内容