GNU/Linux >> Belajar Linux >  >> Linux

Cara mengetahui dengan mudah apakah perangkat blok (atau sebagian darinya) sudah terpasang

Ini pada dasarnya adalah masalah memeriksa seluruh tas kotak sudut.

  • Sebuah drive dapat muncul di /proc/mounts
  • Sebuah drive dapat digunakan sebagai swap (use /proc/swaps)
  • Drive dapat menjadi bagian dari LVM aktif pv (gunakan pvdisplay)
  • Drive dapat menjadi bagian dari grup RAID dm-mapper (gunakan /proc/mdstat)
  • Sebuah drive dapat diakses langsung oleh aplikasi (mis. Oracle mendukung penulisan langsung ke drive atau partisi alih-alih sistem file) (gunakan fuser)
  • Drive dapat diakses langsung oleh mesin virtual (gunakan fuser)
  • Drive dapat direferensikan oleh perangkat loopback (misalnya:mount /dev/sda -o offset=1M /foo ) (gunakan losetup -a)

Ini hanyalah contoh-contoh yang saya berikan dengan waktu satu setengah menit untuk memikirkannya. Saya yakin masih ada selusin lainnya.

Contoh terakhir ini menurut saya paling menarik dan sedikit orang yang mengetahuinya. Ini memungkinkan Anda untuk memasang sistem file tanpa menggunakan partisi. Cukup tentukan offset awal dan Linux akan secara transparan membuat perangkat loopback. Contoh di atas menghasilkan yang berikut:

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

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

Kenapa kamu ingin melakukan itu? Biasanya ini melibatkan situasi di mana hal-hal sebelumnya menjadi sangat salah.

Juga ingat bahwa dengan fitur namespace sekarang di jalur utama (lihat unshare), proses yang berbeda dapat memiliki pandangan yang berbeda tentang apa yang dipasang dan apa yang tidak. Di sini segalanya mulai menjadi pil merah.


Linux
  1. Bagaimana cara mengetahui apa yang dilakukan perintah Linux

  2. Linux – Bagaimana Menguji Apakah Perangkat Blok Apakah Hanya-Baca Dari /sys Atau /proc?

  3. Bagaimana cara mendeteksi dan mengetahui suatu program mengalami kebuntuan?

  1. Cara Mengetahui Daftar Semua Port Terbuka di Linux

  2. Bagaimana saya bisa mengetahui di mana file secara fisik berada di disk (nomor blok)?

  3. Bagaimana cara mengetahui apakah kartu nirkabel saya mendukung 5 GHz?

  1. Versi Linux Apa yang Saya Jalankan? Inilah Cara Mengetahuinya

  2. Bagaimana Cara Menemukan Modul Kernel Untuk Perangkat yang Diberikan?

  3. Bagaimana Menemukan Port Serial Yang Digunakan?