В Fedora у нас есть скрипты 'systemctl' и 'service'. Похоже, сервис внутренне звонит systemctl
. Так какой же правильный / правильный способ для Fedora запускать или останавливать сервисы - с помощью systemctl
или с помощью service
средства? Может быть, есть нюансы, о которых стоит помнить?
24
service foo start
в Debian работает, является ли ваша система инициализации systemd, sysvinit или upstart;systemctl
скорее всего, не будет работать, если systemd не PID1.Ответы:
Используется способ остановки / запуска сервисов в Fedora (более поздние версии)
systemctl
.Однако может остаться несколько служб,
/etc/init.d/
которыми вы могли бы управлять с помощьюservice
команды. Вы по-прежнему можете управлять ими, такsystemctl
какsystemd
автоматически сопоставляет их с файлами юнитов.Например, на моем CentOS 7 (Fedora 19 или около того) есть
/etc/rc.d/init.d/network
скрипт, который я могу контролировать с помощьюservice
команды. Если я используюsystemctl
вместо этого, он все еще работает:Как вы можете видеть, он был сопоставлен с
/etc/rc.d/init.d/network
командойsystemd
иsystemctl
управляет ею.Я мог бы быть таким «прошлым годом» и использовать
service
вместо этого:Оба работают, но учтите, что они дают разные результаты в своих
status
командах.источник
Как правило,
service
сценарии перенаправляются в сценарии systemctl (Systemd), поэтому вы в основном предпочитаете использовать их.пример
Из моей системы Fedora 20.
Я обычно использую оба метода, так как старые привычки умирают тяжело. Но если вы пытаетесь адаптироваться к миру Systemd, я буду продолжать заставлять себя делать что-то, используя,
systemctl
если это возможно.Кроме того, Systemd объединяет все, что вы делали с одной командой
chkconfig
иservice
под ней,systemctl
так что, как правило, мне легче справиться в долгосрочной перспективе.Эта таблица на веб-сайте проекта Fedora полезна для переключения.
Кстати, ответ на ваш первоначальный вопрос дан в сноске на этой странице:
Ссылки
источник