Aventuras no Debian 8 (I)
Agora que o Debian conta com um init moderno, decidi usá-lo por um tempo para voltar a sentir uma distribuição baseada em DEB, o que não faço desde muito tempo quando larguei o Ubuntu e migrei para o Fedora e depois openSUSE.
Instalação padrão usando o GNOME.
Como esperado, várias inutilidades iniciadas por padrão. Que sina...
Um monte de scripts SysV aí. Com o NetworkManager, não tem porque iniciar
Depois da faxina:
Eu mantenho o servidor SSH rodando (este nativo:
Razoável para um Core 2 Duo E7300 com um disco rígido de sete anos atrás.
A instalação do GNOME do Debian não instala o Plymouth. Já gostei dele. Faz tempo, entretanto, que não funciona 100% flicker-free. A última vez que vi um boot realmente sem flicker com o Plymouth foi no Fedora 15 rodando numa GeForce 4 alguma coisa. Fica de fora então.
Como a maioria das distribuições,
Remover
Atualize a configuração do GRUB:
Até o momento, me parece ser uma migração tranquila do obsoleto SysVinit. O Debian ainda possui uma imensa quantidade de pacotes rodando com scripts SysV e seus mantenedores acharam alguns bugs no código de compatibilidade do systemd. Correções aplicadas no upstream. Acho que os únicos patches significativos ainda downstream implementam o seguinte:
- Suporte a
sysv-generator: add support for /etc/insserv/overrides
Não foi muito bem recebido pelo upstream e será suportado apenas no Jessie. No futuro Debian 9 deve ser removido.
- Fazer o
Make systemctl enable/disable call update-rc.d for sysv init scripts (#709780)
Also redirect to update-rc.d when not using .service
systemctl: call update-rc.d enable|disable, not defaults|remove
Run update-rc.d defaults before update-rc.d <enable|disable>
Não sei por que o time do Debian não tornou esse código upstream, visto que Lennart já sinalizou mais de uma vez que seria uma adição bem-vinda.
Na questão dos logs, o rsyslog vem instalado e o journal é apenas volátil. Ou seja, tudo como antes.
Um bom trabalho, Debian!
Instalação padrão usando o GNOME.
Como esperado, várias inutilidades iniciadas por padrão. Que sina...
# systemctl disable atd.service exim4.service gdomap.service minissdpd.service networking.service nfs-common.service pppd-dns.service rpcbind.service saned.service speech-dispatcher.service Synchronizing state for atd.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d atd defaults Executing /usr/sbin/update-rc.d atd disable insserv: warning: current start runlevel(s) (empty) of script `atd' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `atd' overrides LSB defaults (0 1 6). Synchronizing state for exim4.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d exim4 defaults Executing /usr/sbin/update-rc.d exim4 disable insserv: warning: current start runlevel(s) (empty) of script `exim4' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `exim4' overrides LSB defaults (0 1 6). Synchronizing state for gdomap.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d gdomap defaults Executing /usr/sbin/update-rc.d gdomap disable insserv: warning: current start runlevel(s) (empty) of script `gdomap' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `gdomap' overrides LSB defaults (0 1 6). Synchronizing state for minissdpd.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d minissdpd defaults Executing /usr/sbin/update-rc.d minissdpd disable insserv: warning: current start runlevel(s) (empty) of script `minissdpd' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `minissdpd' overrides LSB defaults (0 1 6). Synchronizing state for networking.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d networking defaults Executing /usr/sbin/update-rc.d networking disable insserv: warning: current start runlevel(s) (empty) of script `networking' overrides LSB defaults (S). insserv: warning: current stop runlevel(s) (0 6 S) of script `networking' overrides LSB defaults (0 6). Synchronizing state for nfs-common.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d nfs-common defaults Executing /usr/sbin/update-rc.d nfs-common disable insserv: warning: current start runlevel(s) (empty) of script `nfs-common' overrides LSB defaults (S). insserv: warning: current stop runlevel(s) (0 1 6 S) of script `nfs-common' overrides LSB defaults (0 1 6). Synchronizing state for pppd-dns.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d pppd-dns defaults Executing /usr/sbin/update-rc.d pppd-dns disable insserv: warning: current start runlevel(s) (empty) of script `pppd-dns' overrides LSB defaults (S). insserv: warning: current stop runlevel(s) (S) of script `pppd-dns' overrides LSB defaults (empty). Synchronizing state for rpcbind.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d rpcbind defaults Executing /usr/sbin/update-rc.d rpcbind disable insserv: warning: current start runlevel(s) (empty) of script `rpcbind' overrides LSB defaults (S). insserv: warning: current stop runlevel(s) (0 1 6 S) of script `rpcbind' overrides LSB defaults (0 1 6). Synchronizing state for saned.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d saned defaults Executing /usr/sbin/update-rc.d saned disable insserv: warning: current start runlevel(s) (empty) of script `saned' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `saned' overrides LSB defaults (0 1 6). Synchronizing state for speech-dispatcher.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d speech-dispatcher defaults Executing /usr/sbin/update-rc.d speech-dispatcher disable insserv: warning: current start runlevel(s) (empty) of script `speech-dispatcher' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `speech-dispatcher' overrides LSB defaults (0 1 6).
Um monte de scripts SysV aí. Com o NetworkManager, não tem porque iniciar
/etc/init.d/networking
. Talvez minissdpd.service
(/etc/init.d/minissdpd
) e saned.service
(/etc/init.d/saned
) tenham utilidade. Não sei. Primeiro atiro para depois perguntar.Depois da faxina:
# systemd-analyze Startup finished in 4.160s (kernel) + 10.415s (userspace) = 14.576s
Eu mantenho o servidor SSH rodando (este nativo:
ssh.service
). Desativando-o diminuiria um pouquinho mais.Razoável para um Core 2 Duo E7300 com um disco rígido de sete anos atrás.
A instalação do GNOME do Debian não instala o Plymouth. Já gostei dele. Faz tempo, entretanto, que não funciona 100% flicker-free. A última vez que vi um boot realmente sem flicker com o Plymouth foi no Fedora 15 rodando numa GeForce 4 alguma coisa. Fica de fora então.
Como a maioria das distribuições,
quiet
está nas opções de boot. Para termos o bonitinho progresso à medida que o systemd vai trabalhando, edite /etc/default/grub
:[...] GRUB_CMDLINE_LINUX_DEFAULT="quiet systemd.show_status=1" [...]
Remover
quiet
não é uma boa pois o kernel fica falante demais. Adicionar systemd.show_status
é melhor.Atualize a configuração do GRUB:
# update-grub
Até o momento, me parece ser uma migração tranquila do obsoleto SysVinit. O Debian ainda possui uma imensa quantidade de pacotes rodando com scripts SysV e seus mantenedores acharam alguns bugs no código de compatibilidade do systemd. Correções aplicadas no upstream. Acho que os únicos patches significativos ainda downstream implementam o seguinte:
- Suporte a
/etc/insserv/overrides
, que torna possível substituir localmente o cabeçalho LSB dos scripts SysV.sysv-generator: add support for /etc/insserv/overrides
Não foi muito bem recebido pelo upstream e será suportado apenas no Jessie. No futuro Debian 9 deve ser removido.
- Fazer o
systemctl
redirecionar para o update-rc.d
quando lidando com scripts SysV.Make systemctl enable/disable call update-rc.d for sysv init scripts (#709780)
Also redirect to update-rc.d when not using .service
systemctl: call update-rc.d enable|disable, not defaults|remove
Run update-rc.d defaults before update-rc.d <enable|disable>
Não sei por que o time do Debian não tornou esse código upstream, visto que Lennart já sinalizou mais de uma vez que seria uma adição bem-vinda.
Na questão dos logs, o rsyslog vem instalado e o journal é apenas volátil. Ou seja, tudo como antes.
Um bom trabalho, Debian!
Comentários
Postar um comentário