Как определить, является ли устройство SCSI съемным?

В DMESG я вижу:

[sdb] Attached SCSI removable disk

  1. Как Linux решает, что является съемным и не удаляемым?
  2. Есть ли способ, которым я могу искать, если устройство «съемное» или не является журналом, например somehwere in / sys или / proc?

  • Что означает этот ключевой код?
  • Расположить диск в корпусе SAS
  • Принудительный диск на / dev / sdX
  • tar: / dev / nst0: невозможно записать: ошибка ввода / вывода при резервном копировании
  • Почему мои устройства SATA отображаются в / proc / scsi / scsi?
  • Как я могу записать необработанные данные на USB-устройство
  • dd output: «функция не реализована» при попытке записи в / dev / sg11
  • Учетная отметка уровня IO
  • 2 Solutions collect form web for “Как определить, является ли устройство SCSI съемным?”

    У всех блочных устройств есть removable атрибут, среди других атрибутов блочного устройства . Эти атрибуты можно читать из userland в sysfs at /sys/block/ DEVICE / ATTRIBUTE , например /sys/block/sdb/removable .

    Вы можете запросить этот атрибут из правила udev, с ATTR{removable}=="0" или ATTR{removable}=="1" .

    Обратите внимание, что съемный (устройство остается существующим, но может не иметь носителя) – это не то же самое, что hotpluggable (устройство может приходить и уходить). Например, CD-приводы являются съемными, но часто не горячими. USB-флеш-накопители – оба, но жесткие диски во внешних корпусах обычно являются hotpluggable, но не удаляются.

    Если вы хотите узнать, как устройство считается съемным, вам придется врываться в исходный код ядра . Поиск removable – не слишком много ложных ударов. Для устройств SCSI removable бит считывается с устройства в scsi_add_lun с помощью команды SCSI scsi_add_lun .

    С небольшим усилием я нашел ответ на свой второй вопрос:

    cat /sys/block/sda/removable

    Linux и Unix - лучшая ОС в мире.