A resposta do caos é o que diz alguma documentação. Mas não é o que o systemd realmente faz. (Também não foi o que van Smoorenburg rcfez. A van Smoorenburgrc definitivamente não ignorou os cabeçalhos LSB, que insservcostumavam calcular pedidos estáticos para iniciantes.) A documentação do Freedesktop, como a página "Incompatibilidades", está de fato errada, na verdade. esses e outros pontos. (A HOMEvariável de ambiente, na verdade, é frequentemente definida, por exemplo. Isso ficou totalmente sem documentação em qualquer lugar por um longo tempo. Agora está documentada no manual, pelo menos, mas essa página do Freedesktop WWW ainda não foi corrigida.)
O formato de serviço nativo para systemd é a unidade de serviço . o gerenciamento de serviços do systemd propriamente dito opera apenas em termos daqueles, que são lidos em um dos nove diretórios em que os .servicearquivos (em todo o sistema) podem viver. /etc/systemd/system, /run/systemd/system, /usr/local/lib/systemd/system, E /usr/lib/systemd/systemsão quatro desses diretórios.
A compatibilidade com os rcscripts de van Smoorenburg é alcançada com um programa de conversão chamado systemd-sysv-generator. Este programa está listado no /usr/lib/systemd/system-generators/diretório e, portanto, é executado automaticamente pelo systemd no início do processo de autoinicialização a cada inicialização e novamente sempre que o systemd é instruído a recarregar sua configuração posteriormente.
Este programa é um gerador , um tipo de utilitário auxiliar cuja tarefa é criar arquivos de unidades de serviço em tempo real, em um tmpfs onde estão localizados mais três desses nove diretórios (que devem ser usados apenas por geradores). systemd-sysv-generatorgera as unidades de serviço que executam os rcscripts de van Smoorenburg /etc/init.d, se não encontrar uma unidade de serviço systemd nativa com esse nome já existente nos outros seis locais.
O gerenciamento de serviços systemd conhece apenas unidades de serviço. Essas unidades de serviço (re) geradas automaticamente são gravadas para chamar os rcscripts de van Smoorenburg . Eles têm, entre outras coisas:
[Unidade]
SourcePath = / etc / init.d / wibble
[Serviço]
ExecStart = / etc / init.d / wibble start
ExecStop = / etc / init.d / wibble stop
A sabedoria recebida é que os rcscripts de van Smoorenburg devem ter um cabeçalho LSB e são executados em paralelo sem respeitar as prioridades impostas pelo /etc/rc?.d/sistema. Isso está incorreto em todos os pontos.
Na verdade, eles não precisam de ter um LSB cabeçalho, e não se o fizerem systemd-sysv-generatorpodem reconhecer os mais limitados old comment RedHat cabeçalhos ( description:, pidfile:e assim por diante). Além disso, na ausência de um cabeçalho LSB, ele retornará ao conteúdo dos /etc/rc?.dfarms de links simbólicos, lendo as prioridades codificadas nos nomes dos links e construindo um pedido antes / depois deles, serializando os serviços. Os cabeçalhos LSB não são apenas um requisito, e eles próprios não apenas codificam pedidos antes / depois que serializam as coisas até certo ponto, como também o comportamento de fallback em sua ausência completa é uma operação significativamente não paralela.
O motivo que /etc/rc3.dnão pareceu importar é que você provavelmente teve esse script ativado por outro /etc/rc?.d/diretório. systemd-sysv-generatortraduz a ser incluída em qualquer das /etc/rc2.d/, /etc/rc3.d/e /etc/rc4.d/em um nativa Wanted-Byrelação ao Systemd de multi-user.target. Os níveis de execução são "obsoletos" no mundo do sistema e você pode esquecê-los.
Leitura adicional