8.74. Systemd-254

O pacote systemd contém aplicativos para controlar a inicialização, execução e desligamento do sistema.

Tempo aproximado de construção: 0,7 UPC
Espaço em disco exigido: 238 MB

8.74.1. Instalação do systemd

Remova dois grupos desnecessários, render e sgx, das regras padrão do "udev":

sed -i -e 's/GROUP="render"/GROUP="video"/' \
       -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in

Prepare systemd para compilação:

mkdir -p build
cd       build

meson setup \
      --prefix=/usr                 \
      --buildtype=release           \
      -Ddefault-dnssec=no           \
      -Dfirstboot=false             \
      -Dinstall-tests=false         \
      -Dldconfig=false              \
      -Dsysusers=false              \
      -Drpmmacrosdir=no             \
      -Dhomed=false                 \
      -Duserdb=false                \
      -Dman=false                   \
      -Dmode=release                \
      -Dpamconfdir=no               \
      -Ddev-kvm-mode=0660           \
      -Ddocdir=/usr/share/doc/systemd-254 \
      ..

O significado das opções "meson":

--buildtype=release

Essa chave substitui o tipo de construção padrão (debug), que produz binários não otimizados.

-Ddefault-dnssec=no

Essa chave desliga o suporte experimental a DNSSEC.

-Dfirstboot=false

Essa chave impede a instalação de serviços do systemd responsáveis por configurar o sistema pela primeira vez. Eles não são úteis no LFS, pois tudo é feito manualmente.

-Dinstall-tests=false

Essa chave impede a instalação dos testes compilados.

-Dldconfig=false

Essa chave impede a instalação de uma unidade do systemd que executa ldconfig ao inicializar; isso não é útil para distribuições de fonte, tais como o LFS, e torna o tempo de inicialização mais longo. Remova essa opção para habilitar a execução de ldconfig ao inicializar.

-Dsysusers=false

Essa chave impede a instalação de serviços do systemd responsáveis por configurar os arquivos /etc/group e /etc/passwd. Ambos os arquivos foram criados no capítulo anterior. Esse processo de segundo plano não é útil em um sistema LFS dado que contas de usuário(a) são criadas manualmente.

-Drpmmacrosdir=no

Essa chave desabilita a instalação das Macros RPM para uso com o systemd, pois o LFS não suporta RPM.

-D{userdb,homed}=false

Remova dois processos de segundo plano com dependências que não se encaixam no escopo do LFS.

-Dman=false

Impeça a geração de páginas de manual para evitar dependências extras. Nós instalaremos páginas de manual pré-geradas para o systemd a partir de um tarball.

-Dmode=release

Desabilite alguns recursos considerados experimentais pelo(a) desenvolvedor(a).

-Dpamconfdir=no

Evita a instalação de um arquivo de configuração do PAM não funcional no LFS.

-Ddev-kvm-mode=0660

A regra padrão do "udev" permitiria que todos(as) os(as) usuários(as) acessassem /dev/kvm. Os(As) editores(as) a consideram perigosa. Essa opção a substitui.

Compile o pacote:

ninja

Instale o pacote:

ninja install

Instale as páginas de manual:

tar -xf ../../systemd-man-pages-254.tar.xz \
    --no-same-owner --strip-components=1  \
    -C /usr/share/man

Crie o arquivo /etc/machine-id necessitado pelo systemd-journald:

systemd-machine-id-setup

Configure a estrutura básica alvo:

systemctl preset-all

Desabilite dois serviços para atualizar distribuições de binário. Eles são inúteis para um sistema básico Linux construído a partir do fonte e cada um informará um erro se estiver habilitado, mas não configurado:

systemctl disable systemd-sysupdate{,-reboot}

8.74.2. Conteúdo do systemd

