Magic SysRq 키

Magic SysRq key
SysRq 키

매직 SysRq 키리눅스 커널에서 이해한 키 조합으로, 사용자는 시스템 상태에 관계없이 다양한 로우 레벨 명령을 수행할 수 있다.일시 중지 상태에서 복구하거나 파일 시스템을 손상시키지 않고 시스템을 재부팅하는 데 종종 사용된다.[1]그 효과는 컴퓨터의 하드웨어 재설정 버튼(또는 전원 스위치)과 유사하지만 더 많은 옵션과 훨씬 더 많은 제어 기능을 가지고 있다.

이 키 조합을 통해 소프트웨어 개발 및 재해 복구를 위한 강력한 기능에 액세스할 수 있다.이런 의미에서 탈출 시퀀스의 한 형태로 볼 수 있다.제공된 명령 중 주된 것은 파일 시스템을 강제로 마운트 해제하고 프로세스를 중지하며 키보드 상태를 복구하고 디스크에 기록되지 않은 데이터를 쓰는 것이다.이러한 업무와 관련하여, 이 기능은 최후의 수단으로서의 역할을 한다.

매직 SysRq 키는 커널 패닉이나[2] 커널이 제대로 실행되지 못하게 하는 하드웨어 장애와 같은 특정 조건에서는 작동할 수 없다.

명령

키 조합은 다음과 같이 구성된다.Alt+SysRq 및 실행된 명령을 제어하는 다른 키는 누른 상태로 유지되는 한 명령 키를 누르기 전에 해제될 수 있다SysRq.

이 조합은 항상 QWERTY 자판 배열을 가정한다.[citation needed] 예를 들어 드보락 자판 배열에서 시스템을 종료하는 조합은 키 대신 키를 사용한다. 더욱이 일부 자판에서는 별도의 키를 제공하지 않을 수도 있다.이 경우 별도의 키가 있어야 한다.

특히 랩톱을 비롯한 일부 장치에서는 키를 눌러야 할 수 있다. 예를 들어, Thinkpad Carbon X1에서 는 ++FnS를 동시에 누른 다음 해제하고 고정하는 동안 활성화된다(여기 참조).

또한 키보드 없이도 SysRq 기능에 액세스할 수 있다.아래의 § 기타 Magic SysRq 호출 방법을 참조하십시오.일부 명령은 의 비트마스크 값에 지정된 대로 상자에서 사용하지 않도록 설정할 수 있다는 점에 유의하십시오./proc/sys/kernel/sysrq.[3]

액션 QWERTY 드보락 아저티 콜막
콘솔로 출력되는 커널 메시지 유형을 제어하는 콘솔 로그 수준 설정 0 - 9 0 - 9 0 - 9
(없음)
0 - 9
파일 시스템을 마운트 해제하거나 동기화하지 않고 즉시 시스템 재부팅 b x b b
시스템 충돌을 수행하십시오.크래시 덤프가 구성된 경우 취해진다. c j c c
현재 보유 중인 모든 잠금 표시(잠금)CONFIG_LOCDEP 커널 옵션 필요) d e d s
Init(PID 1)를 제외한 모든 프로세스에 SIGTERM 신호 전송 e . e f
OOM 상태를 완화하기 위한 프로세스를 죽이는 oom_kill 호출 f u f t
커널 모드 설정을 사용하는 경우 커널의 프레임 버퍼 콘솔로 전환하십시오.[4]
인커널 디버거 kdb가 있으면 디버거를 입력하십시오.
g i g d
콘솔로 terse 도움말 문서 출력
명령에 바인딩되지 않은 키도 이 작업을 수행해야 함
h d h h
초기화를 제외한 모든 프로세스에 SIGKILL 신호 전송 i c i u
강제 "그냥 해동" – FIFREZE ioctl에 의해 고정된 파일 시스템. j h j n
현재 가상 콘솔에서 모든 프로세스 제거(X 및 SVGAlib 프로그램을 제거할 수 있음, 아래 참조)
이것은 원래 보안 주의 키를 모방하기 위해 고안되었다.
k t k e
모든 활성 CPU에 대한 스택 역추적을 표시한다. l n l i
콘솔로 전류 메모리 정보 출력 m m , m
모든 높은 우선순위 및 실시간 작업의 적절한 수준 재설정 n b n k
시스템 종료 o r o y
현재 레지스터 및 플래그를 콘솔로 출력 p l p ;
모든 활성 고해상도 타이머 및 클럭 소스를 표시하십시오. q ' a q
X11SVGAlib와 같은 프로그램에서 사용하는 키보드를 Raw mode에서 XLAT 모드로 전환 r p r p
마운트된 모든 파일 시스템 동기화 s o s r
콘솔로 현재 태스크 및 태스크 정보 목록 출력 t y t g
마운트된 모든 파일 시스템을 읽기 전용 모드로 다시 마운트 u g u l
프레임 버퍼 콘솔을 강제로 복원하십시오.
ARM 프로세서의 경우 대신 ETM 버퍼 덤프를 발생시키십시오.
v k v v
차단된(D 상태) 태스크 목록 표시 w , z w
PowerPC 플랫폼의 xmon 인터페이스에서 사용.일부 커널에 대한 잠금(보안 부팅 제한) 사용 안 함 x q x x
글로벌 CPU 레지스터 표시(SPARC-64 특정) y f y j
ftrace 버퍼 덤프 z ; w z

