Na drie maanden ontwikkeling uitgave van systeembeheerder . In deze nieuwe versie zijn er nieuwe componenten toegevoegd zoals systemd-homed en systemd-repart, en is er ondersteuning voor draagbare gebruikersprofielen in JSON-formaat geïmplementeerd. Daarnaast is het mogelijk om namespaces in systemd-journald te definiëren en is er ondersteuning toegevoegd voor het mechanisme «pidfd». Volledig herschreven. , waarop het merendeel van de beschikbare documentatie is verzameld en een nieuw logo is voorgesteld.

Belangrijkste :
- Een nieuwe service is toegevoegd , die het beheer van draagbare thuisdirectories mogelijk maakt, geleverd in de vorm van een mountbaar schijfafbeelding, waarvan de gegevens zijn gecodeerd. Systemd-homed stelt gebruikers in staat om zelfvoorzienende omgevingen voor gebruikersgegevens te creëren die tussen verschillende systemen kunnen worden verplaatst, zonder zich zorgen te maken over id-synchronisatie en privacy. De gebruikersreferenties zijn gekoppeld aan de thuisdirectory, in plaats van aan systeeminstellingen — in plaats van /etc/passwd, /etc/group en /etc/shadow wordt een profiel in JSON-formaat gebruikt. . Voor meer informatie zie systemd-homed.
- De bijbehorende systemd-homed component «» («systemd-userdb») is toegevoegd, die UNIX/glibc NSS-accounts omzet naar JSON-objecten en een gestandaardiseerde Varlink API biedt voor het opvragen en doorbladeren van records. In het aan de thuisdirectory gekoppelde JSON-profiel zijn de vereiste parameters voor de gebruiker opgenomen, waaronder gegevens over de naam, wachtwoordhash, encryptiesleutels, quota's en beschikbare bronnen. Het profiel kan digitaal worden ondertekend en op een externe Yubikey-token worden opgeslagen. Voor het beheren van profielen is de utility «userdbctl» aangeboden. Ondersteuning voor JSON-profielen is toegevoegd aan verschillende systemd-componenten, waaronder systemd-logind en pam-systemd, waardoor gebruikers van draagbare directories kunnen worden geïdentificeerd, inloggen, omgevingsvariabelen instellen, sessies creëren, limieten instellen, enzovoort. In de toekomst wordt verwacht dat er functionaliteit beschikbaar komt voor het genereren van JSON-profielen door het sssd-framework, waarbij de gebruikersinstellingen in LDAP worden opgeslagen.
- Er is een nieuwe tool 'systemd-repart' toegevoegd, die bedoeld is voor het herpartitioneren van schijfpartitietabellen in GPT-formaat. De structuur van de partities wordt gedeclareerd in bestanden die beschrijven welke partities moeten of kunnen bestaan. Bij elke opstart wordt de werkelijke partitietabel vergeleken met deze bestanden, waarna ontbrekende partities worden toegevoegd of, als de bepaalde relatieve of absolute grootte niet overeenkomt, de grootte van bestaande partities wordt vergroot. Alleen incrementele wijzigingen zijn toegestaan, dat wil zeggen, verwijderen en verkleinen is niet mogelijk; partities kunnen alleen worden toegevoegd en vergroot.
De tool is voornamelijk bedoeld voor uitvoering vanuit initrd en herkent automatisch de schijf waarop de root-partitie is geplaatst, wat geen aanvullende configuratie vereist, behalve de bestanden met de definitie van de wijzigingen.In de praktijk kan systemd-repart nuttig zijn voor besturingssysteemimages die aanvankelijk in minimale vorm kunnen worden geleverd, maar na de eerste opstart kunnen worden vergroot tot de grootte van het beschikbare blokapparaat of kunnen worden aangevuld met extra partities (bijvoorbeeld kan de root-partitie worden vergroot om de hele schijf te dekken, of kan er na de eerste opstart een swap-partitie of /home worden aangemaakt). Een andere toepassing kan zijn in configuraties met twee elkaar afwisselende partities — aanvankelijk kan alleen de eerste partitie worden geleverd, en de tweede kan bij de eerste opstart worden aangemaakt.
- Er is een mogelijkheid toegevoegd om meerdere instanties van systemd-journald te draaien, elk met logs in hun eigen namespaces. Naast de standaard systemd-journald.service is er in de .service-directory een sjabloon aangeboden voor het maken van extra instanties die zijn gekoppeld aan hun eigen namespaces met behulp van de 'LogNamespace'-directieve. Elke namespace voor logs wordt beheerd door een aparte achtergrondtaak met zijn eigen configuraties en limieten. Deze nieuwe mogelijkheid kan nuttig zijn voor het balanceren van de belasting bij een groot aantal logs of voor het vergroten van de isolatie van applicaties. De optie '--namespace' is toegevoegd aan journalctl, waarmee de verzoeken beperkt kunnen worden tot de opgegeven namespace.
- In systemd-udevd en andere componenten van systemd is ondersteuning toegevoegd voor het mechanisme voor het toewijzen van alternatieve namen aan netwerkinterfaces, waarmee meerdere namen gelijktijdig aan één interface kunnen worden toegewezen. De naam kan maximaal 128 tekens lang zijn (voorheen was de naam van de netwerkinterface beperkt tot 16 tekens). Standaard wijst systemd-udevd nu aan elke netwerkinterface alle varianten van namen toe die door de ondersteunde naamgevingsschema's worden gegenereerd. Dit gedrag kan worden gewijzigd via de nieuwe instellingen AlternativeName en AlternativeNamesPolicy in de .link-bestanden. In systemd-nspawn is de generatie van alternatieve namen met de volledige naam van de container voor de aan de host gemaakte veth-links gerealiseerd.
- In de API sd-event.h is ondersteuning toegevoegd voor de Linux-kernel subsystem 'pidfd' voor de afhandeling van het hergebruiken van PID (pidfd is gekoppeld aan een specifiek proces en verandert niet, terwijl PID kan worden gekoppeld aan een ander proces na de beëindiging van het huidige proces dat met deze PID is geassocieerd). Alle componenten van systemd, behalve PID 1, zijn overgeschakeld naar het gebruik van pidfds, indien dit subsysteem door de huidige kernel wordt ondersteund.
- In systemd-logind is via PolicyKit toegang tot de operatie voor het wijzigen van de virtuele terminal gecontroleerd. Standaard worden de bevoegdheden om de actieve terminal te wijzigen alleen verleend aan gebruikers die ooit een sessie op een lokale virtuele terminal hebben geïnitieerd.
- Om het maken van initrd-images met systemd te vereenvoudigen, bepaalt de PID 1-handler nu of initrd wordt gebruikt en laadt in dat geval automatisch initrd.target in plaats van default.target. Met deze aanpak kunnen initrd-images en het hoofdsysteem zich alleen onderscheiden door de aanwezigheid van het bestand /etc/initrd-release.
- Er is een nieuwe kernel-opdrachtregelparameter toegevoegd - 'systemd.cpu_affinity', die gelijk is aan de CPUAffinity-optie in /etc/systemd/system.conf en waarmee de CPU-bindingsmasker voor PID 1 en andere processen kan worden ingesteld.
- Er is een herstart van de SELinux-database gegarandeerd samen met de herstart van PID 1 via commando's zoals 'systemctl daemon-reload'.
- In de PID 1-handler is de instelling 'systemd.show-status=error' toegevoegd, waarbij alleen foutberichten en aanzienlijke vertragingen tijdens het opstarten op de console worden weergegeven.
- In systemd-sysusers is ondersteuning toegevoegd voor het creëren van gebruikers met de naam van de hoofdgroep, die verschilt van de gebruikersnaam.
- In systemd-growfs, support for expanding XFS partitions has been implemented through the mount option x-systemd.growfs in /etc/fstab, in addition to the previously supported expansion of Ext4 and Btrfs partitions.
- In /etc/crypttab, the x-initrd.attach option has been added to define a decrypted partition that has already been unlocked during the initrd stage.
- In systemd-cryptsetup, support has been added (the pkcs11-uri option in /etc/crypttab) for unlocking encrypted partitions using PKCS#11 smart cards, for example, to attach encryption of partitions to YubiKeys.
- New mount options 'x-systemd.required-by' and 'x-systemd.wanted-by' have been added to /etc/fstab for explicitly configuring units that define mount operations called instead of local-fs.target and remote-fs.target.
- A new service sandbox isolation option has been added — ProtectClock, which restricts access to write to system clocks (access is blocked at the /dev/rtc level, system calls, and permissions CAP_SYS_TIME/CAP_WAKE_ALARM).
- In the specification and systemd-gpt-auto-generator, the definition of partitions has been added.
/var и /var/tmp. - In 'systemctl list-unit-files', a new column displaying the manufacturer’s recommended activation state for this type of units has been added when displaying the unit list.
- A '--with-dependencies' option has been added to 'systemctl', whereby commands like 'systemctl status' and 'systemctl cat' will display not only all relevant units but also the units they depend on.
- In systemd-networkd, the configuration of qdisc has been expanded to include the ability to configure parameters for TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management), and FQ (Fair Queue).
- Support for IFB ().
- has been added in systemd-networkd in the [Route] section with the MultiPathRoute parameter implemented for configuring multi-path routes.
- In systemd-networkd, for the DHCPv4 client, the SendDecline option has been added. When specified, after receiving a DHCP response with an address, the client checks for address duplication, and if a conflict is detected, the issued address is declined. The RouteMTUBytes option has also been added for the DHCPv4 client, allowing the definition of the MTU size for routes generated from IP address bindings (leases).
- The PrefixRoute setting in the '[Address]' section of '.network' files has been deprecated. It has been replaced by the 'AddPrefixRoute' setting, which has the opposite meaning.
- In de .network-bestanden is in de instellingen van de Gateway binnen de sectie «[Route]» ondersteuning toegevoegd voor de nieuwe waarde «_dhcp», waarbij een statisch pad wordt geselecteerd op basis van de gateway die via DHCP is ingesteld.
- In de .network-bestanden zijn binnen de sectie «[RoutingPolicyRule]» instellingen toegevoegd.
User en SuppressPrefixLength voor het instellen van source routing op basis van UID-bereiken en prefixgrootte. - In networkctl is met de opdracht «status» de mogelijkheid toegevoegd om logs weer te geven die aan elke netwerkinterface zijn gekoppeld.
- In systemd-networkd-wait-online is ondersteuning toegevoegd om de maximale wachttijd voor de overgang van een interface naar een actieve status in te stellen en om te wachten tot een interface verdwijnt.
- De verwerking van .link- en .network-bestanden met een lege of gecommentarieerde sectie «[Match]» is gestopt.
- In de .link- en .network-bestanden is binnen de sectie «[Match]» de instelling «PermanentMACAddress» toegevoegd voor de controle van het permanente MAC-adres van apparaten bij het gebruik van een willekeurig gegenereerd MAC-adres.
- De sectie «[TrafficControlQueueingDiscipline]» in de .network-bestanden is hernoemd naar «[NetworkEmulator]», en de prefix «NetworkEmulator» is uit de namen van de gerelateerde instellingen verwijderd.
- In systemd-resolved is voor DNS-over-TLS ondersteuning toegevoegd voor SNI-validatie.
Bron: opennet.ru
