Systemd-254

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.0 plattform.

Pakkeinformasjon

systemd Avhengigheter

Anbefalt

[Note]

Note

Linux-PAM-1.5.3 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.5.3 er nødvendig for dem. Alle pakker i BLFS boken med en avhengighet av systemd forventer at den er bygget med Linux-PAM-1.5.3.

Valgfri

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 (for zsh fullføringer), AppArmor, audit-userspace, bash-completion, jekyll, kexec-tools, libbpf, libdw, libfido2, libmicrohttpd, lz4, 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.38, og lxml-4.9.3 (å bygge indeksen over systemd manualsidene)

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

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=false           \
      -Duserdb=false          \
      -Dmode=release          \
      -Dpam=true              \
      -Dpamconfdir=/etc/pam.d \
      -Ddev-kvm-mode=0660     \
      -Ddocdir=/usr/share/doc/systemd-254 &&

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=false: 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.4.3 og libpwquality-1.4.5 installert, og endre deretter "false" til "true" i mesonkommandoen ovenfor.

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
[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.0-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.4.3 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