systemctl: 리눅스를 마스터하는 12가지 명령어 🚀
systemctl 명령에는 종종 간과되는 여러 가지 기능이 있습니다. Linux에서 서비스를 시작하고 중지하는 것 외에도, 설치된 서비스를 나열하고 상태를 확인할 수도 있습니다. 간단히 검토해 보겠습니다! 🚀
Systemctl 명령어란 무엇인가요?
systemctl 명령은 systemd init 시스템의 중앙 관리 도구로, 주로 서비스를 시작 및 중지하는 데 사용되는 도구로 알려져 있습니다. 그러나 그의 증거에 따르면 그보다 훨씬 더 많은 것이 있습니다. 매뉴얼 페이지 1600개가 넘는 줄이 있습니다. 📖
systemctl은 단순한 서비스 실행기가 아니라 관리 도구이므로 이를 사용하여 시스템과 해당 systemd 서비스에 대한 유용한 정보에 액세스할 수 있습니다. 💻
대부분의 Linux 배포판은 systemd를 채택했지만, 일부는 기존의 SystemV init 시스템을 유지하기로 했습니다. 배포판에서 어떤 것을 사용하는지 확실하지 않다면 쉽게 알아낼 수 있습니다. stat 명령을 사용하여 init 파일을 살펴보겠습니다.
통계 /sbin/init

/sbin/init 실행 파일은 SystemV 기반 배포판에서 실행되는 첫 번째 프로세스입니다. systemd 기반 배포판에서는 해당 이름을 가진 심볼릭 링크가 systemd를 가리킵니다.
출력의 첫 번째 줄은 이 Ubuntu 테스트 머신에서 /sbin/init가 /lib/systemd/systemd 파일에 대한 심볼릭 링크임을 보여줍니다. 분명히 이 Linux 설치는 systemd를 사용합니다. SystemV 기반 배포판이라면 해당 줄에는 "File: /sbin/init"만 포함될 것입니다.
systemctl을 사용한 서비스 조사
서비스는 단위 파일에서 정의되며, systemctl 옵션 전체에 '단위'라는 단어가 흩어져 있는 것을 볼 수 있습니다. 예를 들어, –type 옵션을 사용하여 list-units 명령으로 서비스 목록을 얻을 수 있습니다.
시스템ctl 목록-단위 --유형=서비스

출력은 less 파일 뷰어에 표시되므로 탐색하고 / 키를 사용하여 검색할 수 있습니다.
- 단위: 단위 파일의 이름입니다.
- 나르다: 서비스 단위 파일이 구문 오류 없이 메모리에 읽혀지면 이 열에는 "loaded"가 포함됩니다. 이는 서비스가 활성화되어 있다는 것을 의미하지 않습니다.
- 유산: 서비스가 활성화되어 있는지에 대한 개요입니다. 활성 서비스가 실행되고 있지 않을 수 있습니다.
- 보결: 서비스가 실행 중인지에 대한 더 자세한 보기입니다. 예를 들어, 활성 서비스는 타이머에 의해 예약될 수 있으며 마지막 실행을 종료했을 수 있습니다.
- 설명: 서비스를 식별하거나 설명하기 위한 텍스트 줄입니다.
표시에는 활성 서비스만 포함됩니다. 모든 서비스를 보려면 –all 옵션을 포함해야 합니다.
시스템ctl 목록-units --all --type=서비스

모든 내용을 보는 것이 너무 어렵다면 –state 옵션을 사용하여 출력을 필터링할 수 있습니다.
시스템ctl 목록-단위 --유형=서비스 --상태=실행 중

상태 옵션은 실행 중, 중지됨, 활성화됨, 비활성화됨, 실패를 허용합니다.
실패한 서비스에 초점을 맞추려면 –failed 옵션을 사용합니다.
시스템ctl 목록-단위 --실패

이 컴퓨터에는 오류가 있는 드라이브가 없습니다.
실패한 서비스가 보이면 list-dependencies 옵션을 사용하여 충족되지 않은 종속성을 확인하세요.
시스템ctl 목록-종속성 sshd.service

종속성에는 상태를 나타내는 색상으로 구분된 원이 있습니다. 다음과 같을 수 있습니다:
- 흰색 원: 비활성 또는 유지 관리 중
- 그린 도트: 자산.
- 화이트 포인트: 비활성화.
- 레드닷: 실패 또는 오류.
단일 서비스가 활성화되어 있는지 확인하려면 is-enabled 명령을 사용하고 해당 서비스의 단위 파일 이름을 제공합니다.
시스템ctl 에스-활성화된 htg-example.service

systemctl을 사용하여 서비스 제어
systemctl을 사용하여 서비스를 관리하는 것은 매우 간단하며 지금까지 살펴본 명령 형식을 따릅니다. 가장 큰 차이점은 서비스 상태를 변경하려면 sudo를 사용해야 한다는 것입니다. 지금까지는 서비스 상태에 대해서만 보고해 왔기 때문에 그런 일은 하지 않았습니다.
서비스를 시작하려면 start 명령어 뒤에 서비스 이름을 입력하세요.
땀 시스템ctl 시작 htg-예제.서비스

모든 것이 원활하게 진행되면 자동으로 명령 프롬프트로 돌아갑니다. 긍정적인 확인을 원하시면 상태 명령으로 검증할 수 있습니다.
땀 시스템ctl 상태 htg-예제.서비스

서비스를 중지하는 것은 시작하는 것만큼 쉽습니다.
땀 시스템ctl 멈추다 htg-예제.서비스

서비스를 중지하고 다시 시작하는 두 단계 과정을 거치지 않고도 서비스를 다시 시작할 수 있습니다. 그 재시작 명령 모든 것을 당신을 위해 해드립니다.
땀 시스템ctl 재시작 htg-예제.서비스

부팅 시에 서비스를 시작하려면 해당 서비스를 활성화해야 합니다.
땀 시스템ctl ~할 수 있게 하다 htg-예제.서비스

이는 부팅 시에만 서비스를 시작하도록 표시할 뿐, 즉시 서비스를 시작하지는 않습니다. 만약 원하신다면 –now 옵션을 추가했습니다.
땀 시스템ctl ~할 수 있게 하다 --지금 htg-예제.서비스

부팅 시 더 이상 서비스를 시작할 필요가 없으면 해당 서비스를 비활성화합니다.
땀 시스템ctl 장애를 입히다 htg-예제.서비스

systemd의 또 다른 부분인 journalctl 명령을 사용하면 서비스와 관련된 항목을 찾을 수 있습니다. -u(단위) 옵션을 사용하면 관심 있는 서비스를 지정할 수 있습니다. -S(이후) 옵션을 사용하면 제공한 시간 이후에 발생한 항목을 표시할 수 있습니다.
저널ctl -에스 "08:00:00" -또는 htg-예제.서비스

도움이 되는 도구 작업에 대한 정보를 얻다 Linux 배포판의 내부 구조는 일상적인 관리와 문제 해결 및 진단에 매우 중요합니다. systemctl 명령은 단일 도구가 아닙니다. 이는 특수 도구 상자와 비슷하며, 익숙해지는 것이 좋습니다. 🔧🛠️