Cíl
Nahraďte systemd za SysV Init jako init systém na Debian Stretch
Distribuce
Debian Stretch
Požadavky
Funkční instalace Debian Stretch s právy root.
Obtížnost
Střední
Konvence
- # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí
sudo
příkaz - $ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel
Úvod
Ne každý miluje systemd a pro ty, kteří ne, opravdu není mnoho možností. To platí zejména, pokud chcete něco jako stabilní server. Nebojte se, SysV Init je ve skutečnosti stále podporován pod Debianem a není těžké jej přepnout.
**Poznámka:** nezkoušejte to, pokud používáte GNOME nebo jiné desktopové prostředí, které je silně závislé na systemd. Jen to rozbije váš systém.
Přidat úložiště Devuan
Tato část není nezbytně nutná, pokud chcete pouze přepnout init systém a nechat systemd nainstalovaný jako vrstvu kompatibility. To by fungovalo dobře. Pokud ve svém systému absolutně nechcete systemd, musíte udělat nějaká opatření, aby věci, které na něm závisí, fungovaly.
Devuan, fork Debianu bez systemd je trochu pozadu. Jejich verze Stretch, ASCII, není připravena a spouštění testovacích verzí Devuan není právě teď super stabilní. Nicméně vytvořili některé zásadní balíčky, aby programy závislé na systému fungovaly i bez něj, a můžete je používat v Debianu.
Nejprve vytvořte nový .list
soubor v /etc/apt/sources.list.d/
pro Devuan. Poté k němu přidejte následující řádek.
deb http://packages.devuan.org/devuan/ ascii main
Uložte to a ukončete.
Dále budete potřebovat podpisový klíč Devuan. Získejte to pomocí wget
.
$ cd Downloads $ wget https://devuan.org/os/keyring/[email protected]
Poté jej importujte do Apt.
# apt-key add [email protected]
Připněte balíčky Devuan
Pokud nechcete opravdu podivný hybrid Debian/Devuan, budete muset připnout pouze balíčky Devuan, které potřebujete. Vytvořte soubor devuan.list
, na /etc/apt/preferences.d/
. Přidejte k tomu následující řádky.
Package: * Pin: release a=stable Pin-Priority: 1000 Package: * Pin: release a=ascii Pin-Priority: 2 Package: udisks2 Pin: release a=ascii Pin-Priority: 1001 Package: libudisks2-0 Pin: release a=ascii Pin-Priority: 1001 Package: cgmanager Pin: release a=ascii Pin-Priority: 1001 Package: libcgmanager0 Pin: release a=ascii Pin-Priority: 1001 Package: libpolkit-agent-1-0 Pin: release a=ascii Pin-Priority: 1001 Package: libpolkit-backend-1-0 Pin: release a=ascii Pin-Priority: 1001 Package: libpolkit-gobject-1-0 Pin: release a=ascii Pin-Priority: 1001 Package: policykit-1 Pin: release a=ascii Pin-Priority: 1001
Je to zdlouhavé a otravné, ale zabrání tomu, aby se spousta věcí rozbila, jakmile odeberete systemd. Před pokračováním aktualizujte.
# apt update
Nainstalujte balíčky Devuan
Další krok je poměrně přímočarý. Nainstalujte všechny balíčky, pro které jste právě nastavili.
# apt -t ascii install udisks2 libudisks2-0 cgmanager libcgmanager0 libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 policykit-1
Instalovat SysV
Konečně jste připraveni nainstalovat SysV. Tento je také docela snadný.
# apt install sysvinit-core sysvinit-utils
Poté zkopírujte inittab SysV, aby se stal výchozím systémem.
# cp /usr/share/sysvinit/inittab /etc/inittab
Jakmile je vše na svém místě a jste si jisti, že jste vše správně nainstalovali, restartujte systém. Rozdíl byste měli vidět okamžitě v procesu spouštění.
Odebrat Systemd
Opět platí, že tento krok je zcela volitelný a stále může věci rozbít. Tím se vytáhne systemd a vše, co na něm stále závisí. Byli jste varováni.
# apt remove --purge --auto-remove systemd
Pokud chcete změnu změnit, přidejte systemd do předvoleb Apt.
Package: systemd Pin: release * Pin-Priority: -1
Úvahy na závěr
A je to! You’re Debian systém oficiálně neobsahuje systemd. Doufejme, že vše ostatní stále funguje správně. Tato metoda je samozřejmě lepší u serverů než u stolních počítačů kvůli množství softwaru pro stolní počítače, který závisí na systemd. Je také důležité mít na paměti, že věci se mohou změnit. Stretch je do značné míry vytesán do kamene, ale vyzkoušení tohoto postupu nebo jeho ekvivalentu na Testing nebo Sid nemusí přinést stejné výsledky.