10.3. 대상 시스템 상태로 부팅
시스템 관리자는 시스템의 부팅 프로세스를 제어하고 시스템을 부팅할 상태를 정의할 수 있습니다. 이를 systemd 대상이라고 하며 시스템이 특정 수준의 기능에 도달하기 시작하는 systemd 장치 세트입니다. systemd 대상으로 작업하는 동안 기본 대상을 보고, 런타임에 대상을 선택하고, 기본 부팅 대상을 변경하고, 긴급 또는 복구 대상으로 부팅할 수 있습니다.
10.3.1. 대상 단위 파일 링크 복사링크가 클립보드에 복사되었습니다!
systemd 의 대상은 시스템을 시작하는 동안 동기화 지점 역할을 하는 관련 장치의 그룹입니다. .target 파일 확장자로 끝나는 대상 장치 파일은 systemd 대상을 나타냅니다. 대상 장치의 목적은 종속성 체인을 통해 다양한 systemd 장치를 그룹화하는 것입니다.
다음 예제를 고려하십시오.
-
마찬가지로,
multi-user.target단위는 NetworkManager(NetworkManager.service) 또는 D-Bus(dbus.service)와 같은 다른 필수 시스템 서비스를 시작하고basic.target이라는 다른 대상 장치를 활성화합니다.
다음 systemd 대상을 기본값 또는 현재 대상으로 설정할 수 있습니다.
| rescue | 기본 시스템에서 가져오고 복구 쉘을 생성하는 단위 대상 |
|---|---|
| multi-user | 다중 사용자 시스템을 설정하기 위한 단위 대상 |
| graphical | 그래픽 로그인 화면을 설정하는 단위 대상 |
| emergency | 기본 콘솔에서 긴급 쉘을 시작하는 단위 대상 |
10.3.2. 부팅할 기본 대상 변경 링크 복사링크가 클립보드에 복사되었습니다!
default.target 심볼릭 링크는 시스템이 부팅해야 하는 systemd 대상을 나타냅니다. 시스템이 시작되면 systemd는 이 링크를 확인하고 정의된 대상으로 부팅됩니다. /etc/systemd/system/default.target 파일에서 현재 선택한 기본 대상 장치를 찾을 수 있습니다. 각 대상은 특정 수준의 기능을 나타내며 다른 단위를 그룹화하는 데 사용됩니다. 또한 대상 단위는 부팅 중에 동기화 지점 역할을 합니다. 시스템이 부팅되는 기본 대상을 변경할 수 있습니다. 기본 대상 장치를 설정하면 다음에 다시 부팅할 때까지 현재 대상이 변경되지 않은 상태로 유지됩니다.
사전 요구 사항
- 루트 액세스 권한이 있습니다.
절차
systemd가 시스템을 시작하는 데 사용하는 현재 기본 대상 장치를 결정합니다.systemctl get-default graphical.target
# systemctl get-default graphical.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 로드된 대상을 나열합니다.
systemctl list-units --type target
# systemctl list-units --type targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 다른 대상 단위를 사용하도록 시스템을 구성합니다.
systemctl set-default <name>.target
# systemctl set-default <name>.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;name>을 기본적으로 사용하려는 대상 단위의 이름으로 바꿉니다.Example: # systemctl set-default multi-user.target Removed /etc/systemd/system/default.target Created symlink /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target
Example: # systemctl set-default multi-user.target Removed /etc/systemd/system/default.target Created symlink /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기본 대상 단위를 확인합니다.
systemctl get-default multi-user.target
# systemctl get-default multi-user.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 새 기본 대상으로 전환합니다.
systemctl isolate default.target
# systemctl isolate default.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 시스템을 재부팅합니다.
10.3.3. 현재 대상 변경 링크 복사링크가 클립보드에 복사되었습니다!
실행 중인 시스템에서 재부팅하지 않고 현재 부팅의 대상 장치를 변경할 수 있습니다. 다른 대상으로 전환하면 systemd 는 이 대상에 필요한 모든 서비스와 해당 종속 항목을 시작하고 새 대상이 활성화하지 않는 모든 서비스를 중지합니다. 수동으로 다른 대상으로 전환하는 것은 일시적인 작업일 뿐입니다. 호스트를 재부팅하면 systemd가 기본 대상으로 다시 부팅됩니다.
절차
선택 사항: 선택할 수 있는 대상 목록을 표시합니다.
systemctl list-units --type target
# systemctl list-units --type targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고단위 파일에
AllowIsolate=yes옵션이 설정된 대상만 격리할 수 있습니다.현재 부팅 시 다른 대상 단위로 변경합니다.
systemctl isolate <name>.target
# systemctl isolate <name>.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow & lt;name >을 현재 부팅 시 사용할 대상 단위의 이름으로 바꿉니다.
Example: # systemctl isolate multi-user.target
Example: # systemctl isolate multi-user.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
multi-user및 모든 종속 단위라는 대상 장치를 시작하고 다른 모든 장치를 즉시 중지합니다.
10.3.4. 복구 모드로 부팅 링크 복사링크가 클립보드에 복사되었습니다!
시스템이 이후 대상에 도달할 수 없는 경우 문제 해결 또는 복구를 위해 단일 사용자 환경을 제공하는 복구 모드로 부팅하고 일반 부팅 프로세스가 실패합니다. 복구 모드에서는 시스템이 모든 로컬 파일 시스템을 마운트하고 특정 중요한 시스템 서비스를 시작하려고 하지만 네트워크 인터페이스를 활성화하지는 않습니다.
사전 요구 사항
- 루트 액세스
절차
복구 모드로 들어가려면 현재 세션의 현재 대상을 변경합니다.
systemctl rescue Broadcast message from root@localhost on pts/0 (Fri 2023-03-24 18:23:15 CEST): The system is going down to rescue mode NOW!
# systemctl rescue Broadcast message from root@localhost on pts/0 (Fri 2023-03-24 18:23:15 CEST): The system is going down to rescue mode NOW!Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 명령은
systemctl isolate rescue.target과 유사하지만 현재 시스템에 로그인한 모든 사용자에게 정보 메시지를 보냅니다.systemd가 메시지를 보내지 않도록 하려면--no-wall명령줄 옵션을 사용하여 다음 명령을 입력합니다.systemctl --no-wall rescue
# systemctl --no-wall rescueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
문제 해결
시스템이 복구 모드로 전환할 수 없는 경우 가능한 최소한의 환경을 제공하는 긴급 모드로 부팅할 수 있습니다. 긴급 모드에서는 읽기용으로만 루트 파일 시스템을 마운트하고 다른 로컬 파일 시스템을 마운트하지 않고 네트워크 인터페이스를 활성화하지 않으며 몇 가지 필수 서비스만 시작합니다.
10.3.5. 부팅 프로세스 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
시스템 관리자는 부팅 시 기본값이 아닌 대상을 선택하여 부팅 프로세스의 문제를 해결할 수 있습니다. 부팅 시 대상을 변경하면 단일 부팅에만 영향을 미칩니다. 가능한 가장 최소한의 환경을 제공하는 긴급 모드로 부팅할 수 있습니다.
절차
- 시스템을 재부팅하고 일반 부팅을 시작하는 Enter 키를 제외한 임의의 키를 눌러 부트 로더 메뉴 카운트다운을 중단합니다.
- 시작할 커널 항목으로 커서를 이동합니다.
- E 키를 눌러 현재 항목을 편집합니다.
linux로 시작하는 행 끝으로 이동하고 Ctrl+E를 눌러 행 끝으로 이동합니다.linux ($root)/vmlinuz-5.14.0-70.22.1.e19_0.x86_64 root=/dev/mapper/rhel-root ro crash\ kernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv/swap rhgb quiet
linux ($root)/vmlinuz-5.14.0-70.22.1.e19_0.x86_64 root=/dev/mapper/rhel-root ro crash\ kernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv/swap rhgb quietCopy to Clipboard Copied! Toggle word wrap Toggle overflow 대체 부팅 대상을 선택하려면
linux로 시작하는 행의 끝에systemd.unit=매개 변수를 추가합니다.linux ($root)/vmlinuz-5.14.0-70.22.1.e19_0.x86_64 root=/dev/mapper/rhel-root ro crash\ kernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv/swap rhgb quiet systemd.unit=<name>.target
linux ($root)/vmlinuz-5.14.0-70.22.1.e19_0.x86_64 root=/dev/mapper/rhel-root ro crash\ kernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv/swap rhgb quiet systemd.unit=<name>.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;name>을 사용하려는 대상 단위의 이름으로 바꿉니다. 예:systemd.unit=emergency.target- Ctrl+X를 눌러 이러한 설정으로 부팅합니다.