
He hecho chroot en un disco externo con sudo chroot /mnt/disk
, pero casi todo lo que hago (iniciar sesión, completar tabulaciones, less
ingresar un archivo, ...) resulta en un error al mencionar /dev/null: Permission denied
, incluso si el comando parece funcionar.
/dev/null tiene los permisos correctos (666) y file
dice que es un dispositivo de caracteres, por lo que no es como si algo lo haya sobrescrito con un archivo normal o haya cambiado los permisos.
¿Qué puedo hacer para arreglar esto?
ls /u
Esto es lo que resulta al completar con tabulación (de ):
$ ls /ubash: /dev/null: Permission denied
bash: _upvars: `-a2': invalid number specifier
bash: /dev/null: Permission denied
bash: _upvars: `-a0': invalid number specifier
Respuesta1
El disco podría montarse con la nodev
opción, que mount
se interpreta así:
No interprete caracteres ni bloquee dispositivos especiales en el sistema de archivos.
Puede verificar esto comprobando la salida demount
afuerael chroot:
$ mount
...
/dev/sda1 on /mnt/disk type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2)
(¡Este es un problema particularmente complicado de detectar, ya que la configuración fuera del chroot está afectando el comportamiento de los programas dentro de él!)
Arreglarlo es tan fácil como volver a montarlo sin la nodev
opción. El siguiente comando logrará esto (¡incluso mientras se ejecuta el proceso chroot!), aunque probablemente haya una manera de eliminarjustola nodev
opción sin eliminar todas las demás opciones también:
sudo mount -o remount /dev/sda1 /mnt/disk