gestionnaire de système systemd version 244

Après trois mois de développement soumis version du gestionnaire de système systemd 244.

Les principaux changements:

  • Ajout de la prise en charge du contrôleur de ressources cpuset basé sur cgroups v2, qui fournit un mécanisme pour lier des processus à des processeurs spécifiques (le paramètre « AllowedCPUs ») et des nœuds de mémoire NUMA (le paramètre « AllowedMemoryNodes » );
  • Ajout de la prise en charge du chargement des paramètres à partir de la variable EFI SystemdOptions pour la configuration de systemd, ce qui vous permet de personnaliser le comportement de systemd dans les situations où la modification des options de ligne de commande du noyau est problématique et où la configuration à partir du disque est lue trop tard (par exemple, lorsque vous devez configurer les options liés à la hiérarchie des groupes de contrôle). Pour définir une variable dans EFI, vous pouvez utiliser la commande « bootctl systemd-efi-options » ;
  • Ajout de la prise en charge des unités pour le chargement des paramètres à partir des répertoires « {unit_type}.d/ » associés aux types d'unités (par exemple, « service.d/ »), qui peuvent être utilisés pour ajouter des paramètres couvrant tous les fichiers d'unité d'un type donné à une fois;
  • Pour les unités de service, un nouveau mode d'isolation sandbox ProtectKernelLogs a été ajouté, qui permet de refuser au programme l'accès au tampon de journal du noyau, accessible via l'appel système syslog (à ne pas confondre avec l'API du même nom fournie dans la libc). Si le mode est activé, l'accès des applications à /proc/kmsg, /dev/kmsg et CAP_SYSLOG sera bloqué ;
  • Pour les unités, un paramètre RestartKillSignal a été proposé, qui permet de redéfinir le numéro du signal utilisé pour terminer le processus lors du redémarrage de la tâche (vous pouvez modifier le comportement d'arrêt du processus au stade de la préparation du redémarrage) ;
  • La commande « systemctl clean » a été adaptée pour être utilisée avec les unités socket, mount et swap ;
  • Au début du chargement, les restrictions sur l'intensité de la sortie des messages du noyau via l'appel printk sont désactivées, ce qui permet d'accumuler des journaux plus complets sur la progression du chargement à un stade où le stockage des journaux n'est pas encore connecté (le journal est accumulé dans le tampon en anneau du noyau). La définition des limites de printk à partir de la ligne de commande du noyau est prioritaire et vous permet de remplacer le comportement de systemd. Les programmes Systemd qui génèrent directement des journaux dans /dev/kmsg (cela n'est effectué qu'au début de la phase de démarrage) utilisent des restrictions internes distinctes pour se protéger contre l'encrassement du tampon ;
  • La commande 'stop —job-mode=triggering' a été ajoutée à l'utilitaire systemctl, qui vous permet d'arrêter à la fois l'unité spécifiée sur la ligne de commande et toutes les unités qui peuvent l'appeler ;
  • Les informations sur l'état de l'unité incluent désormais des informations sur les unités appelantes et appelées ;
  • Il est possible d'utiliser le paramètre « RuntimeMaxSec » dans les unités de portée (auparavant, il n'était utilisé que dans les unités de service). Par exemple, "RuntimeMaxSec" peut désormais être utilisé pour limiter la durée des sessions PAM grâce à la création d'une unité de portée
    pour un compte utilisateur. La limite de temps peut également être définie via l'option systemd.runtime_max_sec dans les paramètres du module PAM pam_systemd ;

  • Ajout d'un nouveau groupe d'appels système « @pkey », lors de la limitation des conteneurs et des services, facilitant la mise sur liste blanche des appels système liés à la protection de la mémoire ;
  • Ajout de l'indicateur "w+" aux fichiers systemd-tmp pour l'écriture en mode ajout de fichier ;
  • Ajout d'informations à la sortie de systemd-analyze indiquant si la configuration de la mémoire du noyau correspond aux paramètres de systemd (par exemple, si un programme tiers a modifié les paramètres du noyau) ;
  • L'option « --base-time » a été ajoutée à systemd-analyze, lorsqu'elle est spécifiée, les données du calendrier sont calculées par rapport à l'heure spécifiée dans cette option, et non par rapport à l'heure actuelle du système ;
  • « journalctl —update-catalog » garantit la cohérence dans la séquence des éléments dans la sortie (utile pour organiser des builds répétables) ;
  • Ajout de la possibilité de spécifier une valeur par défaut pour le paramètre "WatchdogSec" utilisé dans les services systemd. Au moment de la compilation, la valeur de base peut être déterminée via l'option "-Dservice-watchdog" (si elle est définie sur vide, le chien de garde sera désactivé) ;
  • Ajout de l'option de construction "-Duser-path" pour remplacer la valeur $PATH ;
  • Ajout de l'option "-u" ("--uuid") à systemd-id128 pour afficher des identifiants 128 bits dans l'UUID (représentation canonique de l'UUID) ;
  • La construction nécessite désormais au moins la version 2.0.1 de libcryptsetup.

Modifications liées aux paramètres réseau :

  • Systemd-networkd a ajouté la prise en charge de la reconfiguration d'un lien à la volée, pour laquelle les commandes « reload » et « reconfigure DEVICE... » ont été ajoutées à networkctl pour recharger les paramètres et reconfigurer les appareils ;
  • systemd-networkd a arrêté de créer des routes par défaut pour les liens IPv4 locaux avec les adresses intranet 169.254.0.0/16 (Lien-local). Auparavant, la création automatique de routes par défaut pour de tels liens entraînait dans certains cas un comportement inattendu et des problèmes de routage. Pour rétablir l'ancien comportement, utilisez le paramètre « DefaultRouteOnDevice=yes ». De même, l'attribution des adresses IPv6 locales est arrêtée si le routage IPv6 local n'est pas activé pour le lien ;
  • Dans systemd-networkd, lors de la connexion à des réseaux sans fil en mode ad hoc, la configuration par défaut est implémentée avec un adressage lien-local (link-local) ;
  • Ajout des paramètres RxBufferSiz et TxBufferSize pour configurer la taille des tampons de réception et d'envoi de l'interface réseau ;
  • systemd-networkd implémente la publicité de routes IPv6 supplémentaires, régulées via les options Route et LifetimeSec dans la section « [IPv6RoutePrefix] » ;
  • systemd-networkd a ajouté la possibilité de configurer les routes du « prochain saut » à l'aide des options « Passerelle » et « Id » dans la section « [NextHop] » ;
  • systemd-networkd et networkctl pour DHCP fournissent une mise à jour à la volée des liaisons d'adresses IP (baux), implémentées par la commande 'networkctl renouveler' ;
  • systemd-networkd garantit que la configuration DHCP est réinitialisée au redémarrage (utilisez l'option KeepConfiguration pour enregistrer les paramètres). La valeur par défaut du paramètre SendRelease a été modifiée en « true » ;
  • Le client DHCPv4 garantit que la valeur de l'option OPTION_INFORMATION_REFRESH_TIME envoyée par le serveur est utilisée. Pour demander des options spécifiques au serveur, le paramètre "RequestOptions" est proposé, et pour envoyer des options au serveur - "SendOption". Pour configurer le type de service IP par le client DHCP, le paramètre « IPServiceType » a été ajouté ;
  • Pour substituer la liste des serveurs SIP (Session Initiation Protocol) aux serveurs DHCPv4, les paramètres « EmitSIP » et « SIP » ont été ajoutés. Côté client, la réception des paramètres SIP du serveur peut être activée à l'aide du paramètre « UseSIP=yes » ;
  • Ajout du paramètre « PrefixDelegationHint » au client DHCPv6 pour demander un préfixe d'adresse ;
  • Les fichiers .network prennent en charge le mappage des réseaux sans fil par SSID et BSSID, par exemple pour se lier à un nom de point d'accès et à une adresse MAC. Les valeurs SSID et BSSID sont affichées dans la sortie networkctl pour les interfaces sans fil. De plus, la possibilité de comparer par type de réseau sans fil a été ajoutée (paramètre WLANInterfaceType) ;
  • systemd-networkd a ajouté la possibilité de configurer des disciplines de file d'attente pour contrôler le trafic à l'aide de nouveaux paramètres Parent,
    NetworkEmulatorDelaySec, NetworkEmulatorDelayJitterSec,
    NetworkEmulatorPacketLimit et NetworkEmulatorLossRate,
    NetworkEmulatorDuplicateRate dans la section « [TrafficControlQueueingDiscipline] » ;

  • systemd-resolved fournit une vérification des adresses IP dans les certificats lors de la construction avec GnuTLS.

Modifications liées à udev :

  • Systemd-udevd a supprimé le délai d'attente de 30 secondes pour forcer la fin des gestionnaires bloqués. Systemd-udevd attend désormais la fin des gestionnaires pour lesquels 30 secondes n'étaient pas suffisantes pour terminer les opérations normalement dans les grandes installations (par exemple, un délai d'attente pourrait interrompre l'initialisation du pilote pendant le processus de changement de partition montée pour le système de fichiers racine). Lors de l'utilisation de systemd, le délai d'attente que systemd-udevd attendra avant de quitter peut être défini via le paramètre TimeoutStopSec dans systemd-udevd.service. Lors d'une exécution sans systemd, le délai d'attente est contrôlé par le paramètre udev.event_timeout ;
  • Ajout du programme fido_id pour udev, qui identifie les jetons FIDO CTAP1
    (« U2F »)/CTAP2 basé sur les données sur leur utilisation passée et affiche les variables d'environnement nécessaires (le programme vous permet de vous passer des listes blanches externes de tous les jetons connus qui ont été utilisés précédemment) ;

  • Implémentation de la génération automatique de règles de suspension automatique udev pour les appareils de la liste blanche importée de Chromium OS (le changement vous permet d'étendre l'utilisation des modes d'économie d'énergie pour des appareils supplémentaires) ;
  • Un nouveau paramètre "CONST{key}=value" a été ajouté à udev pour permettre les mappages des valeurs constantes du système directement sans exécuter de gestionnaires de vérification séparés. Actuellement, seules les clés « arch » et « virt » sont prises en charge ;
  • Activation de l'ouverture du CDROM en mode non exclusif lors de l'exécution d'une opération de demande pour les modes pris en charge (le changement résout les problèmes d'accès aux programmes au CDROM et réduit le risque d'interruption des programmes d'écriture sur disque qui n'utilisent pas le mode d'accès exclusif).

Source: opennet.ru

Ajouter un commentaire