Efter tre mĂ„nader av utveckling Ă€r systemhanteraren systemd 259 nu tillgĂ€nglig. NyckelĂ€ndringar: stöd för standardbiblioteket Musl, kommandot ârun0 âempowerâ för att utföra privilegierade Ă„tgĂ€rder utan att byta UID, dynamisk inladdning av tredjepartsbibliotek som efterfrĂ„gas i libsystemd, och ignorering av konfigurationsfiler genom att lĂ€gga till â.ignoreâ i namnet.
Bland förÀndringarna i den nya versionen:
- Delvis stöd för standard C-biblioteket Musl har lagts till, vilket aktiveras genom att stĂ€lla in vĂ€rdet âmuslâ i âlibcâ-alternativen i byggsystemet Meson. Eftersom Musl-biblioteket inte erbjuder NSS-funktionalitet, Ă€r komponenterna nss-systemd, nss-resolve, systemd-homed, systemd-nsresourced, systemd-userdbd, samt parametern DynamicUser och möjligheten till icke-privilegerad körning av systemd-nspawn inte tillgĂ€ngliga vid byggandet av systemd med Musl. Utvecklarna av systemd garanterar inte att stödet för Musl kommer att kvarstĂ„ i framtida versioner. Beslutet kommer att bero pĂ„ framgĂ„ngen för utvecklingen av lager som implementerar ytterligare funktionalitet ovanpĂ„ Musl, samt efterfrĂ„gan pĂ„ projektet och rapporter om specifika Musl-fel.
- I verktyget run0, som presenteras som ett sĂ€kert alternativ till programmet sudo och som körs ovanpĂ„ systemd-run, har alternativet ââempowerâ lagts till, vilket gör det möjligt att starta en ny session med förhöjda privilegier utan att byta till anvĂ€ndaren root. Utförandet av privilegierade Ă„tgĂ€rder utan att byta UID organiseras genom att stĂ€lla in capabilities-flaggor som CAP_SYS_ADMIN, som Ă€r tillrĂ€ckliga för att komma Ă„t de flesta privilegierade systemanrop. Processer som körs placeras ocksĂ„ i en separat grupp âempowerâ, för vilken Ă„tkomst ges till de flesta Polkit-Ă„tgĂ€rder.
- Det har beslutats att ta bort stödet för service scripts i System V-formatet i nÀsta version. Komponenten systemd-sysv-install, systemd-rc-local-generator och systemd-sysv-generator planeras för borttagning. I nÀsta version planeras ocksÄ en höjning av minimikrav för versioner: Linux-kÀrna 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0, libxcrypt 4.4.0, util-linux 2.37, elfutils 0.177, cryptsetup 2.4.0, libseccomp 2.4.0.
- In the context of the initiative to reduce dependencies, dynamic loading of libraries libacl, libblkid, libseccomp, libselinux, libmount has been implemented in libsystemd through the dlopen() call in situations where their functions are actually needed. Work with the Linux audit subsystem and PAM is also implemented via dlopen(). Functionality previously called through the wrapper library libcap is now integrated into libsystemd.
- systemd-resolved now supports attaching local handlers that are invoked with every local name resolution request. Handlers are placed in the directory /run/systemd/resolve.hook/.
- A UUID field has been added to the user data database, and the userdbctl utility now includes the ââuuidâ option for searching by UUID.
- Configuration files with names ending in â.ignoreâ are now ignored.
- Built-in logic for handling TAR archives has been implemented in systemd-importd, using libarchive instead of calling the GNU tar utility. It is now possible to run systemd-machined and systemd-importd in a user-bound mode, rather than system-wide, loading system images into ~/.local/state/machines/. The importctl utility has been updated with ââuserâ and ââsystemâ options to select the operating mode.
- The default journal storage mode has been changed from âautoâ to âpersistentâ (previously it depended on the presence of the /var/log/journal directory).
- Support for creating NAT rules via iptables/libiptc has been discontinued in systemd-networkd and systemd-nspawn. Only nftables support is left.
- Support for TPM 1.2 has been discontinued in systemd-boot and systemd-stub (support for TPM 2.0 remains).
- In systemd-machined, mounting of âhiddenâ disk images whose names start with a dot is enabled by default in read-only mode.
- The API based on the Varlink protocol has been expanded, and can now be used to access service settings. IPC calls Reload() and Reexecute() have been implemented. Calls to access the functionality and settings of systemd-repart, systemd-resolved, and systemd-networkd have been added.
- A new setting ExecReloadPost has been added, allowing the execution of commands after reloading the service configuration.
- For services, properties OOMKills and ManagedOOMKills have been implemented, containing the number of processes forcibly terminated by the kernel or systemd-oomd due to memory shortage.
- For transient services, the property RootDirectoryFileDescriptor has been added, defining the file descriptor of the root directory.
- En instÀllning för UserNamespacePath har lagts till, vilket möjliggör koppling av en enhet till anvÀndaridentifieringsutrymme (user namespace) genom angivande av en vÀg i det pseudofilsystemet /proc, i linje med instÀllningarna IPCNamespacePath och NetworkNamespacePath. I systemd-nspawn har en instÀllning för nÀtverksnamnrymden lagts till i [Network]-avsnittet i .nspawn-filer.
- I systemd-sysext och systemd-confext har stöd för separata konfigurationsfiler /etc/systemd/systemd-sysext.conf och /etc/systemd/systemd-confext.conf implementerats. Möjlighet till anvÀndning av miljövariabeln SYSTEMD_SYSEXT_OVERLAYFS_MOUNT_OPTIONS och $SYSTEMD_CONFEXT_OVERLAYFS_MOUNT_OPTIONS har lagts till för att konfigurera monteringsalternativ för Overlayfs.
- I systemd-udevd har en instÀllning OPTIONS="dump-json" lagts till för att skriva ut status för det aktuella hÀndelsen i JSON-format. I funktionen net_id har generering av förutsÀgbara namn för trÄdlösa nÀtverksgrÀnssnitt pÄ system med DeviceTree implementerats. Generering av symboliska lÀnkar /dev/gpio/by-id/... för GPIO-enheter har sÀkerstÀllts.
- I kommandot "homectl update" har möjligheten att anvÀnda alternativet "--recovery-key" lagts till för att lÀgga till reservnycklar till en befintlig anvÀndarkonto (tidigare kunde sÄdana nycklar endast lÀggas till vid anvÀndarskapande).
- I systemd-homed har alternativen "--prompt-shell" och "--prompt-groups" lagts till för interaktivt val av kommandotolk och grupp vid första booten med service systemd-homed-firstboot.service. I systemd-firstboot har alternativet "--prompt-keymap-auto" lagts till för att begÀra tangentbordslayout nÀr man arbetar via lokal konsol vid första booten.
- I systemd-boot har möjligheten att stÀlla in loggnivÄ genom parameter log-level i loader.conf eller SMBIOS-fÀltet io.systemd.boot.loglevel lagts till.
- I systemd-networkd för DHCP-server har alternativen EmitDomain och Domain lagts till, samt en hanterare för att bestÀmma de hostnamn som ges via DHCP genom DNS-upplösning.
- I systemd-run har alternativet "--root-directory" lagts till för att köra en tjÀnst i den angivna rotkatalogen. I systemd-run och run0 har alternativet "--same-root-dir" ("-R") lagts till för att köra en tjÀnst i samma rotkatalog som startande.
- I systemd-modules-load har parallellisering av lastning av kÀrnmoduler implementerats.
- I systemd-integrity-setup har stöd för algoritmerna HMAC-SHA256, PHMAC-SHA256 och PHMAC-SHA512 lagts till.
KĂ€lla: opennet.ru
