سؤال ما هو الفرق بين "startctl start" و "systemctl enable"؟


لقد قمت بتثبيت خادم MariaDB إلى الجهاز الخاص بي. أثناء الإعداد التقيت بمشكلة ما إذا كان يتعين علي تمكينها طوال الوقت حيث يتم إعطاء المستند الذي أتبعه بهذه الخطوات ،

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

39
2018-02-14 11:21


الأصل


بامكانك ايضا enable  و  start مع ال --now swich من enable subcommand ، على سبيل المثال: systemctl enable sshd --now. وينطبق الشيء نفسه على disable الأمر أيضا stop الخدمة. - w17t


الأجوبة:


systemctl start و systemctl enable تفعل أشياء مختلفة.

enable ربط الوحدة المحددة في أماكن ملائمة ، بحيث يتم بدء تشغيلها تلقائيًا عند بدء التشغيل ، أو عند توصيل الأجهزة ذات الصلة ، أو مواقف أخرى وفقًا لما هو محدد في ملف الوحدة.

start يبدأ الوحدة الآن.

disable و stop هي عكس هذه ، على التوالي.

هذا يعني أنه عند تثبيت MariaDB لأول مرة ، قد تحتاج إلى تشغيل systemctl enable mariadb.service لتمكينه بحيث يبدأ في التمهيد. قد ترغب أيضا في تشغيل systemctl start mariadb.service، أو مجرد إعادة التشغيل ، من أجل بدء MariaDB. لوقف MariaDB ، تشغيل systemctl stop mariadb.service (سيبدأ مرة أخرى في التمهيد التالي أو عند بدء تشغيله يدويًا). لتعطيله بحيث لا يبدأ تشغيله بعد الآن ، قم بتشغيله systemctl disable mariadb.service.

مصدر: systemctl الصفحة رجل


63
2018-02-14 13:37



+ + + لشرح واضح - sunleo
لذلك متى يجب علينا كتابة systemctl تمكين؟ في كل مرة نريد تشغيل خدمة systemd؟ - Goldname
لا ، عندما تريد جعلها تبدأ تلقائيًا. إذا كنت ترغب في منعها من البدء تلقائيًا ، فأنت تقوم بتشغيلها systemctl disable. - vurp0


من عند ال systemctl manpage:

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 لم يحدث ذلك
   يكون لها تأثير بدء تشغيل أي من الوحدات الممكّنة. If
   this is desired, either --now should be used together with this
   command, or an additional start command must be invoked for the
   unit.
   ...
   لا ينبغي الخلط بين وحدات التمكين مع بدء (تفعيل)
   وحدات, as done by the start command. Enabling and starting units is
   orthogonal: units may be enabled without being started and started
   without being enabled. تمكين ببساطة يربط الوحدة في مختلف
   الأماكن المقترحة (for example, so that the unit is automatically
   started on boot or when a particular kind of hardware is plugged
   in). بدء في الواقع يولد عملية daemon (in case of
   service units), or binds the socket (in case of socket units), and
   so on.

بشكل أساسي، enable يمثل خدمة لبدء في التمهيد ، و start يبدأ فعلا الخدمة على الفور.


14
2018-02-14 11:26



متى يجب أن نمكّن؟ هل نحتاج فقط إلى القيام بذلك مرة واحدة؟ - Goldname
Goldname قمت بتمكينه في أول مرة تحتاج إليه على التمهيد التالي. مرة واحدة فقط كافية - muru
ماذا عن عندما نقوم بتحريره؟ هل سنحتاج إلى إعادة تمكين؟ - Goldname
Goldname لا تحتاج إلى إعادة تمكينها. - muru
شكرا ، ونفس الشيء إذا تم نقل الملف إلى دليل مختلف و / أو إعادة تمهيد النظام؟ - Goldname