2

Я знаю, что моя установка Linux идет с одной из реализаций менеджера сервисов. Это может быть либо Systemd, Upstart, либо любой другой.

Итак, мой вопрос: как я могу узнать, какой из них установлен в моей системе Linux?

Благодарю.

ОБНОВИТЬ

Вот некоторые команды ps/grep из моей системы, которые ищут systemd и upstart, и их результаты:

$ ps aux | grep systemd
root       341  0.0  0.0  52244  3836 ?        Ss   15:54   0:00 /lib/systemd/systemd-udevd --daemon
root       588  0.0  0.0  43452  3200 ?        Ss   15:54   0:00 /lib/systemd/systemd-logind
root      1889  0.0  0.0  17520  1840 ?        S    15:54   0:00 /lib/systemd/systemd-localed
user123      2348  0.0  0.0  15948  2236 pts/1    S+   15:56   0:00 grep --color=auto systemd
$ ps aux | grep upstart
root       329  0.0  0.0  19744  2308 ?        S    15:54   0:00 upstart-udev-bridge --daemon
root       763  0.0  0.0  15808  2168 ?        S    15:54   0:00 upstart-file-bridge --daemon
root       770  0.0  0.0  15528  1984 ?        S    15:54   0:00 upstart-socket-bridge --daemon
user123      1525  0.0  0.0  22304  2336 ?        Ss   15:54   0:00 upstart-event-bridge
user123      1553  0.0  0.0  22368  1828 ?        S    15:54   0:00 upstart-dbus-bridge --daemon --session --user --bus-name session
user123      1560  0.0  0.0  30784   280 ?        S    15:54   0:00 upstart-file-bridge --daemon --user
user123      1562  0.0  0.0  22312   216 ?        S    15:54   0:00 upstart-dbus-bridge --daemon --system --user --bus-name system
user123      2350  0.0  0.0  15948  2280 pts/1    S+   15:56   0:00 grep --color=auto upstart

1 ответ1

3

Самый простой способ - определить, какая ОС работает, и посмотреть, что она запускает по умолчанию. Системы init не тривиальны для изменения.

В совершенно неизвестной системе я бы предложил использовать сочетание ps и grep, чтобы проверить общие процессы, связанные с каждой системой инициализации, и посмотреть ..

У меня нет системы, которая использует «классическую» систему сценариев инициализации, поэтому у меня нет возможности проверить.

На современной Fedora или Ubuntu Box - вы можете использовать ps aux | grep systemd , который должен выдавать строки вроде usr/lib/systemd/systemd . Он также хранит файлы конфигурации в etc/systemd/

Вы бы также использовали systemctl для обработки сервисов

На выскочившей системе вы можете сделать ps aux | grep upstart и найдите несколько связанных процессов upstart.

Upstart использует команду service и сохраняет файлы конфигурации в /etc /init /, как классический файл инициализации. Он использует свой собственный формат, сохраненный в виде файлов .conf, хотя некоторые из них являются классическими файлами инициализации.

Вы часто используете сценарии инициализации в стиле sysv наряду с более современными, но у меня нет систем, использующих только это для проверки. Если вы пишете сценарий инициализации для неизвестной системы, это, как правило, безопасная ставка, хотя вы теряете блестящие вещи, которые добавляют новые системы инициализации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .