GNU/Linux >> Belajar Linux >  >> Linux

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

Pada sistem CentOS6 saya memiliki /dev/block/sr0 (hanya baca) dan /dev/block/sda (Baca tulis). Bagaimana saya bisa mengetahui secara terprogram perangkat mana yang hanya-baca? Ada ro file di sana, tetapi '0' untuk kedua perangkat.

Ada beberapa peretasan yang bisa saya gunakan (bandingkan nama ^sr vs ^sd , cari cdrom kepemilikan node perangkat), tetapi saya ingin memiliki solusi umum.

Jawaban yang Diterima:

Jika /sys/block/xxx/ro adalah 1, maka kernel menjamin itu hanya-baca

$ sudo losetup /dev/loop0 a
$ sudo losetup -r /dev/loop1 b
$ cat /sys/block/loop0/ro
0
$ cat /sys/block/loop1/ro
1

Jika tidak, maka kernel mungkin mengizinkan Anda untuk mencoba menulis di atasnya, tetapi penulisannya mungkin diblokir pada tingkat yang lebih rendah.

Untuk CD/DVD, Anda dapat mengetahui jenis media (read-only, writable, rewritable, open session…), dengan cdrdao disk-info .

Sekarang perangkat mungkin dapat ditulisi, tetapi Anda mungkin tidak memiliki izin menulis ke file perangkat, tetapi itu cerita lain dan dapat dengan mudah diperiksa dengan [ -w "$dev" ]


Linux
  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Linux – Bagaimana Symlink /proc//exe Berbeda Dari Symlink Biasa?

  3. Seberapa Portabel /dev/stdin, /dev/stdout Dan /dev/stderr?

  1. Linux – Menautkan /proc/mnt Ke /proc/mounts?

  2. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  3. Bagaimana cara menentukan kecepatan CPU maks dari sebuah prosesor di Linux?

  1. Linux – Bagaimana Cara Membaca Dari /proc/$pid/mem Di Linux?

  2. Linux:Perbedaan antara /dev/console , /dev/tty dan /dev/tty0

  3. /sys/ dokumentasi?