x86_64 커널의 h+ 출력:

sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(v) show-blocked-tasks(w) dump-ftrace-properties(z)

사용하다

마법의 SysRq 키는 일반적으로 다른 방법으로 잠긴 리눅스 시스템의 안전한 재부팅을 수행하는 것이다(abbr).Reisub).이렇게 하면 재부팅 시 FSCK가 필요한 것을 방지할 수 있으며 일부 프로그램에서는 저장되지 않은 작업의 긴급 백업을 저장할 수 있다.[5]QWERTY(또는 AZERTY) 연상키: R"아잉 레판트E s o tterly oring", R"eboot ven ystem tterly roken" 또는 단순히 거꾸로 읽히는 "BUSIER" 단어들은 종종 다음과 같은 SysRq-key 시퀀스를 기억하기 위해 사용된다.

  • unawR (X에서 키보드 제어권 되찾기),
  • 트라이앵글E(SIGTERM을 모든 프로세스에 전송하여 정상적으로 종료할 수 있음)
  • kllI(초기화를 제외한 모든 프로세스에 SIGKill을 전송하여 즉시 종료하도록 강제함)
  • Sync(데이터를 디스크에 저장)
  • Unmount(모든 파일 시스템 읽기 전용 제거)
  • 도보로B 가다

냉동 그래픽 프로그램을 죽이기 위해 마법의 키를 사용할 경우, 프로그램은 텍스트 모드를 복원할 기회가 없다.이것은 모든 것을 읽을 수 없게 만들 수 있다.명령 텍스트 모드(SVGAlib의 일부)와 재설정 명령은 텍스트 모드를 복원하고 콘솔을 다시 읽을 수 있게 만들 수 있다.

