Systemd-252
Introdução ao "systemd"
Enquanto o systemd foi instalado
quando da construção do LFS, existem muitos recursos fornecidos
pelo pacote que não foram incluídos na instalação inicial porque o
Linux-PAM ainda não estava
instalado. O pacote systemd
precisa ser reconstruído para fornecer um serviço systemd-logind funcional, o qual
fornece muitos recursos adicionais para pacotes dependentes.
Esse pacote é conhecido por construir e funcionar adequadamente
usando uma plataforma LFS 11.3.
Informação do Pacote
Transferências Adicionais
Dependências do "systemd"
Exigidas
Linux-PAM-1.5.2
Dependência de Tempo de Execução Recomendada
Polkit-122
Opcionais
btrfs-progs-6.1.3, cURL-7.88.1,
cryptsetup-2.4.3, git-2.39.2, GnuTLS-3.8.0,
iptables-1.8.9, libgcrypt-1.10.1,
libidn2-2.3.4, libpwquality-1.4.5, libseccomp-2.5.4,
libxkbcommon-1.5.0, make-ca-1.12,
p11-kit-0.24.1, pcre2-10.42, qemu-7.2.0,
qrencode-4.1.1, rsync-3.2.7,
sphinx-6.1.3, Valgrind-3.20.0,
zsh-5.9 (para as completações do "zsh"), gnu-efi, kexec-tools,
libbpf, libdw, libfido2,
libmicrohttpd,
lz4,
quota-tools e
tpm2-tss
Opcional (para reconstruir as páginas de manual)
docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.37 e lxml-4.9.2 (para
construir o índice das páginas de manual do "systemd")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/systemd
Instalação do "systemd"
Primeiro, corrija um problema de segurança no "systemd-coredump":
patch -Np1 -i ../systemd-252-security_fix-1.patch
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
Reconstrua o systemd executando os
seguintes comandos:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Ddefault-dnssec=no \
-Dfirstboot=false \
-Dinstall-tests=false \
-Dldconfig=false \
-Dman=auto \
-Dsysusers=false \
-Drpmmacrosdir=no \
-Dhomed=false \
-Duserdb=false \
-Dmode=release \
-Dpam=true \
-Dpamconfdir=/etc/pam.d \
-Ddocdir=/usr/share/doc/systemd-252 \
.. &&
ninja
Nota
Para os melhores resultados de teste, certifique-se de executar a
suíte de testes a partir de um sistema que seja inicializado pela
mesma versão do systemd que você
estiver reconstruindo.
Para testar os resultados, emita: PATH+=:/usr/sbin ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
Explicações do Comando
--buildtype=release
:
Especifique um tipo de construção adequado para lançamentos
estáveis do pacote, pois o padrão possivelmente produza binários
não otimizados.
-Dpamconfdir=/etc/pam.d
:
Força os arquivos do "PAM" serem instalados em "/etc/pam.d" em vez
de "/usr/lib/pam.d".
-Duserdb=false
: Remove um
processo de segundo plano que não oferece qualquer uso sob uma
configuração do BLFS. Se você deseja habilitar o processo de
segundo plano userdbd, [então]
substitua "false" por "true" no comando "meson" acima.
-Dhomed=false
: Remove um
processo de segundo plano que não oferece qualquer uso sob uma
configuração tradicional do BLFS, especialmente usando contas
criadas com "useradd". Para habilitar o "systemd-homed", primeiro
certifique-se de ter cryptsetup-2.4.3 e libpwquality-1.4.5 instalados e, em
seguida, mude "false" para "true" no comando "meson" acima.
Configurando o "systemd"
O arquivo /etc/pam.d/system-session
precisa ser modificado e um novo arquivo precisa ser criado para a
finalidade de que o systemd-logind funcione
corretamente. Execute os seguintes comandos como o(a) usuário(a)
root
:
grep 'pam_systemd' /etc/pam.d/system-session ||
cat >> /etc/pam.d/system-session << "EOF"
# Começo da adição do "Systemd"
session required pam_loginuid.so
session optional pam_systemd.so
# Fim da adição do "Systemd"
EOF
cat > /etc/pam.d/systemd-user << "EOF"
# Começo "/etc/pam.d/systemd-user"
account required pam_access.so
account include system-account
session required pam_env.so
session required pam_limits.so
session required pam_unix.so
session required pam_loginuid.so
session optional pam_keyinit.so force revoke
session optional pam_systemd.so
auth required pam_deny.so
password required pam_deny.so
# Fim "/etc/pam.d/systemd-user"
EOF
Atenção
Se atualizar a partir de uma versão anterior do "systemd" e um
"initrd" for usado para inicialização do sistema, [então] você
deveria gerar um novo "initrd" antes de reinicializar o sistema.
Conteúdo
Uma lista dos arquivos instalados, juntamente com as descrições
curtas deles, pode ser encontrada em
../../../../lfs/view/11.3-systemd/chapter08/systemd.html#contents-systemd.
Listados abaixo estão os aplicativos recém-instalados, juntamente
com descrições curtas.
Aplicativos Instalados:
"homectl" (se cryptsetup-2.4.3 estiver instalado),
"systemd-cryptenroll" (se cryptsetup-2.4.3 estiver instalado) e
"userdbctl" (opcionalmente)
Descrições Curtas
homectl
|
é uma ferramenta para criar, remover, mudar ou
inspecionar um diretório "home" gerenciado por
systemd-homed; observe
que é inútil para os(as) usuários(as) clássicos(as) do
"UNIX" e diretórios "home" que estamos usando no livro
LFS/BLFS
|
systemd-cryptenroll
|
É usado para registrar ou remover um sistema da
criptografia completa do disco, bem como configurar e
consultar chaves privadas e chaves de recuperação
|
userdbctl
|
inspeciona usuários(as), grupos e associações de grupos
|
pam_systemd.so
|
é um módulo "PAM" usado para registrar sessões de
usuário(a) com o gerenciador de "login" do systemd, systemd-logind
|