Как узнать, использует ли система systemd в chroot?

363
nithinj

Я использовал следующую команду, чтобы проверить, использует ли система systemd
if [[ 1 == pidof systemd ]]; then

Но это не работает в chroot, так как proc не смонтирован.

sh-4.2# pidof systemd sh-4.2# ps Error, do this: mount -t proc proc /proc

Какой альтернативный метод можно использовать, чтобы проверить, использует ли система systemd или sysv?

0
Из любопытства, почему? Zoredache 7 лет назад 1
Если это так, скрипт зарегистрирует сервис для systemd, иначе нет. nithinj 7 лет назад 1
Возможный дубликат [как узнать, использую ли я systemd в моем Linux?] (Http://superuser.com/questions/1017959/how-to-know-if-i-am-using-systemd-on-my- Linux) Mark Stosberg 7 лет назад 0
Просто чтобы уточнить, вы пытаетесь проверить вещи из среды chroot? Как вы собираетесь настроить systemd вне chroot, внутри него? Zoredache 7 лет назад 0
Мое намерение состоит в том, чтобы включить systemd в chroot-тюрьме (это может быть другая ОС) nithinj 7 лет назад 0
@MarkStosberg, этот вопрос специфичен для chroot jail и упоминается в вопросе. Это не может быть дубликатом. nithinj 7 лет назад 0

1 ответ на вопрос

0
Mark Stosberg

Вы можете проверить, является ли / sbin / init символической ссылкой на systemd. Это не так хорошо, как psметод, потому что возможно (но маловероятно), что что-то кроме /sbin/initpid 1.

if [[ `file /sbin/init | grep -q systemd && echo 1` = 1 ]] 
Но это в chroot (см. Заголовок / теги)? Двоичный файл init не обязательно должен быть в chroot. Или у вас может быть двоичный файл init, который отличается от системного init. Zoredache 7 лет назад 0
Это работает в моей среде chroot. Но не уверен, что есть какие-то предостережения, подобные @Zoredache. nithinj 7 лет назад 0

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