cannot create /dev/null: Permission denied
chrootした環境でdebパッケージをインストールしようとしたら、postinstあたりで"cannot create /dev/null: Permission denied"と言われてインストールが終わらない。
簡単にnull呼んでみるとエラーになる。
# ls > /dev/null bash: /dev/null: Permission denied
chroot下では、/dev/nullはちゃんとあって、パーミッションも正しい。
他には、こんな困り方する人いないと思うけど、解決方法メモる。
調べてみると、chrootしたツリーのあるボリュームのマウントオプションにnodevが入っているのがダメのようだ。
chrootする前の状態。
# cat /proc/mounts | grep mtdblock6 /dev/block/mtdblock6 /data ext4 rw,nosuid,nodev,noatime,nodiratime,barrier=1,data=ordered,noauto_da_alloc 0 0
remountする。
# mount -o remount,rw /dev/block/mtdblock6 /data # cat /proc/mounts | busybox grep mtdblock6 /dev/block/mtdblock6 /data ext4 rw,relatime,barrier=1,data=ordered,noauto_da_alloc 0 0
chrootして確認。
# ls > /dev/null #
正常になった。
"apt-get install -f"でパッケージもエラーを吐かずにインストールを継続できた。