GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo saber fácilmente si un dispositivo de bloque (o una parte de él) está montado de alguna manera

Básicamente, se trata de revisar una bolsa completa de estuches de esquina.

  • Una unidad puede aparecer en /proc/mounts
  • Se puede usar una unidad como intercambio (use /proc/swaps)
  • Una unidad puede ser parte de un LVM pv activo (use pvdisplay)
  • Una unidad puede ser parte de un grupo RAID dm-mapper (utilice /proc/mdstat)
  • Una aplicación puede acceder directamente a una unidad (p. ej., Oracle admite escribir directamente en una unidad o partición en lugar de un sistema de archivos) (use fuser)
  • Una máquina virtual puede acceder directamente a una unidad (usar fusor)
  • Un dispositivo de loopback puede hacer referencia a una unidad (por ejemplo:mount /dev/sda -o offset=1M /foo ) (use losetup -a)

Estos son solo los ejemplos que se me ocurrieron dado un minuto y medio para pensarlo. Estoy seguro de que hay una docena más.

Este último ejemplo creo que es el más interesante y poca gente lo conoce. Le permite montar un sistema de archivos sin usar particiones. Simplemente especifique el desplazamiento inicial y Linux creará de forma transparente un dispositivo de bucle invertido. El ejemplo anterior produce lo siguiente:

# cat /proc/mounts
...
/dev/loop0 /foo ext4 relatime,data=ordered 0 0

# losetup -a
/dev/loop0 [0005]:2048 (/dev/sda), offset 1048576

¿Por qué harías eso? Por lo general, se trata de situaciones en las que las cosas han ido terriblemente mal en el pasado.

También tenga en cuenta que con la función de espacio de nombres ahora en la línea principal (vea no compartir), diferentes procesos pueden tener diferentes puntos de vista sobre lo que está montado y lo que no. Aquí las cosas empiezan a ponerse un poco rojas.


Linux
  1. ¿Cómo encontrar el módulo del kernel para un dispositivo dado?

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

  3. Cómo crear un dispositivo de bloque virtual (dispositivo de bucle/sistema de archivos) en Linux

  4. ¿Cómo detectar y descubrir que un programa está en interbloqueo?

  5. ¿Cómo puedo saber si mi tarjeta inalámbrica admite 5 GHz?

Comando blkid de Linux para encontrar detalles de dispositivos de bloque

Cómo averiguar la versión del kernel de Linux que se ejecuta en su PC

Cómo encontrar el uso de ancho de banda del dispositivo USB en Linux

Cómo encontrar el tipo de sistema de archivos montado en Linux

Cómo encontrar detalles de la unidad de disco duro en Linux

Cómo saber a qué grupos pertenece un usuario en Linux