Введение
Команды клавиатуры для восстановления системы Linux. Магическая клавиша SysRq – это комбинация клавиш, распознаваемая ядром Linux, позволяющая пользователю выполнять различные команды низкого уровня независимо от состояния системы. Она часто используется для восстановления после зависаний или перезагрузки компьютера без повреждения файловой системы. Её эффект аналогичен аппаратной кнопке сброса (или выключателю питания), но с гораздо большим количеством опций и контролем. Эта комбинация клавиш предоставляет доступ к функциям аварийного восстановления. В этом смысле её можно рассматривать как последовательность выхода из критической ситуации. Среди основных предлагаемых команд – принудительное отмонтирование файловых систем, завершение процессов, восстановление состояния клавиатуры и запись несохранённых данных на диск. Магическая клавиша SysRq не может работать в определенных условиях, например, при панике ядра или аппаратном сбое, препятствующем нормальной работе ядра.
The magic SysRq key is a key combination understood by the Linux kernel, which allows the user to perform various low level commands regardless of the system's state. It is often used to recover from freezes, or to reboot a computer without corrupting the filesystem. Its effect is similar to the computer's hardware reset button (or power switch) but with many more options and much more control. This key combination provides access to features for disaster recovery. In this sense, it can be considered a form of escape sequence. Principal among the offered commands are means to forcibly unmount file systems, kill processes, recover keyboard state, and write unwritten data to disk. The magic SysRq key cannot work under certain conditions, such as a kernel panic or a hardware failure preventing the kernel from running properly.
Применение
До появления журналируемых файловых систем, обычным применением магической клавиши SysRq была безопасная перезагрузка заблокированного компьютера Linux (сокращенно REISUB), что позволяло избежать риска повреждения файловой системы. С современными файловыми системами эта практика не рекомендуется, поскольку не дает никаких преимуществ по сравнению с обычной перезагрузкой, хотя значение по умолчанию для kernel.sysrq в таких дистрибутивах, как Ubuntu и Debian, остается 176 и 438 соответственно. Ранее клавиша также использовалась для завершения работы зависшей графической программы, поскольку X Window System имела полный контроль над графическим режимом и устройствами ввода. На дистрибутивах, не имеющих команды, сочетание клавиш иногда может принудительно вернуть в текстовую консоль. (Используйте , , , , где size=100% – максимальное количество текстовых консолей, настроенных в дистрибутиве. обычно используется для повторного входа в графический режим на системе, где сервер X не завершил работу аварийно.) Существуют также дистрибутивы, где + (, ,) открывает текстовые консоли, возвращает в графический режим, возвращает в графический режим на экране входа, чтобы войти под другим пользователем.
which avoided a risk of filesystem corruption. With modern filesystems, this practice is not encouraged, offering no upsides over straight reboot, though the default value of kernel. sysrq in such distributions as Ubuntu and Debian remains 176 and 438 respectively. Another past use was to kill a frozen graphical program, as the X Window System used to have complete control over graphical mode and input devices. On distributions that do not include a command, the key command may sometimes be able to force a return to a text console. (Use , , , , , where size=100% is the highest number of text consoles set up by the distribution. would normally be used to reenter GUI mode on a system on which the X server has not crashed.) There are also distributions where + (, ,) opens text consoles, reenter GUI mode, reenter GUI mode on the login page, in order to log in another user.
Конфигурация
Эта функция управляется как опцией времени компиляции в конфигурации ядра, так и параметром sysctl ядра. В новых ядрах (начиная с 2.6.12) появилась возможность более детально настроить использование магической клавиши SysRq. На этих машинах значение, записываемое в , может быть 0, 1 или числом больше 1, которое представляет собой битовую маску, определяющую разрешенные функции. В Ubuntu это значение устанавливается при загрузке в соответствии с , определенным в .
On newer kernels (since 2.6.12), it is possible to have more fine grained control over how the magic SysRq key can be used. On these machines, the number written to can be 0, 1, or a number greater than 1 which is a bitmask indicating which features to allow. On Ubuntu this is set at boot time to the value defined in .
Другие способы вызова Magic SysRq
В то время как магическая клавиша SysRq изначально была реализована как часть обработчика клавиатуры ядра для отладки, эта функциональность также была предоставлена через файловую систему proc и обычно используется для обеспечения расширенных возможностей управления для систем без монитора и удаленных систем. Из программ пользовательского пространства (таких как командная строка) доступ к SysRq можно получить, записывая в (например, ). Демоны Linux и предоставляют способ доступа к функциям SysRq через TCP-соединение после аутентификации с помощью обычного текстового пароля. Демон будет вызывать предварительно настроенные триггеры SysRq, когда средняя загрузка системы превысит определенный порог. Гипервизор Xen имеет функциональность для отправки магических команд гостевым доменам через свою команду. Кроме того, команду SysRq можно вызвать с паравиртуальной консоли Xen, отправив прерывание, за которым следует желаемая клавиша. У Chromebooks есть клавиатура, но нет выделенной клавиши SysRq. Вместо этого они используют , однако некоторые клавиши выполняют другую функцию. Серверы IBM Power Systems могут вызвать функцию Magic SysRq, используя , за которой следует желаемая клавиша, из консоли управления оборудованием. Разделы IBM-мейнфреймов могут вызвать функцию Magic SysRq, используя , за которой следует желаемая клавиша, на консоли 3270 или HMC.