GNU/Linux >> Znalost Linux >  >> Linux

Jak zjistit, zda používám systemd na Linuxu?

Zkontrolujte, který proces běží jako PID 1. Můžete to udělat spuštěním ps 1 a rolování nahoru. Pokud máte nějakou systémovou věc spuštěnou jako PID 1, máte spuštěnou systemd.

Případně spusťte systemctl vypsat spuštěné systémové jednotky.

Můžete také zkontrolovat, co je /sbin/init; file /sbin/init vám řekne, zda se jedná o skutečný spustitelný soubor, nebo zda jde o symbolický odkaz na spustitelný soubor jiného balíčku. Na systémovém boxu, například:

[email protected] / # file /sbin/init
/sbin/init: symbolic link to ../lib/systemd/systemd

Další informace naleznete zde:https://en.wikipedia.org/wiki/Linux_startup_process

Dalším způsobem, jak přesně zjistit, co máte v systému, je zadání man init a uvidíte manuálovou stránku programu, na které skončíte.


Vím, že je to stará otázka, ale protože jsem si právě kladl stejnou otázku – tady jsou moje 2ct.

Nejlepší řešení, se kterým jsem přišel

ps --no-headers -o comm 1

To vrátí buď systemd nebo init a vypadá spolehlivě napříč distribucemi a vydáními Linuxu.

file /sbin/init by fungovalo s pomocí shody vzorů. Výstup ps 1 nezdá se užitečné, protože na některých distribucích Linuxu vypíše 'init' (symlink) navzdory použití systemd.

Debian 8

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:02 /sbin/init
$ file /sbin/init
/sbin/init: symbolic link to /lib/systemd/systemd

RHEL 7

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     7:46 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
$ file /sbin/init
/sbin/init: symbolic link to `../lib/systemd/systemd'

SLES 12

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:24 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
$ file /sbin/init
/sbin/init: symbolic link to `../usr/lib/systemd/systemd'

openSUSE 13.1

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:33 /sbin/init showopts
$ /sbin/init: symbolic link to `../usr/lib/systemd/systemd'

Linux
  1. Jak vypsat seznam uživatelů v Linuxu

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Jak Systemd používá skripty /etc/init.d?

  1. Jak ladit programy C v Linuxu pomocí gdb

  2. Linux – sloučení /usr/bin A /usr/sbin do /bin (gnu/linux)?

  3. Jak zjistím, zda vzdálený počítač používá Windows nebo Linux?

  1. Jak zjistit, kterou distribuci Linuxu používáte?

  2. Jak vytvořit službu Systemd v Linuxu

  3. Jak vytvořit uživatele Linuxu pomocí Ansible