
Eu fiz chroot em um disco externo com sudo chroot /mnt/disk
, mas quase tudo que faço (login, preenchimento de tabulação, less
ing um arquivo, ...) resulta em um erro ao mencionar /dev/null: Permission denied
, mesmo que o comando pareça funcionar.
/dev/null tem as permissões corretas (666) e file
diz que é um dispositivo de caractere, então não é como se algo o tivesse substituído por um arquivo normal ou alterado as permissões.
Oque posso fazer para consertar isso?
ls /u
Aqui está o resultado do preenchimento de tabulação (of ):
$ ls /ubash: /dev/null: Permission denied
bash: _upvars: `-a2': invalid number specifier
bash: /dev/null: Permission denied
bash: _upvars: `-a0': invalid number specifier
Responder1
O disco pode ser montado com a nodev
opção, que mount
é interpretada da seguinte forma:
Não interprete caracteres nem bloqueie dispositivos especiais no sistema de arquivos.
Você pode verificar isso verificando a saída demount
forao chroot:
$ mount
...
/dev/sda1 on /mnt/disk type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2)
(Este é um problema particularmente difícil de detectar, pois a configuração fora do chroot está afetando o comportamento dos programas dentro dele!)
Consertá-lo é tão fácil quanto remontar sem a nodev
opção. O comando a seguir fará isso (mesmo enquanto o processo chroot estiver em execução!), embora provavelmente haja uma maneira de removerapenasa nodev
opção sem remover todas as outras opções também:
sudo mount -o remount /dev/sda1 /mnt/disk