Quelle est la différence entre "systemctl start" et "systemctl enable"?

38

J'ai installé le serveur MariaDB sur ma machine. Lors de la mise en place, j'ai rencontré un problème, à savoir si je devais l'activer tout le temps, car le document que je suis avec ces étapes,

sudo yum install mariadb mariadb-server 
sudo systemctl start mariadb.service  
sudo systemctl enable mariadb.service
    
posée Chathurika Senani 14.02.2016 - 12:21
la source

2 réponses

61

systemctl start et systemctl enable font des choses différentes.

enable raccordera l'unité spécifiée aux endroits appropriés, de sorte qu'il démarrera automatiquement au démarrage, ou lorsque le matériel pertinent est branché, ou dans d'autres situations, selon ce qui est spécifié dans le fichier d'unité.

start démarre l'unité maintenant.

disable et stop sont respectivement les opposés de ceux-ci.

Cela signifie que lorsque vous installez MariaDB pour la première fois, vous pouvez exécuter systemctl enable mariadb.service pour l’activer afin qu’il démarre au démarrage. Vous pouvez également vouloir exécuter systemctl start mariadb.service ou simplement redémarrer pour démarrer MariaDB. Pour arrêter MariaDB, exécutez systemctl stop mariadb.service (il redémarrera au prochain démarrage ou lorsque vous le lancerez manuellement). Pour le désactiver afin qu'il ne démarre plus au démarrage, exécutez systemctl disable mariadb.service .

Source: page de manuel de systemctl

    
réponse donnée vurp0 14.02.2016 - 14:37
la source
14

De la page de manuel 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.

Essentiellement, enable marque le service pour le démarrage au démarrage et start démarre le service immédiatement.

    
réponse donnée muru 14.02.2016 - 12:26
la source

Lire d'autres questions sur les étiquettes