Клавиша Magic SysRq - Magic SysRq key
Эта статья написано как руководство или путеводитель.Июнь 2012 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В волшебный ключ SysRq это комбинация клавиш, понимаемая Ядро Linux, что позволяет пользователю выполнять различные низкоуровневые команды независимо от состояния системы. Его часто используют для восстановления после замерзает, или в перезагрузка компьютер, не повреждая файловая система.[1] Его действие похоже на аппаратное обеспечение компьютера кнопка сброса (или выключатель питания), но с гораздо большим количеством опций и большим контролем.
Эта комбинация клавиш обеспечивает доступ к мощным функциям для разработки программного обеспечения и аварийного восстановления. В этом смысле его можно рассматривать как форму escape-последовательность. Основными среди предлагаемых команд являются средства принудительного отключения файловых систем, завершения процессов, восстановления состояния клавиатуры и записи незаписанных данных на диск. В отношении этих задач эта функция служит крайним средством.
Волшебный ключ SysRq не может работать при определенных условиях, таких как паника ядра[2] или аппаратный сбой, препятствующий нормальной работе ядра.
Команды
Комбинация клавиш состоит из Alt+SysRq (для Linux Mint комбинация Ctrl Alt+SysRq ) и еще один ключ, который управляет выданной командой. SysRq можно отпустить перед нажатием командной клавиши, пока Alt остается удерживаемым.
Комбинации всегда предполагают QWERTY раскладка клавиатуры; например, на Раскладка клавиатуры Дворжака, комбинация для выключения системы использует р ключ вместо О. Кроме того, некоторые клавиатуры могут не иметь отдельного SysRq ключ. В этом случае отдельный PrtScr ключ должен присутствовать.
На некоторых устройствах, особенно ноутбуках, Fn может потребоваться нажатие клавиши, чтобы использовать магию SysRq ключ, например Thinkpad Carbon X1 SysRq активируется нажатием Alt+Fn+S одновременно, затем отпуская Fn и S пока все еще держит Alt (глянь сюда ).
Доступ к функциям SysRq также возможен без клавиатуры. Видеть § Другие способы вызова Magic SysRq ниже.
Действие | QWERTY | Дворжак | АЗЕРТИЯ | Колемак |
---|---|---|---|---|
Установите уровень журнала консоли, который контролирует типы сообщений ядра, выводимых на консоль. | 0 - 9 | 0 - 9 | 0 - 9 (без ⇧ Shift) | 0 - 9 |
Немедленно перезагрузите систему без размонтирования или синхронизации файловых систем. | б | Икс | б | б |
Выполните сбой системы. Будет создан аварийный дамп, если он настроен. | c | j | c | c |
Показать все текущие удерживаемые Замки (CONFIG_LOCKDEP требуется опция ядра) | d | е | d | s |
Отправить SIGTERM сигнал всем процессам, кроме init (PID 1) | е | . | е | ж |
Вызов oom_kill, который убивает процесс, чтобы облегчить OOM условие | ж | ты | ж | т |
Когда используешь Настройка режима ядра, переключитесь на консоль фреймбуфера ядра.[3] Если отладчик в ядре kdb присутствует, войдите в отладчик. | грамм | я | грамм | d |
Вывести краткую справку на консоль Любой ключ, который не привязан к команде, также должен выполнять это действие. | час | d | час | час |
Отправить СИГКИЛЛ сигнал для всех процессов, кроме в этом | я | c | я | ты |
Принудительно «Просто разморозь» - файловые системы, замороженные ФИФРИЗ ioctl. | j | час | j | п |
Завершить все процессы на текущей виртуальной консоли (можно убить программы X и SVGALib, см. Ниже) Изначально это было разработано для имитации ключ безопасного внимания | k | т | k | е |
Показывает трассировку стека для всех активных процессоров. | л | п | л | я |
Выводить текущую информацию о памяти на консоль | м | м | , | м |
Сбросить отлично уровень всех приоритетных и в реальном времени задачи | п | б | п | k |
Отключите систему | о | р | о | у |
Вывести текущие регистры и флаги в консоль | п | л | п | ; |
Отображение всех активных таймеров с высоким разрешением и источников часов. | q | ' | а | q |
Переключите клавиатуру из необработанного режима, используемого такими программами, как X11 и SVGALib, к XLATE Режим | р | п | р | п |
Синхронизировать все смонтированные файловые системы | s | о | s | р |
Вывести в консоль список текущих задач и информацию о них | т | у | т | грамм |
Перемонтировать все смонтированные файловые системы в только чтение Режим | ты | грамм | ты | л |
Принудительно восстанавливает фреймбуфер консоли. Для процессоров ARM вместо этого вызовите дамп буфера ETM. | v | k | v | v |
Показать список заблокированных (состояние D) задач | ш | , | z | ш |
Используется интерфейсом xmon на платформах PowerPC. Отключает блокировку (ограничения безопасной загрузки) на некоторых ядрах. | Икс | q | Икс | Икс |
Показать глобальные регистры ЦП (для SPARC-64) | у | ж | у | j |
Дамп буфера ftrace | z | ; | ш | z |
Распечатайте сводку доступных волшебных ключей SysRq | Космос | Космос | Космос | Космос |
Использует
Обычно волшебный ключ SysRq используется для безопасной перезагрузки компьютера с Linux, который в противном случае заблокирован (сокр. REISUB). Это может предотвратить fsck требуется при перезагрузке и дает некоторым программам возможность сохранять аварийные резервные копии несохраненной работы.[4] QWERTY (или AZERTY) мнемоника: "рAising Eлефанты яs Sо Uокончательно Boring ","рeboot EVen яж Sсистема Uокончательно Broken »или просто слово« BUSIER », прочитанное в обратном направлении, часто используются для запоминания следующей последовательности SysRq-ключей:
- ООНрaw (вернуть управление клавиатурой из Икс ),
- тErminate (отправить SIGTERM для всех процессов, позволяя им корректно завершиться),
- kяll (отправить СИГКИЛЛ ко всем процессам, кроме в этом, заставляя их немедленно прекратить работу),
- Sync (сбросить данные на диск),
- Unmount (перемонтировать все файловые системы только для чтения),
- повторноBoot.
Когда волшебство SysRq ключи используются, чтобы убить замороженный графический программа, программа не имеет возможности восстановить текстовый режим. Это может сделать все нечитаемым. Команды текстовый режим (часть SVGAlib ) и перезагрузить может восстановить текстовый режим и снова сделать консоль доступной для чтения.
В дистрибутивах, не содержащих текстовый режим команда, ключевая команда Ctrl+Alt+F1 иногда может принудительно вернуться к текстовой консоли. (Использовать F1, F2, F3, ... , Fп, куда п - наибольшее количество текстовых консолей, установленных дистрибутивом. Ctrl+Alt+F(п+1) обычно используется для повторного входа в режим GUI в системе, в которой X-сервер не отказал.) Существуют также дистрибутивы, в которых Ctrl+Alt + (F3, ... ,F(п-2)) открывает текстовые консоли, Ctrl+Alt+F1 повторно войти в режим графического интерфейса, Ctrl+Alt+F2 повторно войдите в режим GUI на странице входа, чтобы войти в систему другого пользователя.
Конфигурация
Эта функция контролируется как компилировать параметр -time в конфигурации ядра, CONFIG_MAGIC_SYSRQ, а sysctl параметр ядра, kernel.sysrq.
На более новых ядрах (начиная с 2.6.12[5]), можно получить более детальный контроль над тем, как можно использовать волшебный ключ SysRq.[6] На этих машинах номер, записанный на / proc / sys / ядро / sysrq может быть 0, 1 или числом больше 1, что является битовой маской, указывающей, какие функции разрешить. В Ubuntu во время загрузки устанавливается значение, определенное в /etc/sysctl.d/10-magic-sysrq.conf .
Другие способы вызвать Magic SysRq
Хотя волшебная клавиша SysRq изначально была реализована как часть обработчика клавиатуры ядра для отладки, функциональность также была представлена через файловая система proc и обычно используется для обеспечения расширенных возможностей управления автономными и удаленными системами. Из программ пользовательского пространства (таких как оболочка командной строки) можно получить доступ к SysRq, написав в / proc / sysrq-trigger (например., эхо s> / proc / sysrq-trigger
).[1]
Многие встроенные системы не имеют подключенной клавиатуры, но вместо этого используют последовательную консоль для ввода / вывода текста в работающую систему. Функцию Magic SysRq можно вызвать через последовательную консоль, отправив последовательный сигнал прерывания, а затем желаемый ключ. Способ отправки прерывания зависит от программы терминала или оборудования, используемого для подключения к последовательной консоли. А sysctl необходимо установить опцию, чтобы включить эту функцию.[7]
Демоны Linux sysrqd[8] и tcpconsole[9] предоставить метод доступа к функциям SysRq через TCP-соединение после аутентификации с помощью обычного текстового пароля. В повесить[10] демон будет вызывать предварительно настроенные триггеры SysRq, когда система средняя нагрузка превышает определенный порог.
В Xen гипервизор имеет функцию отправки волшебных команд в размещенные домены через его xm sysrq команда.[11] Кроме того, команду SysRq можно вызвать из паравиртуальной консоли Xen, отправив последовательность прерывания. Ctrl+О а затем желаемый ключ.
Chromebook есть клавиатура, но нет выделенной клавиши SysRq. Они используют Alt+Увеличить громкость (Alt+F10) вместо[12][13][14], однако некоторые клавиши выполняют другие функции.[15][16]
IBM Энергетические системы серверы могут вызывать функцию Magic SysRq, используя Ctrl+О а затем желаемый ключ из Консоль управления оборудованием.
Разделы мэйнфреймов IBM могут вызывать функцию Magic SysRq, используя ^+- а затем желаемый ключ на 3270 или консоль HMC.
Смотрите также
- Стоп-А, последовательность клавиш, используемая для доступа Sun Microsystems с Открытая прошивка (OpenBoot)
- Консольный сервер
- KVM-переключатель
- Системная консоль
Рекомендации
- ^ а б "Взломы ключей Linux Magic System Request". kernel.org. 2013-08-12. Получено 2017-05-21.
- ^ Хамличи, Мел (18 октября 2010 г.), Используйте комбинацию клавиш Magic SysRq для восстановления из зависшей системы в Linux, Unixmen, заархивировано из оригинал 20 августа 2014 г., получено 21 сен 2014.
- ^ Барнс, Джесси (2007-11-07). «DRM: i915: поддержка настройки режима добавления». Git (совершить). Ядро. Получено 2013-08-31.
- ^ Педдикорд, Джейкоб (2007-09-08). «Исправьте замороженную систему с помощью ключей Magic SysRq». Fosswire. Получено 2013-08-31.
- ^ Каллея, Диего (17 июля 2012 г.). «Linux 2.6.12». Новички в ядре Linux. Получено 2013-08-31.
- ^ "QA / Sysrq". Проект Fedora. 2013-05-09. Получено 2015-04-09.
- ^ Тернер, Глен; Комарински, Марк Ф (31 марта 2003 г.). «Волшебный ключ SysRq». Практическое руководство по удаленной последовательной консоли. Проект документации Linux. Получено 2015-05-08.
- ^ Данжу, Жюльен. "sysrqd" (проект). Получено 2016-09-13.
- ^ van Heusden, Folkert. "tcpconsole". Получено 2013-08-31.
- ^ Морган, Пол. "Hangwatch". GitHub. Получено 2013-08-31.
- ^ «27. Краткий справочник по команде xm», Руководство по виртуализации Enterprise Linux 5, Красная шляпа, получено 2013-08-31
- ^ «Сочетания клавиш для отладки». Документы Chromium OS. Получено 2018-10-22.
- ^ "Изменить 29110: CHROMIUM: sysrq: рассматривать F10 как волшебный ключ sysrq". Получено 2016-07-11.
- ^ «Разработчик Chromium OS: SysRq в ядре ChromiumOS». Получено 2016-07-11.
- ^ "Помогает отладить зависает система". Проекты Chromium. Получено 2018-09-25.
- ^ "CHROMIUM: sysrq: добавить возможность для sysrq-x сигнализировать хром / X". Получено 2018-04-12.
внешняя ссылка
- "Документация / sysrq.txt". Linux (дерево исходных кодов ядра). kernel.org. Получено 2017-01-31.
- "Взломы ключей Linux Magic System Request". Linux (документация ядра Linux). kernel.org. Получено 2020-06-01.
- Мортон, Эндрю (2013-03-13). «Патч ядра к дереву -mm, добавивший функцию / proc / sysrq-trigger: это делает возможности sysrq доступными для удаленных пользователей». Получено 2015-04-09.
- Лоуренс, Тони (13 апреля 2005 г.). «Magic Sysrq Key в Linux». А. П. Лоуренс. Получено 2015-04-09.
- Галл, Том (2000-04-01). "Магический системный запрос". Разработчик работает. IBM. Архивировано из оригинал на 2007-05-27. Получено 2013-09-03.