Systemd를 사용하여 서비스를 나열하는 방법

대부분의 주요 Linux 배포판은 Systemd라는 초기화 시스템을 사용하며, 이는 “서비스” 파일의 활성화 및 비활성화를 기반으로 작동합니다. 만약 이러한 서비스 파일들을 나열하고 싶지만 어떻게 해야 할지 모른다면, `systemctl` 명령어를 활용해야 합니다.

이 안내서에서는 Linux에서 Systemd 서비스 파일을 나열하는 다양한 방법들을 자세히 살펴보겠습니다. 시작하기 전에, Linux 운영체제가 Systemd와 함께 작동하는지 확인해야 합니다. 그 후, 터미널 창을 열고 다음 단계들을 따라 해보세요.

Systemd를 이용한 활성화된 서비스 목록 확인

Systemd를 자주 사용한다면, Linux 시스템이 부팅될 때 어떤 서비스들이 활성화되는지 궁금할 수 있습니다. 활성화된 서비스를 나열하는 것은 매우 간단하며, `systemctl –type=service –state=running` 명령어를 통해 가능합니다.

이 명령을 실행하면 활성화된 모든 서비스의 표와 간단한 설명이 나타납니다. 이 과정을 수행하려면 터미널 창을 열고 아래 명령을 실행하세요.

systemctl --type=service --state=running

만약 특정 서비스에 대한 활성 서비스만 걸러내고 싶다면, 이 큰 표를 일일이 살펴보는 것은 다소 번거로울 수 있습니다. 다행히도 `systemctl` 명령어는 `grep` 명령어와 결합하여 필터링 기능을 사용할 수 있습니다.

예를 들어, “snapd.service”가 실행 중이고 로드되었는지 확인하려면 `systemctl –type=service –state=running | grep ‘snapd’`를 입력하면 전체 표 대신 Snapd 서비스 정보만 표시됩니다.

systemctl --type=service --state=running | grep 'snapd'

출력된 표를 나중에 사용하기 위해 텍스트 파일로 저장하고 싶다면, 다음 명령어를 사용하세요:

systemctl --type=service --state=running > ~/active-services.txt

저장된 텍스트 파일은 `cat` 명령어를 통해 언제든지 확인할 수 있습니다.

cat ~/active-services.txt

Systemd를 사용한 비활성 서비스 목록 확인

활성화된 Systemd 서비스 목록을 확인하는 것도 유용하지만, 비활성화된 서비스 목록은 어떨까요? 물론, 이 또한 나열할 수 있습니다. 다음 단계를 따라 해 보세요. 먼저 터미널 창을 엽니다.

터미널 창이 열리고 사용할 준비가 되면, `systemctl –type=service` 명령어를 사용하되, `–state=` 슬롯에 “running” 대신 “inactive”를 입력합니다. 이렇게 하면 Linux 시스템에서 비활성화된 Systemd 서비스들을 확인할 수 있습니다.

systemctl --type=service --state=inactive

활성 서비스와 마찬가지로, Systemd는 비활성화된 Systemd 서비스들을 보여주는 깔끔한 표를 생성합니다. 특정 서비스가 중단되었는지 확인하려면 이 표를 `grep` 명령어와 결합하여 검색할 수 있습니다.

예를 들어, “updatedb.service” 파일이 비활성 상태인지 확인하려면, `systemctl –type=service –state=inactive` 명령어와 아래 `grep` 명령어를 조합하여 표를 검색할 수 있습니다.

systemctl --type=service --state=inactive | grep 'updatedb.service'

나중에 읽기 위해 비활성 Systemd 서비스 파일 전체 목록을 텍스트 파일로 저장해야 한다면, 다음 명령어를 사용하세요.

systemctl --type=service --state=inactive > ~/inactive-services.txt

터미널 창에서 바로 이 텍스트 파일을 읽으려면 `cat` 명령어를 사용하세요.

cat  ~/inactive-services.txt

Systemd를 이용해 설치된 모든 서비스 나열

활성화 여부와 관계없이 설치된 모든 Systemd 서비스를 확인해야 하는 경우, `systemctl list-unit-files –type=service` 명령어를 사용하고 `–state` 명령줄 스위치를 제외해야 합니다. `–state`를 생략하면 Systemd는 컴퓨터의 모든 서비스 파일을 쉽게 나열할 수 있습니다.

systemctl list-unit-files --type=service

위 명령어를 실행하면 Systemd는 시스템의 모든 서비스 파일이 포함된 표를 출력합니다. 여기에서 표를 정렬하여 필요한 서비스 파일을 찾을 수 있습니다.

특정 서비스 파일을 찾을 수 없는 경우, `systemctl list-unit-files –type=service` 명령어와 `grep` 명령어를 결합하여 필터를 사용할 수 있습니다. 아래 명령어를 사용하여 표를 필터링하고 필요한 서비스 파일을 찾아보세요.

systemctl list-unit-files --type=service | grep 'my-service'

나중에 읽을 수 있도록 모든 Systemd 서비스를 텍스트 파일로 내보내고 싶으신가요? 그렇다면 다음 명령어를 실행하세요.

systemctl list-unit-files --type=service > ~/service-files.txt

아래 `cat` 명령어를 사용하면 언제든지 텍스트 파일을 확인할 수 있습니다.

cat ~/service-files.txt

Systemd를 사용하여 개별 서비스 상태 확인

활성 및 비활성 서비스 등 모든 Systemd 서비스를 나열하는 방법을 아는 것도 중요하지만, 개별 서비스의 상태를 확인하는 방법도 알아두는 것이 좋습니다. 다음은 그 방법입니다.

먼저 터미널 창을 엽니다. 터미널 창이 열리면, `systemctl status` 명령어를 특정 서비스와 함께 사용합니다. 예를 들어, “NetworkManager.service”의 상태를 확인하려면 다음 명령어를 실행합니다.

systemctl status NetworkManager

나중에 읽기 위해 `status` 명령어의 출력을 텍스트 파일로 내보내려면 아래 명령어를 입력하면 됩니다.

systemctl status MyService > ~/MyService-status.txt

이 파일을 확인하려면 다음 `cat` 명령어를 실행하세요.

cat ~/MyService-status.txt