Aplicativos instalados: busctl, coredumpctl, halt (link simbólico para systemctl), hostnamectl, init, journalctl, kernel-install, localectl, loginctl, machinectl, mount.ddi (link simbólico para systemd-dissect), networkctl, oomctl, portablectl, poweroff (link simbólico para systemctl), reboot (link simbólico para systemctl), resolvconf (link simbólico para resolvectl), resolvectl, runlevel (link simbólico para systemctl), shutdown (link simbólico para systemctl), systemctl, systemd-ac-power, systemd-analyze, systemd-ask-password, systemd-cat, systemd-cgls, systemd-cgtop, systemd-confext (link simbólico para systemd-sysext), systemd-creds, systemd-delta, systemd-detect-virt, systemd-dissect, systemd-escape, systemd-hwdb, systemd-id128, systemd-inhibit, systemd-machine-id-setup, systemd-mount, systemd-notify, systemd-nspawn, systemd-path, systemd-repart, systemd-resolve (link simbólico para resolvectl), systemd-run, systemd-socket-activate, systemd-stdio-bridge, systemd-sysext, systemd-tmpfiles, systemd-tty-ask-password-agent, systemd-umount (link simbólico para systemd-mount), telinit (link simbólico para systemctl), timedatectl e udevadm
Bibliotecas instaladas: libnss_myhostname.so.2, libnss_mymachines.so.2, libnss_resolve.so.2, libnss_systemd.so.2, libsystemd.so, libsystemd-shared-254.so (em /usr/lib/systemd) e libudev.so
Diretórios instalados: /etc/binfmt.d, /etc/init.d, /etc/kernel, /etc/modules-load.d, /etc/sysctl.d, /etc/systemd, /etc/tmpfiles.d, /etc/udev, /etc/xdg/systemd, /usr/lib/systemd, /usr/lib/udev, /usr/include/systemd, /usr/lib/binfmt.d, /usr/lib/environment.d, /usr/lib/kernel, /usr/lib/modules-load.d, /usr/lib/sysctl.d, /usr/lib/systemd, /usr/lib/tmpfiles.d, /usr/share/doc/systemd-254, /usr/share/factory, /usr/share/systemd, /var/lib/systemd e /var/log/journal

Descrições Curtas

busctl

É usado para introspecção e monitoramento do barramento D-Bus

coredumpctl

É usado para recuperar despejos da memória principal a partir do diário do systemd

halt

Normalmente invoca shutdown com a opção -h, exceto quando já em nível de execução 0, então ele informa ao núcleo para parar o sistema; ele anota no arquivo /var/log/wtmp que o sistema está sendo desligado

hostnamectl

É usado para consultar e mudar o nome de dispositivo do sistema e configurações relacionadas

init

É o primeiro processo a ser iniciado depois que o núcleo tenha inicializado o hardware; init assume o processo de inicialização e inicia os processos especificados pelos arquivos de configuração dele; nesse caso, ele inicia o systemd

journalctl

É usado para consultar o conteúdo do diário do systemd

kernel-install

É usado para adicionar e remover imagens de núcleo e de initramfs para e de /boot; no LFS, isso é feito manualmente

localectl

É usado para consultar e mudar as configurações de locale e esquema de teclado do sistema

loginctl

É usado para introspectar e controlar o estado do Login Manager do systemd

machinectl

É usado para introspectar e controlar o estado do Virtual Machine e do Container Registration Manager do systemd

networkctl

É usado para introspectar e configurar o estado dos links da rede de comunicação configurados pelo systemd-networkd

oomctl

Controla o processo de segundo plano Out Of Memory do systemd

portablectl

É usado para anexar ou desanexar serviços portáveis a partir do sistema local

poweroff

Instrui o núcleo a parar o sistema e desligar o computador (veja-se halt)

reboot

Instrui o núcleo a reinicializar o sistema (veja-se halt)

resolvconf

Registra a configuração do servidor de DNS e domínio com systemd-resolved

resolvectl

Envia comandos de controle para o gerenciador de resolução de nome da rede de comunicação ou resolve nomes de domínio, endereços IPv4 e IPv6, registros DNS e serviços

runlevel

Emite o nível de execução anterior e o atual, conforme anotado no registro mais recente do nível de execução em /run/utmp

