есть ли способ перезагрузить машину Linux, если основной диск завершится неудачей?

У меня есть небольшое встроенное устройство Linux, где корневая файловая система смонтирована через USB-соединение

устройство может справиться с сбросом достаточно хорошо (он будет ждать, пока USB-диск прибудет, если он будет отключен при загрузке)

однако, если диск будет отключен, устройство будет склоняться к клину, я бы предпочел, чтобы он просто перезагрузился?

есть ли опция ядра, которая заставит ядро ​​сбросить, если основной диск исчезнет?

One Solution collect form web for “есть ли способ перезагрузить машину Linux, если основной диск завершится неудачей?”

Это довольно легко.

Вам нужно будет создать правило udev, инициированное при отключении USB-устройства для этого устройства. Это будут файлы в etc/udev/rules.d . Взгляните на этот вопрос в ServerFault для получения дополнительной информации.

Итак, мы установили, что вы можете запускать произвольные команды на USB-отключении событий с помощью ключевого слова PROGRAM .

Вторая часть этого – использовать «магический» ключ sysrq. См. Эту статью о Magic SysRq в Википедии о том, что вы можете сделать с ключом sysrq. Ключ также можно вызвать, повторив букву действия в /proc/sysrq-trigger . Это будет иметь тот же эффект, что и нажатие комбинации клавиш на вашей физически прикрепленной клавиатуре.

Поэтому правило udev будет:

 DRIVER="some_device", ACTION="remove", PROGRAM="/bin/echo b > /proc/sysrq-trigger" 

Это приведет к перезагрузке системы при some_device устройства some_device .

И это, конечно, предполагает, что «клином» вы не имеете в виду «яровую панику».

  • genfstab не работает
  • Есть ли такая утилита, как `watch`, за исключением события?
  • Linux Distro / Project для цифровой грамотности
  • Поиск всех WAV-файлов из нескольких каталогов и их копирование на локальный компьютер с сервера
  • Преобразование формы даты в unix
  • Отслеживать, кто переместил нашу папку в случайном каталоге
  • Как перезагрузить таблицу маршрутизации на Centos без потери сетевого сервиса
  • QCad успешно установлен, но не запускается
  • Arch GRUB запрашивает /run/lvm/lvmetad.socket на диске без lvm
  • Помощь Установка gcc4.8 на Red Hat Enterprise Linux 6
  • Настройка локальной сети на CentOS
  • Interesting Posts

    как проверить, что находится в свопе?

    Обновлен unrecognized option '–localpaths ='

    Почему разница между сетевыми адресами, указанными по имени хоста и ping?

    Почему ошибки USB с моим мобильным телефоном не позволяют компьютеру взаимодействовать с сервисами?

    Запуск make для LFS жалуется на [и о недостающем gawk

    Выполнение команды CURL

    По умолчанию для автоматической настройки обновлений включена линия. Для чего это?

    Как ограничить создание имени каталога шаблоном?

    Парсинговые пары фигурных скобок, содержащие скобки

    Отключите Raspbian MAC-объявление (nmap)

    Linux, GNU GCC, ld, скрипты версий и двоичный формат ELF. Как это работает?

    замените слово или число в предложении, которое меньше 8, используя awk или sed

    Как я могу раскрасить голову, хвост и меньше, как я сделал с кошкой?

    Псевдоним команды для запуска в фоновом режиме

    grep, чтобы найти слова со всеми гласными

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