Obiettivo
Sostituisci systemd con SysV Init come sistema init su Debian Stretch
Distribuzioni
Debian Stretch
Requisiti
Un'installazione Debian Stretch funzionante con privilegi di root.
Difficoltà
Medio
Convenzioni
- # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando
sudo
comando - $ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato
Introduzione
Non tutti amano systemd, e per quelli che non lo fanno, non ci sono davvero molte opzioni. Ciò è particolarmente vero se vuoi qualcosa come un server stabile. Non temere, SysV Init è ancora supportato da Debian e non è difficile cambiarlo.
**Nota:** non provare se stai utilizzando GNOME o un altro ambiente desktop che ha una forte dipendenza da systemd. Non farà altro che rompere il tuo sistema.
Aggiungi repository Devuan
Questa parte non è strettamente necessaria se vuoi semplicemente cambiare il sistema init e lasciare systemd installato come livello di compatibilità. Funzionerebbe bene. Se non vuoi assolutamente che systemd sul tuo sistema, devi prendere alcune disposizioni per far funzionare le cose che dipendono da esso.
Devuan, il fork di Debian senza systemd è un po' indietro. La loro versione Stretch, ASCII, non è pronta e l'esecuzione delle versioni di test di Devuan non è super stabile in questo momento. Tuttavia, ha creato alcuni pacchetti cruciali per far funzionare i programmi dipendenti da systemd senza di essi e puoi usarli in Debian.
Innanzitutto, crea un nuovo .list
file in /etc/apt/sources.list.d/
per Devuan. Quindi, aggiungi la seguente riga.
deb http://packages.devuan.org/devuan/ ascii main
Salvalo ed esci.
Successivamente, avrai bisogno della chiave di firma Devuan. Prendilo con wget
.
$ cd Downloads $ wget https://devuan.org/os/keyring/[email protected]
Quindi, importalo in Apt.
# apt-key add [email protected]
Attacca i pacchetti Devuan
A meno che tu non voglia un ibrido Debian/Devuan davvero strano, dovrai appuntare solo i pacchetti Devuan di cui hai bisogno. Crea un file, devuan.list
, su /etc/apt/preferences.d/
. Aggiungi le seguenti righe.
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
È lungo e fastidioso, ma eviterà che molte cose si rompano una volta rimosso systemd. Aggiorna prima di andare avanti.
# apt update
Installa i pacchetti Devuan
Il passaggio successivo è abbastanza semplice. Installa tutti i pacchetti che hai appena impostato.
# apt -t ascii install udisks2 libudisks2-0 cgmanager libcgmanager0 libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 policykit-1
Installa SysV
Sei finalmente pronto per installare SysV. Anche questo è abbastanza facile.
# apt install sysvinit-core sysvinit-utils
Quindi, copia inittab di SysV per renderlo il sistema predefinito.
# cp /usr/share/sysvinit/inittab /etc/inittab
Una volta che tutto è a posto e sei sicuro di aver installato tutto correttamente, riavvia il sistema. Dovresti vedere immediatamente la differenza nel processo di avvio.
Rimuovi Systemd
Ancora una volta, questo passaggio è totalmente facoltativo e potrebbe comunque interrompere le cose. Questo estrarrà systemd e tutto ciò che ancora dipende da esso. Sei stato avvisato.
# apt remove --purge --auto-remove systemd
Se vuoi fare in modo che le modifiche siano valide, aggiungi systemd alle tue preferenze di Apt.
Package: systemd Pin: release * Pin-Priority: -1
Pensieri conclusivi
Questo è tutto! Il tuo sistema Debian è ufficialmente privo di systemd. Si spera che anche tutto il resto funzioni ancora correttamente. Questo metodo è ovviamente migliore con i server rispetto ai desktop a causa della quantità di software desktop che si basa su systemd. È anche importante tenere a mente che le cose possono cambiare. Stretch è praticamente scolpito nella pietra, ma provare questa procedura o un equivalente su Testing o Sid potrebbe non produrre gli stessi risultati.