Systemd-240

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-8.4.

Informations sur le paquet

  • Téléchargement (HTTP) : https://github.com/systemd/systemd/archive/v240/systemd-240.tar.gz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : 0e4f91b513d4b04e2c10a5173e5a87b2

  • Taille du téléchargement : 7.2 Mo

  • Estimation de l'espace disque requis : 222 Mo (plus 11 Mo pour les tests)

  • Estimation du temps de construction : 2.2 SBU (< 0.1 SBU pour les tests)

Téléchargements supplémentaires

Dépendances de systemd

Requises

Linux-PAM-1.3.0

Dépendances de Recommended Runtime

Facultatives

cURL-7.64.0, cryptsetup-2.0.6, git-2.20.1, GnuTLS-3.6.6, Iptables-1.8.2, libgcrypt-1.8.4, libidn2-2.1.1, libseccomp-2.3.3, libxkbcommon-0.8.3, make-ca-1.2, qemu-3.1.0, Valgrind-3.14.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.3.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 de sécurité critique pour journald :

patch -Np1 -i ../systemd-240-security_fixes-2.patch

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 &&

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      \
      -Db_lto=false         \
      ..                    &&

ninja
[Note]

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]

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

Si RPM n'est pas installé, supprimez un répertoire inutile en lançant la commande suivante en tant qu'utilisateur root :

rm -rfv /usr/lib/rpm

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]

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/8.4/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-02-25 15:49:35 +0000