웹사이트 검색

SystemD에서 실행 수준(대상)을 변경하는 방법


Systemd는 Linux용 최신 초기화 시스템으로, 널리 사용되는 SysV 초기화 시스템 및 LSB 초기화 스크립트와 호환되는 시스템 및 서비스 관리자입니다. 다음 글에서 설명하는 것처럼 SysV init의 단점을 극복하기 위한 것이었습니다.

  1. 'init'과 'systemd' 뒤에 숨겨진 이야기: Linux에서 'init'를 'systemd'로 바꿔야 했던 이유

Linux와 같은 Unix 계열 시스템에서는 운영 체제의 현재 운영 상태를 런레벨l이라고 합니다. 이는 실행 중인 시스템 서비스를 정의합니다. SysV init와 같은 널리 사용되는 초기화 시스템에서 런레벨은 숫자로 식별됩니다. 그러나 시스템 런레벨에서는 대상이라고 합니다.

권장 읽기: 시스템 시작 프로세스 및 서비스 관리(SysVinit, Systemd 및 Upstart)

이번 글에서는 systemd를 사용하여 런레벨(타겟)을 변경하는 방법을 설명하겠습니다. 더 나아가기 전에 런레벨 번호와 대상 사이의 관계에 대해 간단히 살펴보겠습니다.

  • 실행 레벨 0poweroff.target과 일치합니다. (그리고 runlevel0.targetpoweroff.target에 대한 심볼릭 링크입니다. ).
  • 실행 수준 1rescue.target과 일치하며 runlevel1.target rescue.target에 대한 심볼릭 링크입니다. ).
  • 실행 수준 3은 multi-user.target에 의해 에뮬레이션됩니다(그리고 runlevel3.targetmulti-user.target에 대한 심볼릭 링크입니다). ).
  • 실행 레벨 5graphical.target에 의해 에뮬레이션됩니다(그리고 runlevel5.targetgraphical.target에 대한 심볼릭 링크입니다). ).
  • 실행 레벨 6reboot.target에 의해 에뮬레이션됩니다(그리고 runlevel6.targetreboot.target에 대한 심볼릭 링크입니다). ).
  • 긴급상황emergency.target과 일치합니다.

Systemd에서 현재 대상(실행 수준)을 보는 방법

시스템이 부팅되면 기본적으로 systemd는 default.target 유닛을 활성화합니다. 주요 작업은 종속성을 통해 서비스 및 기타 단위를 끌어와 활성화하는 것입니다.

기본 대상을 보려면 아래 명령을 입력하세요.

#systemctl get-default 

graphical.target

기본 대상을 설정하려면 아래 명령을 실행하세요.

systemctl set-default multi-user.target  

Systemd에서 대상(런레벨)을 변경하는 방법

시스템이 실행되는 동안 대상(실행 수준)을 전환할 수 있습니다. 즉, 해당 대상 아래에 정의된 서비스와 장치만 이제 시스템에서 실행됩니다.

런레벨 3으로 전환하려면 다음 명령을 실행하세요.

systemctl isolate multi-user.target 

시스템을 런레벨 5로 변경하려면 아래 명령을 입력하세요.

systemctl isolate graphical.target

systemd에 대한 자세한 내용을 보려면 다음 유용한 기사를 읽어보세요.

  1. Linux에서 'Systemctl'을 사용하여 'Systemd' 서비스 및 장치를 관리하는 방법
  2. 쉘 스크립트를 사용하여 Systemd에서 새 서비스 단위를 생성하고 실행하는 방법
  3. 시스템 시작 프로세스 및 서비스 관리(SysVinit, Systemd 및 Upstart)
  4. Journalctl을 사용하여 Systemd에서 로그 메시지 관리 [종합 안내서]

이 가이드에서는 systemd를 사용하여 런레벨(대상)을 변경하는 방법을 보여주었습니다. 이 기사에 관한 질문이나 생각이 있으면 아래 의견 양식을 사용하여 보내주십시오.