소개
이 랩에서는 Linux 에서 systemd 유닛의 상태를 확인하는 방법을 배우게 됩니다. systemctl is-enabled 명령을 사용하여 유닛이 부팅 시 자동으로 시작하도록 구성되었는지 확인하고, systemctl list-units 명령을 사용하여 활성 유닛을 나열합니다. 마지막으로, /etc/systemd 디렉토리에서 systemd 유닛 파일의 위치를 탐색합니다. 이 랩은 서비스 관리 및 systemd 초기화 프로세스 이해에 필수적인 기술을 제공합니다.
systemctl is-enabled 로 유닛 상태 확인
이 단계에서는 systemctl is-enabled 명령을 사용하여 systemd 유닛의 상태를 확인하는 방법을 배우게 됩니다.
Systemd 는 Linux 를 위한 시스템 및 서비스 관리자입니다. 초기 부팅 프로세스 이후 프로세스를 관리합니다. Systemd 에서 "유닛 (unit)"은 서비스, 장치, 마운트 지점 또는 기타 시스템 리소스를 처리하는 방법을 설명하는 구성 파일을 의미합니다.
systemctl is-enabled 명령은 유닛이 부팅 시 자동으로 시작하도록 구성되었는지 확인합니다. 이는 시스템이 시작될 때마다 실행하려는 서비스에 중요합니다.
ssh 서비스의 상태를 확인해 보겠습니다. SSH (Secure Shell) 서비스는 서버에 원격으로 연결할 수 있도록 해줍니다.
아직 열려 있지 않다면 터미널을 엽니다. 데스크톱 왼쪽에서 Xfce 터미널 (Terminal) 아이콘을 찾을 수 있습니다.
다음 명령을 입력하고 Enter 키를 누릅니다.
systemctl is-enabled ssh
다음과 유사한 출력을 볼 수 있습니다.
enabled
이 출력은 ssh 서비스가 시스템 부팅 시 자동으로 시작하도록 구성되었음을 나타냅니다.
이제 기본적으로 활성화되지 않을 수 있는 서비스, 예를 들어 apache2 (웹 서버) 의 상태를 확인해 보겠습니다.
다음 명령을 입력하고 Enter 키를 누릅니다.
systemctl is-enabled apache2
다음과 같은 출력을 볼 수 있습니다.
disabled
이는 apache2 서비스가 부팅 시 자동으로 시작하도록 구성되지 않았음을 의미합니다.
서비스가 활성화되었는지 또는 비활성화되었는지 이해하는 것은 시스템을 관리하고 재부팅 후 필요한 서비스가 실행되도록 하는 데 중요합니다.
systemctl is-enabled 명령은 서비스가 부팅 시 시작하도록 구성되었는지 여부만 알려주며, 현재 실행 중인지 여부는 알려주지 않습니다. 서비스가 실행 중인지 확인하는 방법은 다음 단계에서 배우게 됩니다.
다음 단계로 진행하려면 **계속 (Continue)**을 클릭하십시오.
systemctl list-units 로 유닛 목록 확인
이 단계에서는 systemctl list-units 명령을 사용하여 활성 systemd 유닛을 나열하는 방법을 배우게 됩니다.
systemctl is-enabled가 유닛이 부팅 시 시작하도록 구성되었는지 알려주는 반면, systemctl list-units는 현재 시스템 메모리에 로드되어 활성화된 유닛을 보여줍니다. 이는 systemd 에서 현재 관리하고 있는 서비스, 장치 및 기타 리소스를 확인하는 데 유용합니다.
아직 열려 있지 않다면 터미널을 엽니다.
다음 명령을 입력하고 Enter 키를 누릅니다.
systemctl list-units
긴 유닛 목록을 보게 됩니다. 출력에는 일반적으로 다음과 같은 열이 포함됩니다.
UNIT: 유닛의 이름.LOAD: 유닛의 구성이 메모리에 로드되었는지 여부.ACTIVE: 상위 수준 유닛 활성화 상태 (예:active,inactive,failed).SUB: 하위 수준 유닛 활성화 상태 (예:running,exited,waiting).DESCRIPTION: 유닛에 대한 간략한 설명.
목록은 상당히 길 수 있습니다. 더 쉽게 관리하려면 출력을 필터링할 수 있습니다. 예를 들어, 서비스 유닛 (.service로 끝나는 유닛) 만 보려면 다음을 사용할 수 있습니다.
systemctl list-units --type service
이 명령은 현재 활성 상태인 모든 서비스의 목록을 보여줍니다.
grep을 사용하여 출력 내에서 특정 유닛을 검색할 수도 있습니다. 예를 들어, ssh 서비스를 찾으려면 다음을 사용합니다.
systemctl list-units | grep ssh
이는 ssh.service 유닛이 활성 상태인 경우 해당 유닛에 해당하는 줄을 표시합니다.
systemctl list-units 명령은 시스템의 현재 상태와 systemd 에서 관리하는 프로세스를 이해하는 강력한 도구입니다. 다양한 옵션과 grep을 사용하여 필요한 정보를 찾아보세요.
다음 단계로 이동하려면 **계속 (Continue)**을 클릭하십시오.
/etc/systemd 에서 유닛 파일 검토
이 단계에서는 systemd 가 유닛 구성 파일을 저장하는 위치와 해당 내용을 보는 방법을 살펴보겠습니다.
서비스 및 기타 리소스가 관리되는 방식을 정의하는 Systemd 유닛 파일은 일반적으로 /etc/systemd/system/ 디렉토리에 있습니다. 이 디렉토리에는 시스템 관리자 또는 패키지에 의해 설치된 유닛 파일이 포함되어 있습니다.
이 디렉토리로 이동하여 내용을 나열해 보겠습니다.
아직 열려 있지 않다면 터미널을 엽니다.
먼저 cd 명령을 사용하여 현재 디렉토리를 /etc/systemd/system/으로 변경합니다.
cd /etc/systemd/system/
이제 ls 명령을 사용하여 이 디렉토리의 파일을 나열합니다.
ls
.service, .target 및 기타 유닛 파일 목록을 보게 됩니다. 이러한 파일에는 systemd 가 각 유닛을 처리하는 방법에 대한 지침이 포함되어 있습니다.
cat 명령을 사용하여 ssh.service 파일의 내용을 검사해 보겠습니다. 현재 /etc/systemd/system/ 디렉토리에 있으므로 파일 이름을 직접 참조할 수 있습니다.
cat ssh.service
ssh.service 파일의 내용을 보게 됩니다. 이 파일은 systemd 에 SSH 서비스를 시작, 중지 및 관리하는 방법을 알려주는 다양한 섹션과 지시어가 있는 일반 텍스트 파일입니다.
예를 들어, [Unit], [Service], [Install]과 같은 섹션을 볼 수 있습니다.
[Unit]섹션에는 유닛 및 종속성에 대한 일반 정보가 포함되어 있습니다.[Service]섹션은 서비스를 시작하고 중지하기 위해 실행할 명령을 정의합니다.[Install]섹션에는 유닛을 설치하고 활성화하는 방법에 대한 정보가 포함되어 있습니다.
이러한 유닛 파일의 구조와 내용을 이해하는 것은 systemd 를 사용한 고급 시스템 관리에 핵심입니다. 세부 사항은 복잡할 수 있지만, 파일을 찾을 수 있는 위치와 보는 방법을 아는 것만으로도 훌륭한 시작입니다.
더 큰 파일의 경우 파일 내용을 페이지별로 보려면 cat 대신 less를 사용할 수 있습니다.
less ssh.service
less를 종료하려면 q를 누르십시오.
이 랩을 완료하려면 **계속 (Continue)**을 클릭하십시오.
요약
이 랩에서는 systemctl is-enabled 명령을 사용하여 systemd 유닛이 부팅 시 자동으로 시작하도록 활성화되었는지 확인하는 방법을 배웠습니다. ssh 및 apache2 서비스의 상태를 확인하여 이를 연습했으며, "enabled"는 유닛이 부팅 시 시작됨을 의미하고 "disabled"는 시작되지 않음을 의미한다는 것을 이해했습니다.
또한 systemctl list-units 명령을 사용하여 활성 systemd 유닛을 나열하는 방법을 배웠으며, 이는 현재 시스템에서 실행 중이거나 로드된 유닛에 대한 더 광범위한 보기를 제공합니다. 마지막으로, /etc/systemd 디렉토리에 있는 systemd 유닛의 구성 파일을 검사하여 유닛이 정의되고 구성되는 방식에 대한 통찰력을 얻는 방법을 살펴보았습니다.



