GNU/Linux >> Linux Esercitazione >  >> Linux

Come scoprire facilmente se un dispositivo a blocchi (o una parte di esso) è montato in qualche modo

Si tratta essenzialmente di controllare un'intera borsa di custodie angolari.

  • Un'unità può apparire in /proc/mounts
  • Un'unità può essere utilizzata come swap (use /proc/swaps)
  • Un'unità può far parte di un LVM pv (usa pvdisplay) attivo
  • Un'unità può far parte di un gruppo RAID dm-mapper (usa /proc/mdstat)
  • È possibile accedere direttamente a un'unità da un'applicazione (ad es. Oracle supporta la scrittura diretta su un'unità o una partizione anziché su un filesystem) (usa fuser)
  • È possibile accedere direttamente a un'unità da una macchina virtuale (usa fusore)
  • Un'unità può essere referenziata da un dispositivo di loopback (ad esempio:mount /dev/sda -o offset=1M /foo ) (usa losetup -a)

Questi sono solo gli esempi che mi sono venuti in mente con un minuto e mezzo per pensarci. Sono sicuro che ce ne sono una dozzina di altri.

Quest'ultimo esempio penso sia il più interessante e pochi lo conoscono. Ti permette di montare un filesystem senza usare le partizioni. Basta specificare l'offset iniziale e Linux creerà in modo trasparente un dispositivo di loopback. L'esempio precedente produce quanto segue:

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

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

Perché dovresti farlo? In genere si tratta di situazioni in cui le cose sono andate terribilmente male in precedenza.

Tieni anche presente che con la funzionalità di namespace ora nella linea principale (vedi unshare), processi diversi possono avere viste diverse su cosa è montato e cosa no. Qui le cose iniziano a diventare un po' rosse.


Linux
  1. Linux:come verificare se un dispositivo a blocchi è di sola lettura da /sys o /proc?

  2. Come creare un dispositivo a blocchi virtuali (dispositivo di loop/filesystem) in Linux

  3. Come posso scoprire dove si trova fisicamente un file sul disco (numeri di blocco)?

  4. Come scoprire lo spazio dei nomi di un particolare processo?

  5. Come faccio a sapere se la mia scheda wireless supporta i 5 GHz?

Comando blkid di Linux per trovare i dettagli dei dispositivi a blocchi

Come scoprire la versione del kernel Linux in esecuzione sul tuo PC

Come trovare l'utilizzo della larghezza di banda del dispositivo USB su Linux

Come trovare il tipo di filesystem montato in Linux

Come trovare i dettagli del disco rigido in Linux

Come scoprire a quali gruppi appartiene un utente in Linux