“Systemctl start” ve “systemctl enable” arasındaki fark nedir?


83

MariaDB sunucusunu makineme kurdum. Kurulum sırasında, takip ettiğim belge şu adımlarla verildiği zaman, onu her zaman etkinleştirmem gerekip gerekmediği ile ilgili bir sorunla karşılaştım.

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

2
Ayrıca şunları da yapabilirsiniz enable ve start ile --nowarasında swich enablealt komutuyla, örneğin: systemctl enable sshd --now. Aynısı servise disablekomut için de geçerlidir stop.

Yanıtlar:


131

systemctl startve systemctl enablefarklı şeyler yapın.

enable Belirtilen üniteyi ilgili yerlere bağlayacaktır, böylece açılışta otomatik olarak başlayacaktır, ilgili donanım takılı olduğunda veya ünite dosyasında belirtilene bağlı olarak diğer durumlar.

start şu anda birimi başlatır.

disableve stopbunların tam tersi.

Bu, MariaDB'yi ilk kurduğunuzda systemctl enable mariadb.service, açılışta etkinleştirmek için çalıştırmak isteyip istemediğiniz anlamına gelir . systemctl start mariadb.serviceMariaDB'yi başlatmak için koşmak veya yeniden başlatmak da isteyebilirsiniz . MariaDB'yi durdurmak için çalıştırın systemctl stop mariadb.service(bir sonraki açılışta veya el ile başlattığınızda yeniden başlar). Devre dışı bırakmak böylece önyüklemede başlamıyor, koş systemctl disable mariadb.service.

Kaynak: systemctl man page


4
++++ açık bir açıklama için
sunleo

Ne zaman systemctl enable yazmalıyız? Her zaman systemd servisini çalıştırmak ister miyiz?
Goldname,

Hayır, otomatik olarak başlatmak istediğinizde. Otomatik olarak başlamasını durdurmak istiyorsanız, o zaman çalıştırın systemctl disable.
vurp0

Bunun anlamı, hizmet kök olarak mı başladı? Hizmeti önyüklemede başka bir kullanıcı olarak nasıl başlatabilirim?
Chaminda Bandara

18

Gönderen man :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.

Temel olarak, enableservisi önyüklemeye başlamak için işaretler startve hizmeti hemen başlatır.


ne zaman etkinleştirmeliyiz? Sadece bir kere mi yapmamız gerekiyor?
Goldname,

@Altın Adı Bir sonraki önyüklemede ilk başlattığınızda ilk ihtiyacınız olduğunda etkinleştirin. Sadece bir kez yeter,
muru

Peki ya düzenlediğimizde? Yeniden etkinleştirmemiz gerekecek mi?
Goldname

@ Altın isim yeniden etkinleştirmeniz gerekmez.
muru

Teşekkürler ve dosya farklı bir dizine taşınırsa ve / veya sistem yeniden başlatılırsa aynısı geçerli olur.
Goldname

4

Systemctl sürümü 220 tarihi itibariyle etkinleştirmek ve devre dışı bırakmak destekleyeceğini bir --now etkinleştirme / devre dışı bırakma ile eşzamanlı / durdurma hizmetlerini başlatmak için anahtarı.

Örneğin systemctl --now enable foobar.service

systemctl --versionYüklü versiyonunuzu kontrol etmek için kullanın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.