"systemctl start"와 "systemctl enable"의 차이점은 무엇입니까?


83

내 컴퓨터에 MariaDB 서버를 설치했습니다. 설정하는 동안 내가 따르는 문서가 다음 단계와 같이 제공 될 때 항상 활성화 해야하는지 여부에 대한 문제가 발생했습니다.

sudo yum install mariadb mariadb-server 
sudo systemctl start mariadb.service  
sudo systemctl enable mariadb.service

2
당신은 또한 수 enable start 때와 --now의 SWICH는 enable하위 명령, 예 : systemctl enable sshd --now. 서비스에 대한 disable명령도 마찬가지입니다 stop.

답변:


131

systemctl start그리고 systemctl enable다른 일을.

enable 지정된 장치를 관련 위치에 연결하여 부팅시 또는 관련 하드웨어가 연결되어 있거나 장치 파일에 지정된 내용에 따라 다른 상황에서 자동으로 시작되도록합니다.

start 지금 장치를 시작하십시오.

disablestop각각이 반대이다.

즉, MariaDB를 처음 설치할 때 systemctl enable mariadb.service부팅시 시작되도록 활성화하기를 원할 수 있습니다 . systemctl start mariadb.serviceMariaDB를 시작하기 위해을 실행 하거나 재부팅 만 할 수도 있습니다 . MariaDB를 중지하려면 systemctl stop mariadb.service다음 부팅시 또는 수동으로 시작하면 다시 시작됩니다. 더 이상 부팅시 시작되지 않도록 비활성화하려면을 실행하십시오 systemctl disable mariadb.service.

출처 : systemctl 매뉴얼 페이지


4
명확한 설명을위한 ++++
sunleo

언제 systemctl enable을 입력해야합니까? 시스템 서비스를 실행할 때마다?
Goldname

아니요, 자동으로 시작하려고 할 때. 자동 시작을 중지하려면 다음을 실행하십시오 systemctl disable.
vurp0

즉, 서비스가 루트로 시작됩니까? 부팅시 다른 사용자로 서비스를 시작하려면 어떻게해야합니까?
Chaminda Bandara

18

에서 :systemctl

enable NAME...
   Enable one or more unit files or unit file instances, as specified
   on the command line. This will create a number of symlinks as
   encoded in the "[Install]" sections of the unit files. After the
   symlinks have been created, the systemd configuration is reloaded
   (in a way that is equivalent to daemon-reload) to ensure the
   changes are taken into account immediately. Note that this does not
   have the effect of also starting any of the units being enabled. If
   this is desired, either --now should be used together with this
   command, or an additional start command must be invoked for the
   unit.
   ...
   Enabling units should not be confused with starting (activating)
   units, as done by the start command. Enabling and starting units is
   orthogonal: units may be enabled without being started and started
   without being enabled. Enabling simply hooks the unit into various
   suggested places (for example, so that the unit is automatically
   started on boot or when a particular kind of hardware is plugged
   in). Starting actually spawns the daemon process (in case of
   service units), or binds the socket (in case of socket units), and
   so on.

기본적 enable으로 부팅시 서비스를 표시하고 start실제로 서비스를 즉시 시작합니다.


언제 활성화해야합니까? 한 번만하면됩니까?
Goldname

@Goldname 다음 부팅시 처음 시작할 때 활성화합니다. 한 번만으로 충분
muru

편집 할 때는 어떻습니까? 다시 활성화해야합니까?
Goldname

@Goldname 다시 활성화 할 필요가 없습니다.
muru

감사합니다. 파일이 다른 디렉토리로 이동하거나 시스템이 재부팅 된 경우에도 마찬가지입니다.
Goldname

4

systemctl 버전 (220)로, 활성화비활성화 지원에게 --now 에이블 / 해제와 동시 서비스를 시작 / 중지 스위치를.

예 : systemctl --now enable foobar.service

systemctl --version설치된 버전을 확인하는 데 사용하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.