Raspbian Jessie: Что показывают «service -status-all» и «systemctl list-units -type = service»?

Итак, я читал много о системах init за последние два часа, так как эта тема для меня была совершенно новой.

Теперь я знаю, что Raspbian Jessie использует SystemD . Я также узнал, что systemctl list-units --type=service показывает мне список всех служб SystemD (службы в /etc /systemd /system), которая отлично работает в моей системе.

С другой стороны, я понял, что service --status-all показывает все службы SysV . Поскольку Jessi использует SystemD , я думал, что это даже не сработает или вернет пустой список, но также показывает хороший объем услуг. Я проверил каталог /etc/init.d (который должен хранить SysV services ), в котором есть много файлов.

Вопрос 1: Почему службы service --status-all показывают, хотя SystemD это система init, а не SysV ?

Вопрос 2: Почему существует каталог /etc/init.d, хотя SystemD является системой init (какие службы определены в /etc /systemd /система), а не SysV ?

4 голоса | спросил Markus Weninger 21 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 21 Sep 2016 16:48:16 +0300 2016, 16:48:16

1 ответ


5

Это для совместимости с SysV, которая традиционно является самой распространенной системой init, используемой на GNU /Linux с момента ее создания. Я считаю, что скрипты SysV также имеют степень совместимости с BSD init, используемую в других современных операционных системах POSIX , Хотя ни одна из них на самом деле не является частью спецификации POSIX, некоторые из них используют кросс-платформенное программное обеспечение, предназначенное для конкретной (linux, BSD) стороны семейства.

Несмотря на то, что systemd существует около полутора десятков лет, только в прошлом 1-2 он стал преобладающим, используемым в мире GNU /Linux, после того, как Debian отказался от SysV с версиями 8 и Ubuntu заброшенный апстарт.

В Fedora, который начал использовать systemd по умолчанию 5 лет назад, в /etc/init.d осталось очень мало, но оно остается, вместе с README, который отмечает:

  

... традиционные скрипты init продолжают функционировать на systemd   система. Сценарий инициализации /etc/rc.d/init.d/foobar неявно отображается   в сервисный модуль foobar.service во время инициализации системы.

Команды, такие как service, также реализованы, хотя такие вещи, как update-rc.d, который, на мой взгляд, был Debianism для начала, не являются - кроме Debian (и производных, включая Raspbian). Эти вещи Debian, такие как update-rc.d, могут оставаться неопределенными или могут исчезнуть в следующей версии или около того, но я ожидаю, что в systemd будут реализованы более основные команды SysV например service являются постоянными.

Текущий /etc/init.d/README на Raspbian все еще старый Debian. В Fedora также включена эта ссылка, которая может представлять интерес:

https://www.freedesktop.org/wiki/Software/systemd/Incompatabilities /

Остерегайтесь, что пока systemctl list-units покажет все, service ---status-all применяется только к этому, который управляется с помощью сценария init.d. Существуют различные команды systemctl, которые имеют параллели с service --status-all:

  • systemctl list-units [--type=service]: отобразит все «активные» единицы (обратите внимание, если вы читаете ключ в конце, есть два контексты для слова «активный»).

  • systemctl list-units --all: отобразит все доступные единицы.

  • systemctl list-unit-files: Совместимо с приведенным выше, но упрощено.

  • systemctl status: используется без имени службы, это показывает дерево процессов всего, что происходит от службы init, что поскольку все процессы имеют родителей, кроме самого init, означает все запущенные процессы. Это делает его похожим на pstree, но организовано с использованием концепции группировок «срез» (см. man systemd.slice)

Все это объясняется далее в man systemctl.

ответил goldilocks 21 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 21 Sep 2016 18:54:00 +0300 2016, 18:54:00

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132