Site icon ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Вторник, 17 февраля, 2026

Как узнать, что ваша система Linux работает на Systemd

Как узнать, что ваша система Linux работает на Systemd

Systemd — это широко используемый программный пакет для Linux, который также содержит init (также известный как «инициализация») — первый процесс, запускаемый при загрузке системы Linux.

Это мощная программа, которая предлагает множество готовых функций и возможностей, что делает ее «мусорным ПО». Те, кому она не нравится, предпочитают использовать другие системы Linux с другими инициализаторами.

Вот несколько примеров: OpenRC initSysVinitUpstart и т. д. Поскольку существует несколько вариантов init, на рынке представлены различные дистрибутивы Linux с разными вариантами init.

Интересно, что в популярных дистрибутивах Linux, таких как Debian, Ubuntu, RedHat, Fedora, AlmaLinux, Arch, Manjaro и openSUSE, по умолчанию используется systemd.

Но опять же, существует множество дистрибутивов без systemd, таких как Void Linux и Devuan, в которых используются runit (легкая система инициализации) и sysvinit.

Если вас не интересует какой-то конкретный дистрибутив Linux с определенным инициализатором, то, возможно, вам не стоит беспокоиться о том, на чем работает ваша система, до тех пор, пока вам не понадобится выполнить определенную команду, например systemctl, которая должна работать только в дистрибутивах Linux на основе systemd.

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

 

Как проверить, работает ли ваша система Linux на Systemd

Изначально первым был оригинальный init-процесс Linux, известный как «init». Позже, когда на рынке появились различные варианты init-процессов, каждый из них был связан с оригинальным init-процессом с помощью символических ссылок.

Чтобы получить общее представление, выполните следующую команду, которая выведет список первого процесса, то есть вашего init-процесса.

ps 1

 

Выходной сигнал:

PID TTY STAT TIME COMMAND

1       ?      Ss        0:02 /sbin/init auto noprompt splash

 

Если вы посмотрите на приведенный выше вывод, то заметите, что первым процессом является /sbin/init, что сбивает с толку многих пользователей Linux, заставляя их думать, что их система Linux работает на init, хотя это не так.

/sbin/init — это символическая ссылка на реальный процесс init в большинстве современных систем Linux, который можно найти, пройдя по символической ссылке с помощью одной из двух следующих команд: команда stat и команда readlink.

Итак, давайте с помощью первой команды определим, на каком init-процессе работает ваша система Linux.

 

Способ 1. Узнайте, какая система Linux работает на Systemd, с помощью команды stat

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

stat /sbin/init

 

Выходной сигнал:

 

Если ваша система Linux работает на базе systemd, будет выведено /lib/systemd/systemd. В противном случае, если используется другая система инициализации, будут выведены ее названия, например /sbin/init (для SysVinit) или /usr/bin/openrc-init (для OpenRC init).

 

Способ 2. Найдите свою систему Linux, работающую на Systemd, с помощью команды readlink

Команда readlink работает так же, как и предыдущая, за исключением того, что вместо вывода нескольких элементов она выводит только содержимое символической ссылки, на которую указывает, благодаря чему вывод получается понятным и простым для восприятия.

Чтобы узнать, используете ли вы Systemd, просто выполните следующую команду:

readlink /sbin/init

 

Выходной сигнал:

/lib/systemd/systemd  <---------------------------Running on systemd

Приведенный выше вывод указывает на то, что текущая система работает на базе systemd.

 

Дополнительные советы!

Есть несколько дополнительных способов определить, какая система инициализации запущена в вашей системе. Например, можно использовать саму команду ps. Просто выполните любую из следующих команд, и она покажет, какая система инициализации используется в данный момент.

ps -p 1

 

или

ps --no-headers -o comm 1

 

Выходной сигнал:

ps -p 1
PID TTY    TIME        CMD
    1   TTY   00:00:02 systend
ps --no-headers -o comm 1
systemd

 

Принцип работы этой команды довольно прост: она ищет процесс с PID 1, то есть процесс инициализации, и получает название команды. В выводе обычно указывается, какая система инициализации используется.

Кроме того, вы можете использовать команду ls для определения своей системы инициализации. Например, если выполнить следующую команду, она выведет систему инициализации.

ls -l /sbin/init

 

Выходной сигнал:

lrwxrwxrwx 1 root root 20 Sep 19 22:27 /sbin/init -> /lib/systemd/systemd   <------------------- Running on systemd
Exit mobile version