GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿cómo probar si un dispositivo de bloque es de solo lectura desde/sys o/proc?

En un sistema CentOS6 tengo /dev/block/sr0 (solo lectura) y /dev/block/sda (leer escribir). ¿Cómo puedo averiguar mediante programación qué dispositivos son de solo lectura? Hay un ro archivo allí, pero es '0' para ambos dispositivos.

Hay algunos trucos que podría usar (compare los nombres ^sr vs ^sd , busca cdrom propiedad del nodo del dispositivo), pero me gustaría tener una solución genérica.

Respuesta aceptada:

Si /sys/block/xxx/ro es 1, entonces el kernel garantiza que es de solo lectura

$ sudo losetup /dev/loop0 a
$ sudo losetup -r /dev/loop1 b
$ cat /sys/block/loop0/ro
0
$ cat /sys/block/loop1/ro
1

Si no es así, es posible que el kernel le permita intentar escribir en él, pero la escritura puede estar bloqueada en un nivel inferior.

Para CD/DVD, puede averiguar el tipo de medio (solo lectura, grabable, regrabable, sesión abierta...), con cdrdao disk-info .

Ahora se puede escribir en el dispositivo, pero es posible que no tenga permiso de escritura en el archivo del dispositivo, pero esa es otra historia y se puede verificar fácilmente con [ -w "$dev" ]


Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. Cómo mapear dispositivos /dev/sdX y /dev/mapper/mpathY desde el dispositivo /dev/dm-Z

  3. /proc/[pid]/pagemaps y /proc/[pid]/maps | linux

  4. ¿Cómo saber desde qué carpeta se está ejecutando un proceso?

  5. ¿Cómo determinar la velocidad máxima de CPU de un procesador en Linux?

Archivos /proc/cpuinfo y /proc/meminfo en Linux

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

Linux:diferencia entre /dev/console, /dev/tty y /dev/tty0

/sys/ documentación?

¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?