Делают ли два разных синтаксиса одно и то же?
$ service apache2 restart
$ /etc/init.d/apache2 restart
Сервис - это не что иное, как сценарий оболочки.
cat /sbin/service
Вверху вы увидите, что он устанавливает SERVICEDIR в /etc/init.d.
У служебного сценария есть еще несколько параметров, например
--status-all
--full-restart
Этот цикл по всем сервисам. Но имя, которое вы ему передаете, соответствует сценарию init.d.
Да. Сценарии с обратной совместимостью /etc/init.d/ в основном запускают service myservice start / stop / retstart вместо того, чтобы делать что-либо сами.
Да.
Точнее:
service runs a System V init script in as predictable environment as possible,
removing most environment variables and with current working directory set to /.
(из service(8)
)
В каком-то смысле да. На самом деле выскочка выдаст предупреждение, если начнется с /etc/init.d/
пока service
Команда всегда работает как для сценариев sys v init, так и для выскочки.