Смутно о "/etc/init.d" и службах в "/ lib / systemd / system"

Я совершенно новичок в мире Linux, поэтому извините за что-то неправильное, что я могу сказать.

Я пытаюсь запустить Mongo DB на машине Debian 8.5. Когда я установил пакет (предварительно построенный из percona.com), я заметил следующие файлы:

/etc/init.d/mongod (1) /lib/systemd/system/mongod.service (2) 

О проекте /etc/init.d/mongod

Я понимаю, что это называется (до тех пор, пока оно зарегистрировано через update-rc.d ) при загрузке / в других конкретных состояниях системы (не хочу получать технические данные, я поглощаю много информации, и это кажется менее важный).

Это прекрасно для меня. Скрипт выполняет много инициализации и, наконец, запускает демон mongo. Кажется, что у него есть «триггеры» для запуска, остановки, перезагрузки и т. Д., И насколько я понимаю, я могу вызвать те, у кого sudo service mongod <action> .

О программе /lib/systemd/system/mongod.service

Кажется, что этот файл делает то же самое (т. Е. Запускает манго), но с меньшей конфигурацией, только одна строка в параметре ExecStart:

 [Unit] Description=MongoDB (High-performance, schema-free document-oriented database) After=time-sync.target network.target [Service] Type=forking User=mongod Group=mongod PermissionsStartOnly=true EnvironmentFile=/etc/default/mongod ExecStart=/usr/bin/env bash -c "/usr/bin/mongod $OPTIONS > ${STDOUT} 2> ${STDERR}" PIDFile=/var/run/mongod.pid [Install] WantedBy=multi-user.target и [Unit] Description=MongoDB (High-performance, schema-free document-oriented database) After=time-sync.target network.target [Service] Type=forking User=mongod Group=mongod PermissionsStartOnly=true EnvironmentFile=/etc/default/mongod ExecStart=/usr/bin/env bash -c "/usr/bin/mongod $OPTIONS > ${STDOUT} 2> ${STDERR}" PIDFile=/var/run/mongod.pid [Install] WantedBy=multi-user.target по [Unit] Description=MongoDB (High-performance, schema-free document-oriented database) After=time-sync.target network.target [Service] Type=forking User=mongod Group=mongod PermissionsStartOnly=true EnvironmentFile=/etc/default/mongod ExecStart=/usr/bin/env bash -c "/usr/bin/mongod $OPTIONS > ${STDOUT} 2> ${STDERR}" PIDFile=/var/run/mongod.pid [Install] WantedBy=multi-user.target 

Насколько я понимаю, это может быть вызвано с помощью sudo systemctl start mongod .

  • Я не понимаю, вызвано ли это при загрузке или нет.

  • Я не понимаю, зачем нужны два из этих «служебных» файлов, и как я могу избавиться от одного (возможно, одного в / lib / systemd, так как он намного проще).

  • Я не понимаю, есть ли какая-то связь между ними.

  • Я прочитал, что systemctl работает с скриптами systemctl , и в этом случае я не понимаю, какой из двух файлов будет запущен при systemctl mongod start .

Я думаю, что есть некоторая избыточность, и я должен выбрать только один из двух способов. И я хочу быть уверенным, что это

  • вызывается при загрузке
  • вызываемый командой (например, service или systemctl ).

Не могли бы вы помочь мне очистить свой разум? С помощью некоторых комментариев я, вероятно, могу сфокусировать и сузить вопрос.

One Solution collect form web for “Смутно о "/etc/init.d" и службах в "/ lib / systemd / system"”

Когда у вас есть сценарий .service файл systemd .service с тем же именем, systemd будет использовать служебный файл для всех операций. Я считаю, что команда service просто перенаправляется на systemd. Сценарий init.d будет проигнорирован.

Используйте systemd . Это новое в Debian 8, но оно по умолчанию. Файлы службы Systemd должны выглядеть проще, чем скрипты init.d. Вы не указали какую-либо конкретную функцию, которая вам нужна, которая не поддерживается службой systemd.

Если файл службы не был включен, systemd с радостью будет использовать скрипт init.d. Поэтому разработчик пакета mongod говорит вам, что они считают, что это определение systemd лучше :).

Посмотрите на вывод состояния systemctl status mongod . Если услуга включена для запуска во время загрузки, строка Loaded: будет показывать «enabled». В противном случае вы можете использовать systemctl enable mongod . Вы также можете включить опцию – --now , и она запустит mongod одновременно.

  • Является системным «вредоносным»?
  • Как настроить systemd, чтобы включить простой скрипт с помощью стандартногоIO в сетевой службе
  • Что такое параметр для "systemctl list-units"
  • Fedora 21 akmods.service длительное время загрузки
  • Как исправить «Файл» * .service «настраивает межсетевой экран IP (IPAddressDeny = любой), но локальная система не поддерживает межсетевой экран на основе BPF / cgroup»?
  • Как ограничить права пользователя sudo для журналаctctl на конкретный блок?
  • systemd-networkd не перезагрузит файл конфигурации виртуального сетевого интерфейса
  • dhcpcd не может запускаться при загрузке
  • Как настроить уровень запуска 3 в Debian 8?
  • Создать постоянный процесс без inittab
  • Debian 8 Jessie с клиентом OpenVPN
  • Interesting Posts

    Как отключить меню при связывании ALT + 1 в Linux-Mint

    распечатать файл / etc / shadow в консоли

    Вкладка Bash содержит не первый маркер в подстановке команд $ (…) throws error

    Не удается запустить скрипт Perl FastCGI на сервере Apache: Ошибка 500

    Как проверить, сколько общего объема памяти у моей виртуальной машины?

    Как использовать grep и вырезать скрипт для получения URL-адресов веб-сайтов из файла HTML

    Почему grep иногда возвращает каталоги с двумя сокращениями?

    Много свободной памяти, но Java не запускается (SunOS 5.10)

    Какое приложение использовать для календаря?

    Связывание с не существующим интерфейсом

    Проверьте, имеет ли строка период с ним с bash

    CentOS 6 Partitioning Root Drive

    Установка дополнительных пакетов Debian Wheezy из терминала (после сетевой установки)

    Как подключиться к моему телефону через последовательный порт bluetooth

    Создание загрузочного образа ISO из системы CentOS (Linux)

    Linux и Unix - лучшая ОС в мире.