Systemd-254

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 12.0 platform.

Informations sur le paquet

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

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 : 0d266e5361dc72097b6c18cfde1c0001

  • Taille du téléchargement : 14 Mo

  • Estimation de l'espace disque requis : 198 Mo (avec les tests)

  • Estimation du temps de construction : 3,7 SBU (avec les tests et 4 cœurs)

Dépendances de systemd

Recommandées

[Note]

Note

Linux-PAM-1.5.3 n'est pas strictement requis pour construire systemd, mais la raison principale pour reconstruire systemd dans BLFS (il est de toute façon déjà construit dans LFS) est le démon systemd-logind ainsi que le module PAM pam_systemd.so. Linux-PAM-1.5.3 est requis pour les deux. Tous les paquets dans le livre BLFS qui ont une dépendance à systemd s'attendent à ce qu'il ait été reconstruit avec Linux-PAM-1.5.3.

Facultatives

btrfs-progs-6.3.3, cURL-8.2.1, cryptsetup-2.4.3, git-2.41.0, GnuTLS-3.8.1, iptables-1.8.9, libgcrypt-1.10.2, libidn2-2.3.4, libpwquality-1.4.5, libseccomp-2.5.4, libxkbcommon-1.5.0, make-ca-1.12, p11-kit-0.25.0, pcre2-10.42, qemu-8.1.0, qrencode-4.1.1, rsync-3.2.7, sphinx-7.1.2, Valgrind-3.21.0, zsh-5.9 (pour les complétions zsh), AppArmor, audit-userspace, bash-completion, jekyll, kexec-tools, libbpf, libdw, libfido2, libmicrohttpd, lz4, pyelftools, quota-tools, rpm, SELinux, systemtaptpm2-tss et Xen

Facultatives (pour reconstruire les pages de manuel)

docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.38 et lxml-4.9.3 (pour contstruire l'index des pages de manuel de systemd)

Installation de systemd

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 setup ..                \
      --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 \
      -Ddev-kvm-mode=0660     \
      -Ddocdir=/usr/share/doc/systemd-254 &&

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, exécutez : ninja test. Les tests nommé test-stat-util et test-netlink sont connus pour échouer si certaines fonctionnalités du noyau ne sont pas activées. Si la suite de tests est lancée par l'utilisateur root, d'autres tests peuvent échouer car ils dépendent de diverses options de configuration du noyau.

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]

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/12.0-systemd/chapter08/systemd.html#contents-systemd.

Plus bas sont listés les programmes nouvellement installés et leur description courte.

Programmes installés: homectl (facultatif), systemd-cryptenroll (si cryptsetup-2.4.3 est installé) et userdbctl (facultatifs)

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