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"でパッケージもエラーを吐かずにインストールを継続できた。