서비스 대 Systemctl

Seobiseu Dae Systemctl



service 및 systemctl은 시스템 서비스를 관리하는 데 사용되는 두 가지 명령줄 유틸리티입니다. 두 유틸리티는 각각 두 개의 서로 다른 초기화 시스템인 SysV와 systemd에 속합니다.

이 가이드에서는 service 및 systemctl 명령에 대해 설명하고 서비스 관리와 관련하여 이들 명령이 어떻게 다른지 설명합니다.

더 진행하기 전에 먼저 널리 사용되는 두 가지 Linux 초기화 시스템을 이해해 보겠습니다. 시스템 및 시스템.







시스템 V 대 시스템

Linux의 init 시스템은 부팅 프로세스에서 중요한 부분입니다. 이는 시스템이 부팅될 때 시작되는 PID 1의 첫 번째 프로세스입니다. 그런 다음 inittab 파일에 있는 프로세스를 시작합니다. System V는 또한 SysV를 알고 있으며 systemd는 널리 사용되는 Linux 초기화 시스템입니다.



그만큼 SysV 오래된 init 시스템이며 이전 Unix 및 Linux 배포판의 일부였습니다. /etc/init.d에 있는 스크립트를 사용하여 시스템 서비스를 관리합니다. 여전히 SysV를 사용하고 있는 일부 Linux 배포판에는 Slackware, Gentoo 및 antiX Linux가 있습니다.



반면에, 체계화된 2010년에 출시되었으며 많은 Linux 배포판에서 빠르게 채택되었습니다. systemd init 시스템은 .service 파일을 통해 서비스를 관리합니다. 이제 Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu 및 이러한 운영 체제 기반 배포판을 포함한 모든 최신 Linux 배포판의 일부입니다.





systemd는 SysV에 비해 훨씬 효율적입니다. 더 빠른 부팅 시간, 효율적인 서비스 관리 및 종속성 처리를 제공합니다.

두 init 시스템 모두 서비스 관리를 위한 두 가지 명령줄 유틸리티를 제공합니다.



가이드의 다음 섹션에서는 이 두 가지 유틸리티에 대해 설명합니다.

서비스 명령

그만큼 서비스 명령은 다음 위치에 있는 스크립트를 실행하는 스크립트 래퍼입니다. /etc/init.d 예배 규칙서. 서비스를 관리하기 위해 개발되었습니다. SysV 또는 시스템 V 시스템 초기화. SysV를 초기화 시스템으로 사용하는 Linux 배포판은 서비스 서비스 관리 명령입니다.

service 명령을 사용하는 일반적인 구문은 다음과 같습니다.

서비스 [ 서비스 이름 ] [ 행동 ]

System V가 제어하는 ​​서비스의 상태를 얻으려면 다음과 함께 service 명령을 사용하십시오. –상태-모두 옵션.

서비스 --상태-모두

그만큼 + 서비스가 실행 중임을 나타냅니다. 서비스가 비활성 상태임을 나타냅니다.

특정 서비스의 현재 상태는 서비스 이름을 언급하여 확인할 수도 있습니다.

서비스 [ 서비스 이름 ] 상태

서비스 시작, 중지, 다시 시작과 같은 기타 유용한 서비스 명령이 아래에 나열되어 있습니다.

서비스 [ 서비스 이름 ] 시작

서비스 [ 서비스 이름 ] 멈추다

서비스 [ 서비스 이름 ] 재시작

이 서비스 명령은 서비스를 관리하기 위한 기본 제어를 제공합니다. 대부분의 Linux 배포판은 초기화 시스템으로 SysV를 대체했지만 레거시 호환성으로 인해 이 명령은 여전히 ​​많은 최신 Linux 배포판에서 기본적으로 제공됩니다.

systemctl 명령

systemctl 명령을 사용하면 다음에서 서비스를 제어할 수 있습니다. /lib/systemd/시스템 그리고 /etc/systemd/시스템 디렉토리. systemd의 구성 요소입니다. 대부분의 최신 Linux 배포판에서 발견되는 초기화 시스템입니다.

systemctl은 시스템 서비스 관리에 대한 더 많은 제어를 제공하도록 설계되었습니다. systemctl 명령을 사용하기 위한 일반 구문은 다음과 같습니다.

systemctl [ 옵션 ] [ 서비스 이름 ]

모든 서비스의 상태를 확인하려면 다음 명령어를 사용하세요.

systemctl 목록 단위 --유형 =서비스 --모두

특정 서비스 사용의 경우:

systemctl 상태 [ 서비스 이름 ]

systemctl을 사용하여 서비스의 기본 관리를 위한 명령은 다음과 같습니다.

systemctl ~할 수 있게 하다 [ 서비스 이름 ]

systemctl 시작 [ 서비스 이름 ]

systemctl 중지 [ 서비스 이름 ]

systemctl 비활성화 [ 서비스 이름 ]

systemctl 재시작 [ 서비스 이름 ]

systemctl 명령은 서비스 제어와 관련하여 그 이상입니다. 아래 표에는 몇 가지 고급 systemctl 명령이 포함되어 있습니다.

목록 경로 메모리에 있는 모든 서비스의 경로를 나열하려면
활성 상태 [service_name] 서비스 또는 장치가 실행 중인지 확인하려면
목록 종속성 [service_name] 지정된 서비스의 종속성 목록을 인쇄하려면
재설정 실패 일부 이상으로 인해 로드되지 못한 서비스를 재설정하려면
마스크 [서비스_이름] 서비스를 비활성화하고 시작할 수 없게 하려면
기본 설정 기본 실행 수준 또는 대상을 인쇄하려면
기본값 설정 [대상] 기본 실행 수준 또는 대상을 설정하려면
시스템 실행 중 시스템의 작동 상태를 확인하려면
재부팅 시스템을 재부팅하려면
전원 끄기 시스템을 종료하려면

systemd init 시스템을 사용하는 Linux 배포판에 여전히 서비스 명령이 있는 이유

service 명령은 래퍼 스크립트이고 SysV이든 systemctl이든 기본 초기화 시스템을 추상화하기 때문에 여전히 많은 Linux 배포판의 일부입니다. 예를 들어 Ubuntu에서는 service 명령이 systemctl로 리디렉션됩니다.

결론

service 및 systemctl은 각각 SysV 및 systemd init 시스템에 속하는 두 개의 명령줄 유틸리티입니다. 최신 Linux 배포판에서 service 명령이 대체되었음에도 불구하고 단순성과 호환성으로 인해 서비스를 유지 관리하는 핵심 도구로 남아 있습니다. 반면 systemctl은 현재 모든 Linux 배포판의 일부이며 서비스 관리를 위한 고급 옵션을 제공합니다.