텍스트 모드 명령을 포함하지 않는 배포에서 키 명령 ++AltF1는 텍스트 콘솔로 강제 반환할 수 있는 경우도 있다.(여기서 n은 배포에 의해 설정된 텍스트 콘솔의 가장 높은 수입니다.Ctrl++AltF(n+1)는 일반적으로 X 서버가 충돌하지 않은 시스템에서 GUI 모드로 재진입하는 데 사용된다.또한 Alt+ + (,F3 ...)F(n-2)가 텍스트 콘솔을 열고, ++AltF1 GUI 모드로 재진입하며, +++AltF2 로그인 페이지에서 다른 사용자를 로그인하기 위해 GUI 모드로 재진입하는 배포도 있다.

배열

이 기능은 커널 구성의 컴파일 시간 옵션 CONFIG_MAGIAL_SYSRQ와 sysctl 커널 매개 변수인 커널.sysrq에 의해 제어된다.

새로운 커널(2.6.12[6] 이후)에서는 매직 SysRq 키를 어떻게 사용할 수 있는지에 대해 보다 세밀한 제어를 할 수 있다.[7]이러한 시스템에서 /proc/sys/커널/sysrq에 쓴 숫자는 0, 1 또는 1보다 큰 숫자일 수 있으며, 이는 허용할 형상을 나타내는 비트마스크일 수 있다.Ubuntu에서는 부팅 시 /etc/sysctl.d/10-magic-sysrq.conf 에 정의된 값으로 설정된다.

Magic SysRq를 호출하는 다른 방법

매직 SysRq 키는 원래 디버깅을 위한 커널의 키보드 핸들러의 일부로 구현되었지만, 기능도 proc 파일 시스템을 통해 노출되었으며, 일반적으로 헤드리스 및 원격 시스템에 확장된 관리 기능을 제공하는 데 사용된다.사용자 공간 프로그램(명령줄 셸 등)에서 /proc/sysrq-트리거(예:echo s > /proc/sysrq-trigger).[1]

많은 임베디드 시스템에는 키보드가 연결되어 있지 않지만, 실행 중인 시스템에 텍스트 입출력용 시리얼 콘솔을 사용한다.시리얼 브레이크 신호를 보낸 다음 원하는 키를 전송하여 시리얼 콘솔을 통해 Magic SysRq 기능을 호출할 수 있다.휴식 시간을 보내는 방법은 시리얼 콘솔에 연결하는 데 사용되는 단말 프로그램이나 하드웨어에 따라 달라진다.이 기능을 활성화하려면 sysctl 옵션을 설정해야 한다.[8]

리눅스 데몬스 sysrqd[9] tcpconsole[10] 일반 텍스트 암호로 인증한 후 TCP 연결을 통해 SysRq 기능에 액세스하는 방법을 제공한다.행워치[11] 데몬은 시스템 로드 평균이 특정 임계값을 초과할 때 사전 구성된 SysRq 트리거를 호출한다.

Xen 하이퍼바이저에는 xm sysrq 명령을 통해 호스팅된 도메인에 매직 명령을 전송할 수 있는 기능이 있다.[12]또한 Xen 반가상화 콘솔에서 브레이크 시퀀스 O+에 이어 원하는 키를 전송하여 SysRq 명령을 호출할 수 있다.

크롬북은 키보드가 있지만 전용 SysRq 키는 없다.대신 VolumeUp+(+)AltF10[13][14][15]를 사용하지만 일부 키의 기능은 다르다.[16][17]

IBM Power Systems 서버는 O+에 이어 하드웨어 관리 콘솔에서 원하는 키를 사용하여 Magic SysRq 기능을 호출할 수 있다.

IBM 메인프레임 파티션은 -+에 이어 3270 또는 HMC 콘솔에서 원하는 키를 사용하여 Magic SysRq 기능을 호출할 수 있다.

참고 항목

참조

  1. ^ a b "Linux Magic System Request Key Hacks". kernel.org. 2013-08-12. Retrieved 2017-05-21.
  2. ^ Khamlichi, Mel (18 Oct 2010), Use Magic SysRq Combination Key to Recover from a Frozen System in Linux, Unixmen, archived from the original on 20 August 2014, retrieved 21 Sep 2014.
  3. ^ Linux Magic System Request Key Hacks — Linux 커널 설명서
  4. ^ Barnes, Jesse (2008-11-07). "DRM: i915: add mode setting support". Git (commit). Kernel. Retrieved 2013-08-31.
  5. ^ Peddicord, Jacob (2007-09-08). "Fix a Frozen System with the Magic SysRq Keys". Fosswire. Retrieved 2013-08-31.
  6. ^ Calleja, Diego (2012-07-17). "Linux 2.6.12". Linux Kernel Newbies. Retrieved 2013-08-31.
  7. ^ "QA/Sysrq". Fedora Project. 2013-05-09. Retrieved 2015-04-09.
  8. ^ Turner, Glen; Komarinski, Mark F (2003-03-31). "Magic SysRq key". Remote Serial Console How-To. The Linux Documentation Project. Retrieved 2015-05-08.
  9. ^ Danjou, Julien. "sysrqd" (project). Retrieved 2016-09-13.
  10. ^ van Heusden, Folkert. "tcpconsole". Retrieved 2013-08-31.
  11. ^ Morgan, Paul. "hangwatch". GitHub. Retrieved 2013-08-31.
  12. ^ "27. The xm command quick reference", Enterprise Linux 5 Virtualization Guide, RedHat, retrieved 2013-08-31
  13. ^ "Debug Button Shortcuts". Chromium OS docs. Retrieved 2018-10-22.
  14. ^ "Change 29110: CHROMIUM: sysrq: treat F10 as magic sysrq key". Retrieved 2016-07-11.
  15. ^ "Chromium OS dev: SysRq in ChromiumOS' kernel". Retrieved 2016-07-11.
  16. ^ "Helping debug system hangs". The Chromium Projects. Retrieved 2018-09-25.
  17. ^ "CHROMIUM: sysrq: add ability for sysrq-x to signal chrome/X". Retrieved 2018-04-12.

외부 링크