(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/upstartje 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.“