Introduksjon til Systemd
Selv om Systemd ble installert da LFS ble bygget, er det mange
funksjoner i pakken som ikke var inkludert i den første
installasjonen fordi Linux-PAM ikke var installert ennå. Systemd
pakken må bygges opp igjen for å gi en fungerende systemd-logind tjeneste, som
tilbyr mange tilleggsfunksjoner for avhengige pakker.
Systemd Avhengigheter
Påkrevd
Meson Verktøykjedefiler (for lib32)
Anbefalt
Notat
Linux-PAM-1.7.1 er ikke strengt tatt
nødvendig for å bygge Systemd, men hovedgrunnen til å
gjenoppbygge Systemd i GLFS (det er allerede innebygd i LFS
uansett) er for systemd-logind daemon og
pam_systemd.so
PAM modulen.
Linux-PAM-1.7.1 er nødvendig for dem. Alle
pakker i GLFS boken med en avhengighet av Systemd forventer at
den er gjenoppbygd med Linux-PAM-1.7.1.
Linux-PAM-1.7.1 og Polkit-126 (kjøretid)
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 \
-D default-dnssec=no \
-D firstboot=false \
-D install-tests=false \
-D ldconfig=false \
-D man=auto \
-D sysusers=false \
-D rpmmacrosdir=no \
-D homed=disabled \
-D userdb=false \
-D mode=release \
-D pam=enabled \
-D pamconfdir=/etc/pam.d \
-D dev-kvm-mode=0660 \
-D nobody-group=nogroup \
-D sysupdate=disabled \
-D ukify=disabled \
-D docdir=/usr/share/doc/systemd-257.8 &&
ninja
Nå, som root
bruker:
ninja install
lib32 Installasjon av Systemd
Gjenoppbygg lib32-Systemd ved å kjøre følgende kommandoer:
rm -rf * &&
LANG=en_US.UTF-8 \
meson setup .. --cross-file lib32 \
--prefix=/usr \
--libdir=/usr/lib32 \
--buildtype=release \
-D default-dnssec=no \
-D firstboot=false \
-D install-tests=false \
-D ldconfig=false \
-D man=disabled \
-D sysusers=false \
-D rpmmacrosdir=no \
-D homed=disabled \
-D userdb=false \
-D mode=release \
-D pam=enabled \
-D pamconfdir=/etc/pam.d &&
LANG=en_US.UTF-8 ninja
Nå, som root
bruker:
LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install &&
cp -vR DESTDIR/usr/lib32/security /usr/lib32 &&
cp -va DESTDIR/usr/lib32/libsystemd.so* /usr/lib32 &&
cp -va DESTDIR/usr/lib32/libudev.so* /usr/lib32 &&
cp -v DESTDIR/usr/lib32/pkgconfig/* /usr/lib32/pkgconfig &&
rm -rf DESTDIR
Parameterforklaringer
Notat
Undersøk meson_options.txt
eller
meson.options
for en fullstendig
liste over alternativer.
--buildtype=release
:
Spesifiser en byggetype som er egnet for stabile utgivelser av
pakken, da standardtypen kan produsere uoptimaliserte binærfiler.
-D pamconfdir=/etc/pam.d
:
Tvinger PAM filene til å bli installert i /etc/pam.d i stedet for
/usr/lib/pam.d.
-D userdb=false
: Fjerner en
daemon som ikke tilbyr noen bruk under en GLFS konfigurasjon.
-D homed=disabled
: Fjerner
en daemon som ikke tilbyr noen bruk under en tradisjonell GLFS
konfigurasjon, spesielt ved bruk av kontoer opprettet med
useradd.
Avhengighetene som trengs vil ikke bli installert i denne boken.
-D ukify=disabled
: Fjerner
et skript for å kombinere en kjerne, en initramfs og en
kjernekommandolinje osv. inn i et UEFI program som kan lastes inn
av UEFI fastvaren for å starte den innebygde Linuxkjernen. Det er
ikke nødvendig hvis du fulgte instruksjonene iBLFS'
Grub UEFI Oppsett.
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_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, erstatt den
kjørende systemd
behandleren (init
prosessen) med systemd kjørbar som er nybygd og
installert:
systemctl daemon-reexec
Viktig
Først forsikre at Shadow-4.18.0 allerede er gjenoppbygd med
Linux-PAM-1.7.1 støtte, deretter logg ut og
logg inn igjen. Dette sikrer at den kjørende innloggingsøkten som
er registrert med systemd-logind og en Systemd
instans per bruker som kjører for hver bruker som eier en
påloggingsøkt. Mange GLFS pakker som oppgir Systemd som en
avhengighet, trenger systemd-logind integrasjon
og/eller en kjørende Systemd instans per bruker.
Advarsel
Hvis du oppgraderer fra en tidligere versjon av Systemd og en
initrd brukes til systemoppstart, bør du generere en ny initrd
før du starter systemet på nytt.
Innhold
En liste over de installerte filene, sammen med korte beskrivelser,
finner du på
https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/systemd.html#contents-systemd.
Nedenfor er det nylig installerte biblioteket listet opp sammen med
en kort beskrivelse.
Installert Bibliotek:
pam_systemd
Korte Beskrivelser
pam_systemd
|
er en PAM modul som brukes til å registrere brukerøkter
med systemd påloggingsbehandleren, systemd-logind
|