makedev에 debootstrap 변형 fakeroot-ng가 걸려 있는 fakeroot-ng

makedev에 debootstrap 변형 fakeroot-ng가 걸려 있는 fakeroot-ng

그래서 우분투에서 권한이 없는 사용자로 우분투를 부팅하려고 합니다. 내가 사용하는 작은 스크립트는 다음과 같습니다.

#!/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

관련 정보