Логотип

Как узнать, что ваша система 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.

Читать  Systemd представляет экспериментальную поддержку musl

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

 

Как проверить, работает ли ваша система 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

 

Читать  KDE отвечает на слухи о якобы обязательном использовании systemd

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

 

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

 

Команда 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, то есть процесс инициализации, и получает название команды. В выводе обычно указывается, какая система инициализации используется.

Читать  GNOME 49 потребует более глубокой интеграции с systemd

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

ls -l /sbin/init

 

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

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

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала