(20 odpovědí)
Uzavřeno před 6 lety.
Existuje jednoduchý způsob, jak zjistit, který initsystém je používán, např. nedávným Debian wheezy
nebo Fedora
Systém? Jsem si vědom toho, že Fedora 21
používá systemd
initsystem, ale to je proto, že jsem to četl a protože všechny relevantní skripty/symlinky jsou uloženy v /etc/systemd/
. Nejsem si však jistý např. Debian squeeze
nebo CentOS 6 or 7
a tak dále.
Jaké techniky existují pro ověření takového initsystemu?
Přijatá odpověď:
Můžete se pohrabat v systému a najít indikátory. Jedním ze způsobů je zkontrolovat existenci tří adresářů:
-
/usr/lib/systemd
říká, že používáte systém založený na systemd. -
/usr/share/upstart
je docela dobrý indikátor toho, že používáte systém založený na Upstart. -
/etc/init.d
říká, že box má ve své historii SysV init
Jde o to, že se jedná o heuristiky, které je třeba posuzovat společně, případně s dalšími údaji, nikoli samy o sobě s určitými ukazateli. Krabice Ubuntu 14.10, na kterou se právě dívám, má všechny tři adresáře. Proč? Protože Ubuntu právě přešlo na systemd z Upstart v této verzi, ale ponechává Upstart a SysV init pro zpětnou kompatibilitu.
Nakonec si myslím, že nejlepší odpovědí je „zkušenost“. Uvidíte, že jste se přihlásili do boxu CentOS 7 a víte, že je systemd. Jak se to naučíš? Hraní, RTFMing atd. Stejným způsobem získáváte všechny zkušenosti.
Uvědomuji si, že to není příliš uspokojivá odpověď, ale to je to, co se stane, když dojde k roztříštěnosti trhu a vytvoření nestandardních návrhů. Je to jako zeptat se, jak víte, zda ls
přijímá -C
, nebo --color
nebo neprovádí barevný výstup vůbec. Odpověď je opět „zkušenost.“