매직 SysRq 키
매직 SysRq 키는, Linux 커넬로 시스템 상태에 관한 저레벨 커멘드를 발행하는 키 순서이다.
SysRq와 그 외의 키를 조합해 사용한다.이것은 커넬 개발에 있어서의 디버그용인 것과 동시에, 자주 시스템이 다운 당했을 때에, 그 상태로부터의 회복이나 파일 시스템을 파손시키는 일 없이 컴퓨터를 재기동시키기 위해서 사용된다.
목차
용도
썬마이크로시스템의 Open Firmware(OpenBoot)과 같은 이 키 순서는, 소프트웨어 개발이나 트러블로부터의 회복을 행하기 위한 이하와 같은 툴에의 액세스를 제공한다.
- 강제적인 파일 시스템의 언마운트
- 프로세스의 강제 종료
- 키보드 상태의 회복
- 기입 캐쉬의 플래시(디스크에의 써)
- 시스템의 재기동
코맨드 키
키 순서는, Alt 키, SysRq 키 및 그 외의 키(코맨드 키)를 동시에 압하한다.코맨드 키는 키 배열에 따라서 다르다.또, 키보드에 SysRq 키가 없는 경우는, 프린트 스크린 키로 대용한다.
동작 | QWERTY | Dvorak | AZERTY |
---|---|---|---|
콘솔에 출력하는 커넬 메시지의 로그 레벨을 제어한다. | 0 - 9 | 0 - 9 | 0 - 9 (Shift 키는 사용하지 않는다) |
즉석에서 재기동한다.이 때 파일 시스템의 sync나 언마운트는 행해지지 않는다. | b | x | b |
커넬을 크래쉬 시킨다. | c | j | c |
현재 홀드 떠날 수 있어 이루 모든 락을 표시한다. | d | e | d |
init (PID 1)를 제외하는 모든 프로세스에 SIGTERM 시그널을 보낸다(프로세스를 종료시킨다). | e | . | e |
메모리 부족을 해소하기 위해서 프로세스를 종료시키는 oom_kill을 호출한다. | f | u | f |
Kernel Mode Setting(KMS) 사용시에, 커넬의 frame buffer 콘솔로 전환하기 위한 긴급 조치를 제공하는[1]. | g | i | g |
콘솔에 간단한 설명을 출력한다. | h 또는 Enter | d | h |
init를 제외한 모든 프로세스에 SIGKILL 시그널을 보낸다(프로세스를 강제 종료시킨다). | i | c | i |
가상 단말상의 모든 프로세스에 시큐어・어텐션・키(SAK)를 실행한다. | k | t | k |
현재 실행중의 모든 태스크의 백 트레이스를 표시한다. | l | n | l |
현재의 메모리 정보를 콘솔에 출력한다. | m | m | , |
모든 고우선도 및 리얼타임 태스크의 nice 레벨을 리셋트 한다. | n | b | n |
시스템을 정지시킨다. | o | r | o |
현재의 레지스터 및 플래그를 콘솔에 출력한다. | p | l | p |
모든 고정밀도 타이머 및 클락 소스를 표시한다. | q | ' | a |
키보드를 raw 모드로부터 XLATE 모드에 바꾼다.X Window를 사용하고 있는 경우, 우선 이 조작을 실시해 키보드를 해방한다. | r | p | r |
마운트 사라질 수 있어 이루 모든 파일 시스템을 sync 한다. | s | o | s |
현재의 태스크의 리스트와 그 정보를 콘솔에 표시한다. | t | y | t |
마운트 사라질 수 있어 이루 모든 파일 시스템을 읽어들여 전용 모드로 재마운트한다. | u | g | u |
Voyager SMP 프로세서 정보를 표시한다. | v | k | v |
블록 되고 있는(D state) 태스크의 리스트를 표시한다. | w | , | z |
이용법
설정
본기능을 사용하기 위해서는, 커넬이 그 컴파일 옵션인가, configuration로 유효하게 되어 컴파일 되고 있을 필요가 있다.
CONFIG_MAGIC_SYSRQ=y
또, /etc/sysctl.conf로 유효하게 되어 있지 않으면 안 된다.일부의 Linux 디스트리뷰션으로는, 유저가 잘못해 조작해 버리지 않게 디폴트로 무효가 되어 있다.
kernel.sysrq = 0
되고 있으면 무효이며,
kernel.sysrq = 1
그리고 유효하게 된다.이 설정 변경을 즉석에서 적용하려면 , 이하의 커멘드를 실행한다.
sysctl -p
커멘드 라인으로부터의 액세스
본기능은, 커넬의 디버그용으로 키보드 핸들러의 일부로서 실장되었다.또, proc 파일 시스템으로부터 사용할 수도 있다.이것에 의해, 헷드레스시스템이나 리모트 시스템에서도 쉘로부터 이용할 수 있다.
kernel.sysrq 파라미터로 무효로 되고 있는 경우, 우선 그것을 유효하게 한다.
echo 1 > /proc/sys/kernel/sysrq
매직 SysRq 키는, /proc/sysrq-trigger에 코맨드 키를 보내는 것으로 실행된다.
echo b > /proc/sysrq-trigger
이것은 Alt + SysRq + b와 같고, 시스템은 재기동된다.
리모트로부터의 액세스
Linux의 demon으로서 동작하는 sysrqd는, TCP/IP(포토 4094, 인증은 plaintext 패스워드)를 통해 SysRq에의 액세스 수단을 제공한다.
하이퍼 바이저로부터의 액세스
재기동 순서의 말 맞추기
Linux 컴퓨터가 다운 당했을 경우에 그것을 안전하게 재기동시키기 위한 매직 SysRq 키를 압하하는 일련의 순서를 기억하기 위한 말 맞추기가 있다.QWERTY 또는 AZERTY 배열로는,"Raising Elephants Is So Utterly Boring"(조우를 기른다고, 이제 매우 싫증),"Reboot Even If System Utterly Broken"(리부트할게.비록 시스템이 완전하게 망가지고 있었던이라고 해도), 또는 단지"BUSIER" (busy의 비교급)를 역으로부터 읽는다, 라고 한 것이 사용되고 있는[3].이것들은 이하의 조작을 나타낸다.
unRaw (X Window System으로부터 키보드의 제어를 되찾는다) tErminate (모든 프로세스에 SIGTERM 시그널을 보내, 정상적으로 종료시킨다) kIll (모든 프로세스에 SIGKILL 시그널을 보내, 강제적으로 종료시킨다) Sync (기입 캐쉬의 데이터를 디스크에 쓴다) Unmount (모든 파일 시스템을 읽어들여 전용으로 재마운트한다) reBoot (시스템을 재기동한다)
이 순서로 실시하면, 일부의 프로그램의 데이터 손실을 막아, 파일 시스템의 파손을 회피할 수 있다.
각 커멘드는 몇초간의 시간을 열어 투입해야 한다.예를 들면, 많은 프로그램은 SIGTERM 시그널을 받으면 데이터의 보존 등 처리를 실시해, sync나 언마운트는 그것을 실시하기 위해서 어느 정도의 시간을 필요로 한다.
시큐러티면에서의 염려
이 키에 의해, 키보드나 시리얼 콘솔로부터 시스템에 액세스 할 수 있는 누구라도 위험한 시스템 레벨의 커멘드가 이용 가능해지는 것이 일부에서 염려되고 있는[4].
관련 항목
참고 문헌
- ^ DRM: i915: add mode setting support
- ^ http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.2/html/Virtualization/sect-Virtualization-Commands_for_Red_Hat_Virtualization-The_xm_command_line_interface.html
- ^ http://fosswire.com/2007/09/08/fix-a-frozen-system-with-the-magic-sysrq-keys/
- ^ http://linuxgazette.net/issue81/vikas.html
- Tony Lawrence (2005년 4월 13일). "General notes on magic sysrq". A.P. Lawrence website. 2009년 12월 15일 열람.
- Tom Gall (2000년 4월 1일). "Magic sys request". Linux. IBM Developer Works. 2007년 5월 27 일시점의 오리지날보다 어카이브.2009년 12월 15일 열람.
외부 링크
- Documentation/sysrq.txt - Linux 커넬 소스 트리
- Kernel patch to the -mm tree that added the /proc/sysrq-trigger feature -매직 SysRq 키를 리모트 유저로부터 이용할 수 있도록 하는 패치
This article is taken from the Japanese Wikipedia 매직 SysRq 키
This article is distributed by cc-by-sa or GFDL license in accordance with the provisions of Wikipedia.
In addition, Tranpedia is simply not responsible for any show is only by translating the writings of foreign licenses that are compatible with CC-BY-SA license information.
0 개의 댓글:
댓글 쓰기