Skip to main content

202.1 Inicialização do Sistema


O maior foco aqui é no estudos sobre SysV e SysD.



SysV Init


Relembre aqui.



System D ou SysD


Relembre aqui.



Systemd-delta


É usado para verificar se alguma unit do SystemD está sobrescrevendo outra, exemplo, temos duas units .service, uma em /lib/systemd/system e outra em /etc/systemd/system.


Isso acontece porque temos 3 possíveis lugares para ter units:

  • /etc/systemd/system
  • /lib/systemd/system
  • /run/systemd/system

Além de mostrar se uma unit está sobrescrevendo outra, mostra se elas se completam, mostrando extended, além de outas opções.

$ sudo systemd-delta 
[OVERRIDDEN] /etc/tmpfiles.d/screen-cleanup.conf → /usr/lib/tmpfiles.d/screen-cleanup.conf

--- /usr/lib/tmpfiles.d/screen-cleanup.conf 2017-06-18 22:31:56.000000000 +0000
+++ /etc/tmpfiles.d/screen-cleanup.conf 2021-03-09 16:07:44.607758000 +0000
@@ -1 +1,2 @@
-d /run/screen 0777 root utmp
+# This file is generated by /var/lib/dpkg/info/screen.postinst upon package configuration
+d /run/screen 1777 root utmp

[EQUIVALENT] /etc/systemd/system/multipath-tools.service → /usr/lib/systemd/system/multipath-tools.service
[EXTENDED] /usr/lib/systemd/system/rc-local.service → /usr/lib/systemd/system/rc-local.service.d/debian.conf
[EXTENDED] /usr/lib/systemd/system/user@.service → /usr/lib/systemd/system/user@.service.d/timeout.conf

4 overridden configuration files found.


LSB - Linux Standard Base


O Linux Standard Base surgiu dentro da Linux Foundation como um conjunto de especificações criado em conjunto com diversas distribuições Linux para padronizar a estrutura de sistemas de software. Ele reúne várias normas já existentes (a principal é a Filesystem Hierarchy Standard – FHS) e acrescenta outras camadas, desde detalhes de empacotamento até a forma como scripts de inicialização respondem a comandos como start, stop e restart.


Durante os anos 1990, cada distro evoluiu à sua maneira. Desenvolvedores independentes tinham de reescrever instaladores, init-scripts ou localizar bibliotecas diferentes para cada alvo. O LSB apareceu para mitigar esse "custo de portabilidade", definindo:

  • Layout de diretórios: Adota 100 % da FHS.
  • Interface de init-scripts: Cabeçalhos padronizados e comandos obrigatórios.
  • Conjunto de bibliotecas compartilhadas: Devem existir numa implementação "compliant" (em conformidade com regras ou leis).
  • Formato de pacotes: Baseado em RPM (mesmo em distribuições que usam outro gerenciador, como .deb, existe um mecanismo de compatibilidade).

Nem todo mundo abraçou o LSB por completo. Algumas distros só incorporam a FHS, outras implementam os cabeçalhos de init-scripts, poucas seguem as bibliotecas obrigatórias à risca. O próprio projeto Debian, que historicamente carregava o selo LSB, anunciou a saída do grupo há alguns anos, deixando claro que pretende evoluir em seu próprio ritmo.


Isso não significa que o LSB morreu, ele continua servindo de referência, sobretudo em ambientes corporativos, onde uma certificação formal simplifica auditorias ou contratos de suporte. Entretanto, no dia-a-dia, administradores encontram variações. Na maioria dos sistemas Red Hat a hierarquia já cumpre quase tudo sem instalar nada extra, enquanto num Debian/Ubuntu você precisa do metapacote lsb para colocar no lugar algumas bibliotecas de compatibilidade e a ferramenta lsb_release.


Em ambientes Debian Like podemos instalar o pacote lsb para tornar a distra dentro do padrão LSB.

# Instalando o LSB no Ubuntu/Debian:
$ apt-get install lsb

# Exibe infos vindas dos cabeçalhos LSB
$ lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm

Além do lsb_release, o pacote traz os cabeçalhos de script em /lib/lsb/init-functions e uma coleção de symlinks que garantem que nomes clássicos de bibliotecas (por exemplo, libcrypto.so.4) existam mesmo que a versão real já seja mais nova.


Para mais detalhes verifique aqui.