Systemd-255

Introduksjon til systemd

Mens systemd ble installert under byggingen av LFS, er det mange funksjoner levert av pakken som ikke ble inkludert i den første installasjonen fordi Linux-PAM var ennå ikke installert. systemd pakken må bli bygd om igjen for å gi en fungerende systemd-logind service, som gir mange tilleggsfunksjoner for avhengige pakker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.1 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

systemd Avhengigheter

Anbefalt

[Note]

Note

Linux-PAM-1.6.0 er strengt tatt ikke nødvendig for å bygge systemd, men hovedgrunnen til å gjenoppbygge systemd i BLFS (den er allerede bygd i LFS uansett) er for systemd-logind nissen og pam_systemd.so PAM modulen. Linux-PAM-1.6.0 er nødvendig for dem. Alle pakker i BLFS boken med en avhengighet av systemd forventer at den er bygget med Linux-PAM-1.6.0.

Valgfri

btrfs-progs-6.7.1, cURL-8.6.0, cryptsetup-2.7.0, git-2.44.0, GnuTLS-3.8.3, iptables-1.8.10, libgcrypt-1.10.3, libidn2-2.3.7, libpwquality-1.4.5, libseccomp-2.5.5, libxkbcommon-1.6.0, make-ca-1.13, p11-kit-0.25.3, pcre2-10.42, qemu-8.2.1, qrencode-4.1.1, rsync-3.2.7, sphinx-7.2.6, Valgrind-3.22.0, zsh-5.9 (for zsh fullføringer), AppArmor, audit-userspace, bash-completion, jekyll, kexec-tools, libbpf, libdw, libfido2, libmicrohttpd, lz4, pefile, pyelftools, quota-tools, rpm, SELinux, systemtap, tpm2-tss og Xen

Valgfri (for å gjenoppbygge manualsidene)

docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.39, og lxml-4.9.4 (å bygge indeksen over systemd manualsidene)

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Logind

Installasjon av systemd

Fjern to unødvendige grupper, render og sgx, fra standard udev regler:

sed -i -e 's/GROUP="render"/GROUP="video"/' \
       -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in

Nå fiks en sikkerhetssårbarhet i DNSSEC verifiseringen av systemd-resolved og en feil som ødelegger kjøring av systemd-analyze verify på en instansiert systemd enhet:

patch -Np1 -i ../systemd-255-upstream_fixes-1.patch

Gjenoppbygg systemd ved å kjøre følgende kommandoer:

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=disabled        \
      -Duserdb=false          \
      -Dmode=release          \
      -Dpam=enabled           \
      -Dpamconfdir=/etc/pam.d \
      -Ddev-kvm-mode=0660     \
      -Dnobody-group=nogroup  \
      -Dsysupdate=disabled    \
      -Dukify=disabled        \
      -Ddocdir=/usr/share/doc/systemd-255 &&

ninja
[Note]

Note

For de beste testresultatene, sørg for at du kjører testpakken fra et system som startes opp av det samme systemd versjonen du bygger om.

For å teste resultatene, utsted: ninja test. Testene navngitt test-stat-util og test-netlink er kjent for å mislykkes hvis noen kjernefunksjoner ikke er aktivert. Hvis testpakken kjøres som root bruker, noen andre tester kan mislykkes fordi de er avhengige av ulike kjerne konfigurasjonsalternativer.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dpamconfdir=/etc/pam.d: Tvinger PAM filene til å installeres i /etc/pam.d i stedet for /usr/lib/pam.d.

-Duserdb=false: Fjerner en nisse som ikke gjør noe under en BLFS konfigurasjon. Hvis du ønsker å aktivere userdbd nissen, erstatte "false" med "true" i mesonkommandoen ovenfor.

-Dhomed=disabled: Fjerner en nisse som ikke gjør noe under en BLFS konfigurasjon, spesielt ved å bruke kontoer opprettet med useradd. For å aktivere systemd-homed, sørg først for at du har cryptsetup-2.7.0 og libpwquality-1.4.5 installert, og endre deretter disabled til enabled i kommandoen meson setup ovenfor.

-Dukify=disabled: Fjerner et skript for å kombinere en kjerne, en initramfs og en kjernekommandolinje osv. inn i en UEFI applikasjon som kan lastes inn av UEFI fastvaren for å starte den innebygde Linux kjernen. Det er ikke nødvendig for å starte opp et BLFS system med UEFI hvis Using GRUB to Set Up the Boot Process with UEFI følges. Og det krever pefile Python modulen ved kjøretid, så hvis det er aktivert men pefile ikke er installert, vil en test for den mislykkes i testpakken. For å aktivere systemd-ukify, installer pefile modulen og deretter endre disabled til enabled i ovenstående meson setup kommandoen.

Konfigurere systemd

/etc/pam.d/system-session filen må endres og en ny fil må opprettes for at systemd-logind skal fungere riktig. Kjør følgende kommandoer som root bruker:

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

Som root bruker, erstatte den kjørende systemd behandleren (init prosessen) med systemd kjørbare nylig bygd og installert:

systemctl daemon-reexec
[Important]

Important

Sørg først for at Shadow-4.14.5 allerede er ombygd med Linux-PAM-1.6.0 støtte , deretter logg ut og logg på en gang til. Dette sikrer at den kjørende påloggingsøkten registrert med systemd-logind og en per-bruker systemd forekomst kjører for hver bruker som eier en påloggingsøkt. Mange BLFS pakker som lister Systemd som en avhengighet trenger systemd-logind integrasjon og/eller en kjørende per-bruker systemd forekomst.

[Warning]

Warning

Hvis du oppgraderer fra en tidligere versjon av systemd og en initrd brukes til systemoppstart, bør du generere en ny initrd før omstart av systemet.

Innhold

En liste over installerte filer, sammen med deres korte beskrivelser finner du på ../../../../lfs/view/12.1-systemd/chapter08/systemd.html#contents-systemd.

Listet nedenfor er de nylig installerte programmene sammen med korte beskrivelser.

Installerte Programmer: homectl (valgfri), systemd-cryptenroll (hvis cryptsetup-2.7.0 er installert), og userdbctl (valgfri)

Korte Beskrivelser

homectl

er et verktøy for å opprette, fjerne, endre eller inspisere en hjemmemappe styrt av systemd-homed; merk at det er ubrukelig for de klassiske UNIX brukere og hjemmemapper som vi bruker i LFS/BLFS-boken

systemd-cryptenroll

Brukes til å registrere eller fjerne et system fra full diskkryptering, samt angi og spørre om private nøkler og gjenopprettingsnøkler

userdbctl

inspiserer brukere, grupper og gruppemedlemskap

pam_systemd.so

er en PAM modul som brukes til å registrere brukerøkter med systemd påloggingsbehandler, systemd-logind