Systemd-241
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.
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-9.0.
Informations sur le paquet
-
Téléchargement (HTTP) :
https://github.com/systemd/systemd/archive/v241/systemd-241.tar.gz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement :
c5953c24c850b44fcf714326e567dc37
-
Taille du téléchargement : 7.3 Mo
-
Estimation de l'espace disque requis : 242 Mo (avec les
tests)
-
Estimation du temps de construction : 2.7 SBU (avec les
tests)
Téléchargements supplémentaires
Dépendances de systemd
Requises
Linux-PAM-1.3.1
Dépendances de Recommended Runtime
Polkit-0.116
Facultatives
cURL-7.65.3, cryptsetup-2.0.6, git-2.23.0, GnuTLS-3.6.9,
Iptables-1.8.3, libgcrypt-1.8.5,
libidn2-2.2.0, libseccomp-2.4.1,
libxkbcommon-0.8.4, make-ca-1.4,
qemu-4.1.0, Valgrind-3.15.0, zsh-5.7.1 (for the zsh
completions), gnu-efi, kexec-tools,
libmicrohttpd,
lz4,
qrencode, quota-tools
et Sphinx
Facultatives (pour reconstruire les pages de manuel)
docbook-xml-4.5, docbook-xsl-1.79.2, libxslt-1.1.33 et
lxml-4.4.1 (pour contstruire l'index des pages de
manuel de systemd)
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/systemd
Installation de systemd
Appliquez un correctif pour permettre à systemd-networkd de
fonctionner avec les noyaux 5.2 et supérieurs, et pour corriger des
problèmes avec RDRAND sur les CPU Ryzen :
patch -Np1 -i ../systemd-241-networkd_and_rdrand_fixes-1.patch
Corrigez une incompatibilité avec la dernière version de
libseccomp :
sed -i '1506,1508 s/</>/' src/shared/seccomp-util.c
Supprimez un groupe inutile, render
, des règles udev par défaut :
sed -i 's/GROUP="render", //' rules/50-udev-default.rules.in
Reconstruisez systemd en lançant
les commandes suivantes :
mkdir build &&
cd build &&
CFLAGS+="-Wno-format-overflow" \
meson --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
-Dblkid=true \
-Dbuildtype=release \
-Ddefault-dnssec=no \
-Dfirstboot=false \
-Dinstall-tests=false \
-Dldconfig=false \
-Drootprefix= \
-Drootlibdir=/lib \
-Dsplit-usr=true \
-Dsysusers=false \
-Drpmmacrosdir=no \
-Db_lto=false \
-Dgnutls=false \
.. &&
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 : ninja test.
Avertissement
Installer le paquet effacera tous les fichiers installés par
systemd dans LFS. Il est
critique que rien n'utilise ni systemd ni les bibliothèques Udev durant l'installation. La meilleur
manière de s'assurer que ces bibliothèques ne sont pas utilisées
est de lancer l'installation en mode de secours. Pour passer en
mode de secours, lancez les commandes suivantes en tant
qu'utilisateur root
(depuis un
TTY) :
systemctl start rescue.target
Maintenant, en tant qu'utilisateur root
:
ninja install
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
:
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
Maintenant, vous devriez recharger le démon systemd et réentrer en
mode multi-utilisateur avec les commandesuis suivantes (en tant
qu'utilisateur root
) :
systemctl daemon-reload
systemctl start multi-user.target
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/9.0/chapter06/systemd.html#contents-systemd.
Plus bas sont listés les bibliothèques et les répertoires
nouvellement installés avec leur description courte.
Programmes installés:
Aucun
Bibliothèques installées:
pam_systemd.so (dans /lib/security
)
Répertoires installés:
Aucun
Descriptions courtes
pam_systemd.so
|
est un module PAM utilisé pour enregistrer les sessions
utilisateur auprès du gestionnaire de connexion de
systemd, systemd-logind.
|
Last updated on 2019-08-20 04:51:38 +0000