shutdown

Desativa o sistema de uma maneira segura e protegida, sinalizando para todos os processos e notificando todos(as) os(as) usuários(as) logados(as)

systemctl

É usado para introspectar e controlar o estado do gerenciador de sistema e serviço do systemd

systemd-ac-power

Informa se o sistema está conectado a uma fonte externa de eletricidade.

systemd-analyze

É usado para analisar o desempenho da inicialização do sistema, bem como para identificar unidades problemáticas do systemd

systemd-ask-password

É usado para consultar uma palavra secreta ou frase secreta do sistema a partir do(a) usuário(a), usando uma mensagem especificada na linha de comando do Linux

systemd-cat

É usado para conectar as saídas geradas STDOUT e STDERR de um processo com o diário do systemd

systemd-cgls

Recursivamente mostra o conteúdo da hierarquia do grupo de controle selecionado do Linux em uma árvore

systemd-cgtop

Mostra os grupos de controle superiores da hierarquia do grupo de controle local do Linux, ordenados pela carga de CPU, memória e entradas/saídas de disco deles

systemd-creds

Exibe e processa credenciais

systemd-delta

É usado para identificar e comparar arquivos de configuração em /etc que substituem os padrões em /usr

systemd-detect-virt

Detecta se o sistema está sendo executado em um ambiente virtual e ajusta o Udev de acordo

systemd-dissect

É usado para inspecionar imagens de disco de SO

systemd-escape

É usado para escapar sequências de caracteres para inclusão em nomes de unidade do systemd

systemd-hwdb

É usado para gerenciar a base de dados de hardware (hwdb)

systemd-id128

Gera e imprime sequências de caracteres id128 (UUID)

systemd-inhibit

É usado para executar um aplicativo com um bloqueio de inibição de desligamento, suspensão ou inatividade, impedindo uma ação tal como um desligamento do sistema até que o processo seja completado

systemd-machine-id-setup

É usado por ferramentas de instalador do sistema para inicializar o ID de máquina armazenado em /etc/machine-id ao tempo de instalação com um ID gerado aleatoriamente

systemd-mount

É usado para montar temporariamente ou automontar discos

systemd-notify

É usado por scripts do processo de segundo para notificar o sistema init acerca de mudanças de situação

systemd-nspawn

É usado para executar um comando ou um OS inteiro, em um contêiner de espaço de nome peso leve

systemd-path

É usado para consultar caminhos de sistema e usuário(a)

systemd-repart

É usado para aumentar e adicionar partições à uma tabela de partição quando o systemd for usado com uma imagem de SO (por exemplo, um contêiner)

systemd-resolve

É usado para resolver nomes de domínio, endereços IPV4 e IPv6, registros de recurso DNS e serviços

systemd-run

É usado para criar e iniciar uma unidade transitória .service ou uma .scope e executar o comando especificado nela; isso é útil para validar unidades do systemd

systemd-socket-activate

É usado para ouvir em dispositivos de soquete e iniciar um processo depois de uma conexão bem sucedida com o soquete

systemd-sysext

Ativa imagens de extensão de sistema

systemd-tmpfiles

Cria, deleta e limpa arquivos e diretórios voláteis e temporários, baseado no formato de arquivo de configuração e local especificado em diretórios tmpfiles.d

systemd-umount

Desmonta pontos de montagem

systemd-tty-ask-password-agent

É usado para listar e (ou) processar solicitações pendentes de senha do systemd

telinit

Informa ao init para qual nível de execução mudar

timedatectl

É usado para consultar e mudar o relógio do sistema e as configurações dele

udevadm

É uma ferramenta genérica de administração do Udev que controla o processo de segundo plano udevd, fornece informação a partir da base de dados de hardware do Udev, monitora uevents, aguarda que uevents finalizem, testa a configuração do Udev e deflagra uevents para um dispositivo dado

libsystemd

É a biblioteca principal de utilitário do systemd

libudev

É uma biblioteca para acessar informação de dispositivo do Udev