Je veux savoir quel est le moyen le plus simple de déterminer (sans privilège root) si un périphérique de bloc (par exemple sdb
) ou une partie de celui-ci est monté (et quelle partie de celui-ci).
La vérification /proc/mounts
de sdb n'est pas suffisante car sdb
ou l'une de ses partitions peut être utilisée par LVM. Vous pouvez vérifier, /sys/block/sdb/sdb*/holders/
mais vous obtenez des dm-x
entrées qui doivent être résolues en /dev/mapper
noms afin de vérifier /proc/mounts
. Possible mais s'il existe une solution plus simple ... (qui ne devrait pas nécessiter le privilège root)
Réponses:
Il s'agit essentiellement de vérifier un sac entier de valises d'angle.
mount /dev/sda -o offset=1M /foo
) (utilisation losetup -a)Ce ne sont là que les exemples que j'ai trouvés, compte tenu d'une minute et demie pour y réfléchir. Je suis sûr qu'il y en a une douzaine d'autres.
Ce dernier exemple, je pense, 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 l'offset 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:
Pourquoi ferais-tu ça? Il s'agit généralement de situations où les choses ont mal tourné auparavant.
Gardez également à l'esprit qu'avec la fonction d' espacement de noms maintenant en ligne principale (voir dissociation ), 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.
la source
Il y a beaucoup plus de façons de monter des appareils, tous peuvent être combinés, c'est donc comme souvent, à vous de le découvrir.
c'est-à-dire ce qui est utilisé par lvm:
pvdisplay
Vous devez donc inclure également nfs, cifs, raid, loop, crypt, etc. Un bon point de départ est toujours
/proc/mounts
, comme vous l'avez déjà mentionné.la source