GNU/Linux >> Tutoriels Linux >  >> Linux

Comment savoir facilement si un périphérique bloc (ou une partie de celui-ci) est monté d'une manière ou d'une autre

Il s'agit essentiellement de vérifier un sac entier de valises d'angle.

  • Un lecteur peut apparaître dans /proc/mounts
  • Un lecteur peut être utilisé comme swap (utilisez /proc/swaps)
  • Un lecteur peut faire partie d'un pv LVM actif (utilisez pvdisplay)
  • Un disque peut faire partie d'un groupe RAID dm-mapper (utilisez /proc/mdstat)
  • Un lecteur peut être directement accessible par une application (par exemple, Oracle prend en charge l'écriture directe sur un lecteur ou une partition au lieu d'un système de fichiers) (utiliser fuser)
  • Un lecteur peut être directement accessible par une machine virtuelle (utiliser fuser)
  • Un lecteur peut être référencé par un périphérique de bouclage (par exemple :mount /dev/sda -o offset=1M /foo ) (utilisez losetup -a)

Ce ne sont là que les exemples que j'ai trouvés après une minute et demie pour y réfléchir. Je suis sûr qu'il y en a une douzaine d'autres.

Je pense que ce dernier exemple est le plus intéressant et peu de gens le connaissent. Il vous permet de monter un système de fichiers sans utiliser de partitions. Spécifiez simplement le décalage de départ et Linux créera de manière transparente un périphérique de bouclage. L'exemple ci-dessus donne ce qui suit :

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

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

Pourquoi ferais-tu ça? Il s'agit généralement de situations où les choses ont déjà terriblement mal tourné.

Gardez également à l'esprit qu'avec la fonctionnalité d'espacement de noms maintenant dans la ligne principale (voir unshare), différents processus peuvent avoir des vues différentes sur ce qui est monté et ce qui ne l'est pas. Ici, les choses commencent à devenir un peu rouges.


Linux
  1. Comment savoir ce que fait une commande Linux

  2. Linux - Comment tester si un périphérique bloc est en lecture seule depuis /sys ou /proc ?

  3. Comment trouver quel port série est utilisé ?

  4. Comment détecter et découvrir qu'un programme est dans l'impasse ?

  5. Comment trouver l'espace de noms d'un processus particulier?

Commande Linux blkid pour rechercher les détails des périphériques de bloc

Comment trouver la version du noyau Linux en cours d'exécution sur votre PC

Comment trouver l'utilisation de la bande passante d'un périphérique USB sous Linux

Comment trouver le type de système de fichiers monté sous Linux

Comment trouver les détails du disque dur sous Linux

Comment savoir à quels groupes un utilisateur appartient sous Linux