Systemd-252
Introduction à systemd
Alors que systemd a été installé
avec LFS, il y a plein de fonctionnalités fournies par le paquet
qui n'ont pas été inculeses dans l'installation initiale car
Linux-PAM n'était pas installé. Le
paquet systemd doit être
reconstruit pour fournir un service systemd-logind fonctionnel, qui
fourint plein de fonctionnalités supplémentaires pour les paquets
qui en dépendent.
This package is known to build and work properly using an LFS 11.3
platform.
Informations sur le paquet
Téléchargements supplémentaires
Dépendances de systemd
Requises
Linux-PAM-1.5.2
Dépendance à l'exécution recommandée
Polkit-122
Facultatives
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 (pour les complétions zsh), gnu-efi,
kexec-tools,
libbpf, libdw, libfido2,
libmicrohttpd,
lz4,
quota-tools et
tpm2-tss
Facultatives (pour reconstruire les pages de manuel)
docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.37 et lxml-4.9.2 (pour
contstruire l'index des pages de manuel de systemd)
Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/systemd
Installation de systemd
Tout d'abord, corrigez un problème de sécurité dans
systemd-coredump :
patch -Np1 -i ../systemd-252-security_fix-1.patch
Supprimez deux groupes inutiles, render
et sgx
,
des règles udev par défaut :
sed -i -e 's/GROUP="render"/GROUP="video"/' \
-e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in
Reconstruisez systemd en exécutant
les commandes suivantes :
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
Note
Pour de meilleurs résultats, assurez-vous que vous lancez la
suite de tests depuis un système démarré par la même version de
systemd que celle que vous
reconstruisez.
Pour tester les résultats lancez : PATH+=:/usr/sbin ninja test.
Maintenant, en tant qu'utilisateur root
:
ninja install
Explication des commandes
--buildtype=release
:
spécifie le type de construction convenant aux versions stables de
ce paquet, comme la valeur par défaut produit des binaires non
optimisés.
-Dpamconfdir=/etc/pam.d
: force
les fichiers PAM à être installés dans /etc/pam.d plutôt qu edans
/usr/lib/pam.d.
-Duserdb=false
:
supprime un démon qui n'offre rien d'utile dans une configuration
BLFS. Si vous voulez activer le démon userdb, remplacez « false » par
« true » dans la commande meson ci-dessus.
-Dhomed=false
:
supprime un démon qui n'offre rien d'utile pour une configuration
BLFS traditionnelle, surtout si vous utilisez des comptes créés par
useradd. Pour activer systemd-homed, assurez-vous d'abord que vous
avez installé cryptsetup-2.4.3 et libpwquality-1.4.5, puis remplacez
« false » par « true » dans la commande meson
ci-dessus.
Configuration de systemd
Le fichier /etc/pam.d/system-session
a besoin d'être modifié et un nouveau fichier doit être créé pour
que systemd-logind
fonctionne correctement. Lancez les commandes suivantes en tant
qu'utilisateur root
:
grep 'pam_systemd' /etc/pam.d/system-session ||
cat >> /etc/pam.d/system-session << "EOF"
# Begin Systemd addition
session required pam_loginuid.so
session optional pam_systemd.so
# End Systemd addition
EOF
cat > /etc/pam.d/systemd-user << "EOF"
# Begin /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
# End /etc/pam.d/systemd-user
EOF
Avertissement
Si vous mettez à jour depuis une version antérieure de systemd et
qu'un initrd est utilisé pour démarrer le système, vous devriez
générer un nouvel initrd avant de redémarrer le système.
Contents
Une liste des fichiers installés, avec leur description courte se
trouve sur
../../../../lfs/view/11.3-systemd/chapter08/systemd.html#contents-systemd.
Plus bas sont listés les programmes nouvellement installés et leur
description courte.
Descriptions courtes
homectl
|
est un outil pour créer, supprimer, changer et inspecter
un répertoire personnel géré par systemd-homed ;
remarquez que c'est inutile pour les utilisateurs UNIX
classiques et les répertoires personnels qui sont
utilisés dans les livres LFS et BLFS.
|
systemd-cryptenroll
|
Est utilisé pour utiliser ou arrêter d'utiliser le
chiffrement du disque complet pour le système, et pour
initialiser et demander des clés secrètes et des clés de
récupération
|
userdbctl
|
inspecte les utilisateurs, les groupes et les
appartenances de groupes
|
pam_systemd.so
|
est un module PAM utilisé pour enregistrer les sessions
utilisateur auprès du gestionnaire de connexion de
systemd, systemd-logind
|