Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Aujourd’hui — 18 juin 2024LinuxFr.org : les dépêches

Systemd v256

Systemd est une suite logicielle primordiale du monde GNU/Linux. Elle peut être présente du début à la fin de l'allumage du système, permettant de gérer de manière fine la vie des autres services.

Systemd est sorti en 2010, en a énervé certains notamment en raison de l'approche audacieuse et intégrée, et a séduit une grande majorité de systèmes GNU/Linux à partir de 2015. Aujourd'hui il est possible de voir Systemd dans la plupart des grandes distributions, gérant les arcanes du système en s'appuyant sur les mécanismes noyau de cgroup, dbus et namespace notamment.

La version 256 succède à la v255 sortie en décembre 2023, où vous trouverez encore d'énormes évolutions et encore plus d'intégration afin de proposer un écosystème cohérent, le plus automatique possible, compatible avec chacun des autres systèmes, et cherchant à offrir de la sécurité par défaut associé à une granularité de configuration et d'isolation.

Il peut être intéressant de remarquer qu'au moins, à ma connaissance, deux développeurs fortement actifs, sont des salariés de Microsoft, travaillant autant sur systemd qu'à la normalisation d'un certain standard Linux par le truchement du groupe UAPI. Ce sont Lennart Poettering et Luca Boccassi, mais peut être en connaissez vous d'autres ?

Je vous invite également à vous pencher sur casync et mkosi (maintenu par Daan De Meyer, de chez Meta), deux nouvelles marottes de ces développeurs fous mais qui semblent avoir réussi le pari, qu'en pensez-vous ?

NdM : La dépêche qui suit est une traduction en français des nouveautés de la version 256.

Sommaire

Une nouvelle version de systemd v256 est sortie

Modifications depuis la version précédente v255

Annonces de futures suppressions de fonctionnalités et de modifications incompatibles

  • La prise en charge du vidage automatique des caches de la base de données des utilisateurs/groupes nscd sera abandonnée dans une prochaine version.

  • La prise en charge du groupe de contrôle cgroupv1 (hiérarchies « héritées » et « hybrides ») est désormais considérée comme obsolète, et systemd refusera par défaut de démarrer sous celui-ci. Pour réactiver de force la prise en charge de cgroup v1, SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 doit être défini sur la ligne de commande du noyau. L'option Meson 'default-hierarchy=' est également obsolète, c'est-à-dire que seul le groupe cgroup v2 (hiérarchie unifiée) peut être sélectionné comme valeur par défaut au moment de la compilation.

  • La prise en charge des scripts de service System V est à présent obsolète et sera supprimé dans une prochaine version. Veuillez vous assurer de mettre à jour votre logiciel maintenant pour inclure un fichier d'unité systemd natif au lieu d'un héritage de scripts System V, afin conserver la compatibilité avec les futures versions de systemd.

  • La prise en charge de la variable EFI SystemdOptions est à présent obsolète. bootctl systemd-efi-options émettra un avertissement lorsqu'il sera utilisé. Il semble que cette fonctionnalité soit peu utilisée et qu'il soit préférable d'utiliser des approches alternatives comme les informations d'identification et les contextes. Le plan est d'abandonner complètement le support ultérieurement, mais cela pourrait être réexaminé en fonction des commentaires des utilisateurs.

  • Le commutateur --expand-environment= de systemd-run, qui est actuellement désactivé par défaut lorsqu'il est combiné avec --scope, sera modifié dans une prochaine version pour être activé par défaut.

  • Auparavant, systemd-networkd ne supprimait explicitement aucun ID de VLAN de pont attribué sur le maître de pont et les ports. Depuis la version 256, si un fichier .network pour une interface possède au moins un paramètre valide dans la section [BridgeVLAN], alors tous les ID de VLAN attribués sur l'interface qui ne sont pas configurés dans le fichier .network sont supprimés.

  • Le paramètre IPForward= dans le fichier .network est obsolète et remplacé par les paramètres IPv4Forwarding= et IPv6Forwarding=. Ces nouveaux paramètres sont pris en charge à la fois dans le fichier .network et dans networkd.conf. S'ils sont spécifiés dans un fichier .network, ils contrôlent les paramètres correspondants par lien. S'ils sont spécifiés dans networkd.conf, ils contrôlent les paramètres globaux correspondants. Notez qu'auparavant IPv6SendRA= et IPMasquerade= impliquaient IPForward=, mais maintenant ils impliquent les nouveaux paramètres par lien. L'un des moyens les plus simples de migrer les configurations, qui fonctionnait comme un routeur avec la version précédente, consiste à activer à la fois IPv4Forwarding= et IPv6Forwarding= dans networkd.conf. Voir systemd.network(5) et networkd.conf(5) pour plus de détails.

  • systemd-gpt-auto-generator arrêtera de générer des unités pour les partitions ESP ou XBOOTLDR s'il trouve des entrées de montage pour ou en dessous des hiérarchies /boot/ ou /efi/ dans /etc/fstab. Cela permet d'éviter que le générateur n'interfère avec les systèmes dans lesquels l'ESP est explicitement configuré pour être monté sur un chemin, par exemple /boot/efi/ (ce type de configuration est obsolète, mais reste courant).

  • Le comportement de systemd-sleep et systemd-homed a été mis à jour pour geler les sessions utilisateur lors de l'entrée dans les différents modes de veille ou lors du verrouillage d'une zone d'accueil gérée par homed. Ceci est connu pour causer des problèmes avec les pilotes propriétaires NVIDIA. Les conditionneurs des pilotes propriétaires NVIDIA peuvent souhaiter ajouter des fichiers de configuration déroulants qui définissent SYSTEMD_SLEEP_FREEZE_USER_SESSION=false pour systemd-suspend.service et les services associés, et SYSTEMD_HOME_LOCK_FREEZE_SESSION=false pour systemd-homed.service.

  • systemd-tmpfiles et systemd-sysusers, lorsqu'ils reçoivent un chemin de fichier de configuration relatif (avec au moins un séparateur de répertoire /), ouvriront le fichier directement, au lieu de rechercher le chemin partiel donné dans les emplacements standard. L'ancien mode n'était pas utile car la configuration tmpfiles.d/ et sysusers.d/ a une structure plate sans sous-répertoires sous les emplacements standard et ce changement facilite le travail avec des fichiers locaux avec ces outils.

  • systemd-tmpfiles applique désormais correctement la configuration imbriquée aux strophes (stanzas) « R » et « D ». Par exemple, avec la combinaison de « R /foo » et « x /foo/bar », /foo/bar sera désormais exclu de la suppression.

  • systemd.crash_reboot et les paramètres associés sont obsolètes au profit de systemd.crash_action=.

Modifications générales et nouvelles fonctionnalités v256

  • Divers programmes tenteront désormais de charger le fichier de configuration principal à partir d'emplacements situés sous /usr/lib/, /usr/local/lib/ et /run/, et pas seulement sous /etc/. Par exemple, systemd-logind recherchera /etc/systemd/logind.conf, /run/systemd/logind.conf, /usr/local/lib/systemd/logind.conf et /usr/lib/systemd/logind.conf et utilise le premier fichier trouvé. Cela signifie que la logique de recherche pour le fichier de configuration principal et pour les drop-ins est désormais la même.

    • De même, l'installation du noyau recherchera les fichiers de configuration dans /usr/lib/kernel/ et dans les autres emplacements de recherche, et prend désormais également en charge les drop-ins.
    • systemd-udevd prend désormais en charge les drop-ins pour udev.conf.
  • Un nouveau binaire systemd-vpick a été ajouté. Il implémente le nouveau protocole vpick, dans lequel un répertoire *.v/ peut contenir plusieurs fichiers dont les versions (suivant la spécification du format de version UAPI) sont intégrées dans le nom du fichier. Les fichiers sont classés par version et la plus récente est sélectionnée.

    • systemd-nspawn --image=/--directory=, systemd-dissect, systemd-portabled et les paramètres RootDirectory=, RootImage=, ExtensionImages= et ExtensionDirectories= pour les unités prennent désormais en charge le protocole vpick et permettent d'utiliser la dernière version sélectionnée automatiquement si un répertoire *.v/ est spécifié comme source.
  • Les informations d'identification du service chiffrées peuvent désormais être rendues accessibles aux utilisateurs non privilégiés. systemd-creds a obtenu de nouvelles options --user/ --uid= pour chiffrer/déchiffrer les informations d'identification d'un utilisateur spécifique.

  • Le nouvel outil de ligne de commande importctl pour télécharger, importer et exporter des images disque via systemd-importd est ajouté avec les verbes suivants : pull-tar, pull-raw, import-tar, import-raw, import-fs, export-tar, export-raw, list-transfers et cancel-transfer. Cette fonctionnalité était auparavant disponible dans machinectl, où elle était utilisée exclusivement pour les images machine. Le nouveau importctl généralise cela pour les images de service sysext, confext et portables.

  • Les sources systemd peuvent désormais être compilées proprement avec toutes les dépréciations d'OpenSSL 3.0 supprimées, y compris la logique du moteur OpenSSL désactivée.

Sur la gestion des services

  • Un nouveau paramètre de gestionnaire système ProtectSystem= a été ajouté. C'est analogue au réglage de l'unité, mais s'applique à l'ensemble du système. Il est activé par défaut dans le fichier initrd.

    • Notez que cela signifie que le code exécuté dans initrd ne peut pas être naïvement attendu à ce qu'il puisse écrire dans /usr/ pendant le démarrage. Cela affecte dracut <= 101, lequel écrit un crochet ("hooks") dans /lib/dracut/hooks/. src.
  • Un nouveau paramètre d'unité WantsMountsFor= a été ajouté. Il est analogue à RequiresMountsFor=, mais crée une dépendance Wants= au lieu de Requires=. Cette nouvelle logique est désormais utilisée à divers endroits où des montages ont été ajoutés en tant que dépendances pour d'autres paramètres (WorkingDirectory=-…, PrivateTmp=yes, lignes cryptsetup avec nofail).

  • Le nouveau paramètre d'unité MemoryZSwapWriteback= peut être utilisé pour contrôler le nouveau bouton de groupe de contrôle memory.zswap.writeback ajouté dans le noyau 6.8.

  • Le gestionnaire a acquis une méthode D-Bus org.freedesktop.systemd1.StartAuxiliaryScope() pour déléguer certains processus d'un service vers une nouvelle portée.

    • Cette nouvelle étendue restera en cours d'exécution, même lorsque l'unité de service d'origine est redémarrée ou arrêtée. Cela permet à une unité de service de diviser certains processus de travail qui doivent continuer à s'exécuter. Les propriétés du groupe de contrôle de la nouvelle étendue sont copiées à partir de l'unité d'origine, de sorte que diverses limites sont conservées.
  • Les unités exposent désormais les propriétés EffectiveMemoryMax=, EffectiveMemoryHigh= et EffectiveTasksMax=,

    • qui signalent la limite la plus stricte dont systemd a connaissance pour l'unité donnée.
  • Un nouveau spécificateur de fichier d'unité %D

    • correspondra à $XDG_DATA_HOME pour les services utilisateur
    • ou correspondra à /usr/share/ pour les services système
  • AllowedCPUs= prend désormais en charge l'extension du spécificateur.

  • Le paramètre What= dans les unités .mount et .swap accepte désormais les identifiants de style fstab, par exemple UUID=… ou LABEL=….

  • RestrictNetworkInterfaces= prend désormais en charge les noms d'interface réseau alternatifs.

  • PAMName= implique désormais SetLoginEnvironment=yes.

  • systemd.firstboot=no peut être utilisé sur la ligne de commande du noyau pour désactiver les requêtes interactives,

    • mais autoriser d'autres configurations de premier démarrage en fonction des informations d'identification.
  • Le nom d'hôte du système peut être configuré via les informations d'identification système systemd.hostname.

  • Le binaire systemd ne chargera plus en chaîne le binaire telinit de sysvinit lorsqu'il est appelé sous le nom init/telinit sur un système qui n'est pas démarré avec systemd.

    • Cela a déjà été pris en charge pour garantir qu'une distribution sur laquelle les deux systèmes d'initialisation sont installés peut raisonnablement passer de l'un à l'autre via un simple redémarrage. Les distributions ont apparemment perdu tout intérêt pour cela, et la fonctionnalité n'a pas été prise en charge sur la distribution principale à laquelle elle était encore destinée depuis longtemps, et a donc été supprimée maintenant.
  • Un nouveau concept appelé capsules a été introduit.

    • Les capsules enveloppent des gestionnaires de services supplémentaires par utilisateur, dont les utilisateurs sont transitoires et ne sont définis que tant que le gestionnaire de services est en cours d'exécution.
    • (Ceci est implémenté via DynamicUser=1), permettant à un gestionnaire d'utilisateurs d'être utilisé pour gérer un groupe de processus sans avoir besoin de créer un compte utilisateur réel.
    • Ces gestionnaires de services fonctionnent avec les répertoires personnels de /var/lib/capsules/<capsule-name>
      • et peuvent contenir des services réguliers et d'autres unités.
    • Une capsule est démarrée via un simple systemctl start capsule@<name>.service.
    • Consultez la page de manuel capsule@.service(5) pour plus de détails.
    • Divers outils systemd (y compris, et surtout, systemctl et systemd-run) ont été mis à jour pour interagir avec les capsules via le nouveau commutateur --capsule=/-C.
  • Les unités .socket ont obtenu un nouveau paramètre PassFileDescriptorsToExec=, prenant une valeur booléenne.

    • S'ils sont définis sur true, les descripteurs de fichiers que l'unité de socket encapsule sont transmis à ExecStartPost=, ExecStopPre=, ExecStopPost= en utilisant l'interface $LISTEN_FDS habituelle.
    • Cela peut être utilisé pour effectuer des initialisations supplémentaires sur les sockets une fois qu'elles sont allouées. (Par exemple, pour y installer un programme eBPF supplémentaire).
  • Le paramètre .socket MaxConnectionsPerSource= (qui imposait jusqu'à présent une limite aux connexions simultanées par IP dans les unités de socket Accept=yes),

    • a désormais également un effet sur les sockets AF_UNIX 
      • il limitera le nombre de connexions simultanées à partir du même UID source (tel que déterminé via SO_PEERCRED).
    • Ceci est utile pour implémenter les services IPC dans un simple mode Accept=yes.
  • Le gestionnaire de services maintiendra désormais un compteur des cycles de redémarrage logiciel effectués par le système.

    • Il peut être interrogé via les API D-Bus.
  • La logique d'exécution de systemd prend désormais en charge la nouvelle API pidfd_spawn() introduite par la glibc 2.39,

    • qui nous permet d'invoquer un sous-processus dans un groupe de contrôle cible et de récupérer un pidfd en une seule opération.
  • systemd/PID 1 enverra désormais un message sd_notify() supplémentaire à son VMM ou gestionnaire de conteneur superviseur signalant le nom d'hôte sélectionné (X_SYSTEMD_HOSTNAME=) et l'ID de la machine (X_SYSTEMD_MACHINE_ID=) au démarrage.

    • De plus, le gestionnaire de services enverra des messages sd_notify() supplémentaires (X_SYSTEMD_UNIT_ACTIVE=) chaque fois qu'une unité cible est atteinte.
    • Cela peut être utilisé par les VMM/gestionnaires de conteneurs pour planifier précisément l’accès au système.
    • Par exemple, dès qu'un système signale que ssh-access.target est atteint, un gestionnaire VMM/conteneur sait qu'il peut désormais se connecter au système via SSH.
    • Enfin, un nouveau message sd_notify() (X_SYSTEMD_SIGNALS_LEVEL=2) est envoyé au moment où le PID 1 a terminé avec succès l'installation de ses différents gestionnaires de signaux de processus UNIX (c'est-à-dire le moment où SIGRTMIN+4 envoyé au PID 1 commencera à avoir pour effet d'arrêter proprement le système).
    • X_SYSTEMD_SHUTDOWN= est envoyé peu de temps avant l'arrêt du système et contient une chaîne identifiant le type d'arrêt, c'est-à-dire poweroff, halt, reboot.
    • X_SYSTEMD_REBOOT_PARAMETER= est envoyé en même temps et porte la chaîne passée à systemctl --reboot-argument= s'il y en avait une.
  • Les nouvelles propriétés D-Bus ExecMainHandoffTimestamp et ExecMainHandoffTimestampMonotonic sont désormais publiées par unités de services.

    • Cet horodatage est considéré comme la toute dernière opération avant de transférer le contrôle aux binaires invoqués. Ces informations sont disponibles pour d'autres types d'unités qui exécutent des processus (c'est-à-dire les unités de montage, d'échange, de socket), mais actuellement uniquement via systemd-analyze dump.
  • Un horodatage supplémentaire est désormais pris par le gestionnaire de service lorsqu'une opération d'arrêt du système est lancée. Il peut être interrogé via D-Bus pendant la phase d'arrêt. Il est transmis lors des redémarrages logiciels à l'invocation suivante du gestionnaire de services, qui l'utilisera pour enregistrer le temps de « grisage » global de l'opération de redémarrage logiciel, c'est-à-dire l'heure à laquelle l'arrêt a commencé jusqu'à ce que le système soit à nouveau complètement opérationnel.

  • systemctl status affichera désormais l'ID d'invocation dans sa sortie habituelle, c'est-à-dire l'ID de 128 bits attribué de manière unique au cycle d'exécution actuel de l'unité.

    • L'ID est pris en charge depuis longtemps, mais il est désormais affiché de manière plus visible, car il s'agit d'un identifiant très utile pour un appel spécifique d'un service.
  • systemd génère désormais une nouvelle chaîne taint unmerged-bin pour les systèmes qui ont /usr/bin/ et /usr/sbin/ séparés.

    • De nos jours, il est généralement recommandé de faire de ce dernier un lien symbolique vers le premier.
  • Une nouvelle option de ligne de commande kernel systemd.crash_action= a été ajoutée qui configure ce qu'il faut faire après le crash du gestionnaire système (PID 1).

    • Cela peut également être configuré via CrashAction= dans systemd.conf.
  • systemctl kill prend désormais en charge --wait qui fera attendre la commande jusqu'à ce que les services signalés se terminent.

Journalisation et autres gestions d'erreurs

  • systemd-journald peut désormais transférer les entrées de journal vers un socket (AF_INET, AF_INET6, AF_UNIX ou AF_VSOCK).

    • Le socket peut être spécifié dans journald.conf via une nouvelle option ForwardAddress= ou via les informations d'identification journald.forward_address.
    • Les enregistrements de journaux sont envoyés au format d'exportation du journal.
    • Un paramètre associé MaxLevelSocket= a été ajouté pour contrôler les niveaux de journalisation maximum pour les messages envoyés à ce socket.
  • systemd-journald lit désormais également les informations d'identification de journal.storage lorsque cherche où stocker les fichiers journaux.

  • systemd-vmspawn a obtenu une nouvelle option --forward-journal= pour transmettre les entrées de journal de la machine virtuelle à l'hôte.

    • Cela se fait via un socket AF_VSOCK, c'est-à-dire qu'il ne nécessite pas de mise en réseau dans l'invité.
  • journalctl a obtenu l'option -i comme raccourci pour --file=.

  • journalctl a gagné une nouvelle option -T/--exclude-identifier= pour filtrer certains identifiants syslog.

  • journalctl a gagné une nouvelle option --list-namespaces.

  • systemd-journal-remote accepte désormais également les sockets AF_VSOCK et AF_UNIX : il peut donc être utilisé pour recevoir les entrées transmises par systemd-journald.

  • systemd-journal-gatewayd permet de restreindre la plage horaire des entrées récupérées avec un nouveau paramètre d'URL realtime=[<since>]:[<until>].

  • systemd-cat a gagné une nouvelle option --namespace= pour spécifier l'espace de noms du journal cible auquel la sortie doit être connectée.

  • systemd-bsod a gagné une nouvelle option --tty= pour spécifier le TTY de sortie

À propos de la gestion des périphériques

  • /dev/ contient désormais des liens symboliques qui combinent des informations by-path & by-{label,uuid}:

    • /dev/disk/by-path/<chemin>/by-<label|uuid|…>/<label|uuid|…>
    • Cela permet de distinguer les partitions avec un contenu identique sur plusieurs périphériques de stockage.
    • Ceci est utile, par exemple, lors de la copie du contenu brut du disque entre périphériques.
  • systemd-udevd crée désormais des liens symboliques /dev/media/by-path/ persistants pour les contrôleurs multimédias.

    • Par exemple, le pilote uvcvideo peut créer /dev/media0 qui sera lié en tant que /dev/media/by-path/pci-0000:04:00.3-usb-0:1:1.0-media-controller.
  • Une nouvelle unité systemd-udev-load-credentials.service a été ajoutée pour récupérer les drop-ins udev.conf et les règles udev à partir des informations d'identification.

  • Une liste d'autorisation/liste de refus peut être spécifiée pour filtrer les attributs sysfs utilisés lors de la création des noms d'interface réseau.

    • Ces listes sont stockées sous forme d'entrées hwdb
      • ID_NET_NAME_ALLOW_<sysfsattr>=0|1
      • et ID_NET_NAME_ALLOW=0|1
      • L'objectif est d'éviter des modifications inattendues des noms d'interface lorsque le noyau est mis à jour et que de nouveaux attributs sysfs deviennent visibles.
  • Une nouvelle unité tpm2.target a été ajoutée pour fournir un point de synchronisation pour les unités qui s'attendent à ce que le matériel TPM soit disponible.

    • Un nouveau générateur systemd-tpm2-generator a été ajouté qui insérera cette cible chaque fois qu'il détectera que le micrologiciel a initialisé un TPM, mais que Linux n'a pas encore chargé de pilote pour celui-ci.
  • systemd-backlight prend désormais correctement en charge les périphériques numérotés créés par le noyau pour éviter les collisions dans le sous-système LED.

  • L'opération de mise à jour systemd-hwdb peut être désactivée avec une nouvelle variable d'environnement SYSTEMD_HWDB_UPDATE_BYPASS=1.

systemd-hostnamed offre divers manières de modifier le nom et la description du système

  • systemd-hostnamed expose désormais l'ID de la machine et l'ID de démarrage via D-Bus.

    • Il expose également les hôtes AF_VSOCK CID, si disponible.
  • systemd-hostnamed fournit désormais une interface Varlink de base.

  • systemd-hostnamed exporte les données complètes dans os-release(5) et machine-info(5) via D-Bus et Varlink.

  • hostnamectl affiche désormais l'UUID du produit du système et le numéro de série du matériel s'il est connu.

La gestion du réseau avec systemd

  • systemd-networkd fournit désormais une interface Varlink de base.

  • La prise en charge du proxy ARP de systemd-networkd a gagné une nouvelle option pour configurer une variante de VLAN privé du proxy ARP pris en charge par le noyau sous le nom IPv4ProxyARPPrivateVLAN=.

  • systemd-networkd exporte désormais les propriétés NamespaceId et NamespaceNSID via D-Bus et Varlink.

    • qui exposent l'inode et le NSID de l'espace de noms réseau géré par l'instance networkd)
  • systemd-networkd prend désormais en charge les paramètres IPv6RetransmissionTimeSec= et UseRetransmissionTime= dans les fichiers .network pour configurer le temps de retransmission pour les messages de sollicitation de voisin IPv6.

  • networkctl a acquis de nouveaux verbes « mask » et « unmask » pour masquer les fichiers de configuration réseau tels que les fichiers .network.

  • networkctl edit --runtime permet de modifier la configuration volatile sous /run/systemd/network/.

  • La mise en œuvre derrière le paramètre réseau TTLPropagate= a été supprimée, et ce paramètre est désormais ignoré.

  • systemd-network-generator récupérera désormais la configuration situé dans .netdev/.link/.network/networkd.conf à partir des informations d'identification du système.

  • systemd-networkd récupérera désormais les secrets de wireguard depuis les informations d'identification (credentials).

  • L'API Varlink de systemd-networkd prend désormais en charge l'énumération des homologues LLDP.

  • Les fichiers .link prennent désormais en charge les nouveaux champs Property=, ImportProperty=, UnsetProperty= pour définir les propriétés udev sur un lien.

  • Les différents fichiers .link fournis par systemd pour les interfaces censées être gérées uniquement par systemd-networkd portent désormais une propriété udev ID_NET_MANAGED_BY=io.systemd.Network garantissant que les autres solutions de gestion de réseau honorant cette propriété udev n'entrent pas en conflit avec networkd, en essayant de gérer ces interfaces.

  • Les fichiers .link prennent désormais en charge un nouveau paramètre ReceiverPacketSteeringCPUMask=

    • pour configurer les processeurs vers lesquels diriger les paquets entrants.
  • La section [Réseau] des fichiers .network a gagné un nouveau paramètre UseDomains=,

    • qui est un bouton générique unique pour contrôler les paramètres du même nom dans [DHCPv4], [DHCPv6] et [IPv6AcceptRA].
  • Le fichier 99-default.link que nous livrons par défaut

    • (qui définit la politique pour tous les périphériques réseau auxquels aucun autre fichier .link ne s'applique)
    • répertorie désormais mac parmi AlternativeNamesPolicy=.
    • Cela signifie que les interfaces réseau recevront désormais par défaut un nom de périphérique alternatif supplémentaire basé sur l'adresse MAC. (c'est-à-dire enx…)

À propos de systemd-nspawn, l'alternative sécurisée et fine de chroot

  • systemd-nspawn fournit désormais un répertoire /run/systemd/nspawn/unix-export/ dans lequel la charge utile du conteneur peut exposer les sockets AF_UNIX pour leur permettre d'y accéder de l'extérieur.

  • systemd-nspawn teintera l'arrière-plan du terminal des conteneurs d'une couleur bleuâtre. Cela peut être un contrôleur avec le nouveau commutateur --background=.

  • systemd-nspawn a obtenu la prise en charge de l'option owneridmap pour les montages --bind= afin de mapper le propriétaire du répertoire cible depuis l'intérieur du conteneur vers le propriétaire du répertoire lié au système de fichiers hôte.

  • systemd-nspawn prend désormais en charge le déplacement des périphériques réseau Wi-Fi dans un conteneur, tout comme les autres interfaces réseau.

À propos du multi résolveur systemd-resolved, qui peut remplacer dnsmasq, Avahi & libnss-mdns

  • systemd-resolved lit désormais les codes d'erreur RFC 8914 EDE fournis par les services DNS en amont.

  • systemd-resolved et solvectl prennent désormais en charge les enregistrements RFC 9460 SVCB et HTTPS, ainsi que les enregistrements RFC 2915 NAPTR.

  • solvectl a acquis une nouvelle option --relax-single-label= pour permettre d'interroger des noms d'hôtes en une seule partie via DNS unicast pour chaque requête.

  • L'interface Varlink IPC de systemd-resolved prend désormais en charge la résolution des services DNS-SD ainsi qu'une API pour résoudre les RR DNS bruts.

  • Les fichiers de description de service .dnssd DNS_SD de systemd-resolved prennent désormais en charge les sous-types DNS-SD via le nouveau paramètre SubType=.

  • La configuration de systemd-resolved peut désormais être rechargée sans redémarrer le service, c'est-à-dire que systemctl reload systemd-resolved est désormais pris en charge.

Une intégration fine de SSH

  • Un drop-in de configuration sshd pour permettre aux clés ssh acquises via userdbctl (par exemple exposées par des comptes de type systemd-homed) d'être utilisées pour l'autorisation des connexions SSH entrantes.

  • Un petit nouveau générateur d'unités systemd-ssh-generator a été ajouté. Il vérifie si le binaire sshd est installé. Si tel est le cas, il le lie via l'activation de socket par connexion à différentes sockets en fonction du contexte d'exécution :

    • Si le système est exécuté sur une VM prenant en charge AF_VSOCK, il lie automatiquement sshd au AF_VSOCK port 22 .
    • Si le système est invoqué en tant que conteneur OS complet et que le gestionnaire de conteneur pré-monte un répertoire /run/host/unix-export/, il liera sshd à un socket AF_UNIX /run/host/unix-export/ssh. L'idée est que la liaison du gestionnaire de conteneur monte également le répertoire à un endroit approprié sur l'hôte, de sorte que le socket AF_UNIX puisse être utilisé pour se connecter facilement de l'hôte au conteneur.
  • sshd est également lié à un socket AF_UNIX /run/ssh-unix-local/socket, qui consiste à utiliser ssh/sftp à la manière de sudo pour accéder aux ressources d'autres utilisateurs locaux.

  • Via l'option de ligne de commande du noyau systemd.ssh_listen= et les informations d'identification système ssh.listen, sshd peut être lié à des options supplémentaires explicitement configurées, notamment les ports AF_INET/AF_INET6.

  • En particulier, les deux premiers mécanismes devraient faciliter grandement la gestion des machines virtuelles locales et des conteneurs de système d'exploitation complets, car les connexions SSH fonctionneront basiquement à partir de l'hôte – même si aucun réseau n'est disponible.

  • systemd-ssh-generator génère optionnellement un fichier de service d'activation de socket par connexion en encapsulant sshd. Ceci n'est fait que si la distribution n'en fournit pas elle-même sous le nom de sshd@.service. L'unité générée ne fonctionne correctement que si le répertoire de séparation des privilèges SSH privsep existe. Malheureusement, les distributions varient & placent ce répertoire de manière très variable. Voici une liste incomplète :

    • /usr/share/empty.sshd/ (nouveau sous Fedora)
    • /var/empty/
    • /var/empty/sshd/
    • /run/sshd/ (debian/ubuntu ?)

Si le répertoire SSH privsep est placé sous /var/ ou /run/, il faut veiller à ce que le répertoire soit créé automatiquement au démarrage si nécessaire, car ces répertoires peuvent être ou sont toujours vides. Cela peut être fait via un drop-in tmpfiles.d/. Vous pouvez utiliser l'option meson sshdprivsepdir fournie par systemd pour configurer le répertoire, au cas où vous souhaiteriez que systemd crée automatiquement le répertoire selon vos besoins, si votre distribution ne le couvre pas de manière native.

Recommandations aux distributions, afin que les choses fonctionnent correctement :

• Veuillez fournir un fichier de service SSH par connexion sous le nom sshd@.service.
• Veuillez déplacer le répertoire SSH privsep dans /usr/
* afin qu'il soit véritablement immuable sur les systèmes d'exploitation basés sur des images
* qu'il soit strictement sous le contrôle du gestionnaire de paquets
* et qu'il ne nécessite jamais de recréation si le système démarre avec un répertoire /run/ ou /var vide.
• Dans le prolongement de ceci : veuillez envisager de suivre l'exemple de Fedora ici et d'utiliser /usr/share/empty.sshd/ pour minimiser les différences inutiles entre les distributions.
• Si votre distribution insiste pour placer le répertoire dans /var/ ou /run/ alors veuillez au moins fournir un drop-in tmpfiles.d/ pour le recréer automatiquement au démarrage, afin que le binaire sshd fonctionne correctement, quel que soit le contexte dans lequel il se trouve appelé.

  • Un petit outil systemd-ssh-proxy a été ajouté, censé faire office de pendant de systemd-ssh-generator. C'est un petit plug-in pour le client SSH (via ProxyCommand/ProxyUseFdpass) pour lui permettre de se connecter aux sockets AF_VSOCK ou AF_UNIX. Exemple : ssh vsock/4711 se connecte à une VM locale avec le cid 4711, ou ssh unix/run/ssh-unix-local/socket pour se connecter à l'hôte local via le socket AF_UNIX /run/ssh-unix-local/socket.

systemd-boot et systemd-stub et outils associés, une alternative minimale & ukify à grub

  • La prise en charge des mesures PCR TPM 1.2 a été supprimée de systemd-stub. Le TPM 1.2 est obsolète et – en raison de la faiblesse (selon les normes actuelles) des algorithmes cryptographiques qu'il ne prend en charge – n'offre pas réellement les avantages en matière de sécurité qu'il est censé offrir. Étant donné que le reste de la base de code de systemd n'a jamais pris en charge TPM 1.2, la prise en charge a également été supprimée de systemd-stub.

  • systemd-stub mesurera désormais sa charge utile via les nouvelles API EFI Confidential Computing (CC), en plus des mesures préexistantes du TPM.

  • Les confextes (cf [systemd-sysext](https://www.freedesktop.org/software/systemd/man/latest/systemd-sysext.html)) sont également chargés par systemd-stub depuis l'ESP.

  • kernel-install a obtenu le support de --root= pour le verbe list.

  • bootctl fournit désormais une interface Varlink de base et peut être exécuté en tant que service(démon) via une unité modèle.

  • systemd-measure a obtenu de nouvelles options --certificate=, --private-key= et --private-key-source= pour permettre l'utilisation des moteurs ou fournisseurs d'OpenSSL comme mécanisme de signature à utiliser lors de la création de valeurs de mesure signées PCR TPM2

  • ukify a obtenu la prise en charge de la signature des signatures PCR via les moteurs et fournisseurs OpenSSL.

  • ukify prend désormais en charge les noyaux zboot.

  • systemd-boot prend désormais en charge la transmission de commutateurs de ligne de commande de noyau supplémentaires aux noyaux invoqués via une chaîne SMBIOS Type #11 io.systemd.boot.kernel-cmdline-extra. Ceci est similaire à la prise en charge préexistante de cela dans systemd-stub, mais s'applique également aux entrées de spécification du chargeur de démarrage de type n°1.

  • La prise en charge automatique de l'inscription SecureBoot par systemd-boot prend également en charge l'inscription dbx (auparavant, seule l'inscription db/KEK/PK était prise en charge). Il prend également désormais en charge le mode UEFI « Personnalisé ».

  • La politique pcrlock est enregistrée dans un fichier d'informations d'identification non chiffré pcrlock.<entry-token>.cred sous XBOOTLDR/ESP dans le répertoire /loader/credentials/. Il sera récupéré au démarrage par systemd-stub et transmis à initrd, où il pourra être utilisé pour déverrouiller le système de fichiers racine.

  • systemd-pcrlock a obtenu une option --entry-token= pour configurer le jeton d'entrée.

  • systemd-pcrlock fournit désormais une interface Varlink de base et peut être exécuté en tant que démon via une unité modèle.

  • La politique d'accès au TPM nvindex de systemd-pcrlock a été modifiée

    • cela signifie que les politiques pcrlock précédentes stockées dans nvindexes sont invalidées.
    • Ils doivent être supprimés (systemd-pcrlock remove-policy) et recréés (systemd-pcrlock make-policy).
    • Pour le moment, systemd-pcrlock reste une fonctionnalité expérimentale, mais elle devrait devenir stable dans la prochaine version, c'est-à-dire la v257.
  • Le commutateur --recovery-pin= de systemd-pcrlock prend désormais trois valeurs : hide, show, query. Si « afficher » est sélectionné, le code PIN de récupération généré automatiquement est affiché à l'utilisateur. Si « requête » est sélectionné, le code PIN est demandé à l'utilisateur.

  • sd-stub prend désormais en charge la nouvelle section PE .ucode dans les UKI, qui peut contenir des données de microcode CPU. Lorsque le contrôle est transféré au noyau Linux, ces données sont ajoutées au début de l'ensemble des initrds transmis.

systemd-run/run0, une alternative sécurisée à sudo

  • systemd-run est désormais un binaire multi-appels. Lorsqu'il est invoqué en tant que run0, il fournit une interface similaire à sudo, tous les arguments commençant au premier paramètre non-option étant traités comme la commande à invoquer en tant que root.

    • Contrairement à « sudo » et aux outils similaires, il n'utilise pas de binaires setuid ou d'autres méthodes d'élévation de privilèges
    • mais exécute à la place la commande spécifiée comme une unité transitoire
    • Elle est démarrée par le gestionnaire de services système, de sorte que les privilèges sont supprimés plutôt que gagnés.
    • Cela met ainsi en œuvre un modèle de sécurité beaucoup plus robuste et sûr.
    • Comme d'habitude, l'autorisation est gérée via Polkit.
  • systemd-run/run0 teintera désormais l'arrière-plan du terminal sur les terminaux pris en charge :

    • dans un ton rougeâtre lors de l'appel d'un service racine
    • dans un ton jaunâtre sinon.
    • Cela peut être contrôlé et désactivé via le nouveau commutateur --background=.
  • systemd-run a gagné une nouvelle option --ignore-failure pour supprimer les échecs de commandes.

Outillages en ligne de commande

  • systemctl edit --stdin permet la création de fichiers d'unité et de drop-ins avec du contenu fourni via l'entrée standard.

    • Ceci est utile lors de la création d’une configuration par programme ; l'outil se charge de déterminer le nom du fichier, de créer les répertoires éventuels et de recharger ensuite le gestionnaire.
  • systemctl disable --now et systemctl mask --now fonctionnent désormais correctement avec les modèles d'unités.

  • systemd-analyze architectures répertorie les architectures CPU connues.

  • systemd-analyze --json=… est pris en charge pour les architectures, capability, exit-status

  • systemd-tmpfiles --purge purgera (supprimera) tous les fichiers et répertoires créés via la configuration tmpfiles.d.

  • systemd-id128 a gagné de nouvelles options --no-pager, --no-legend et -j/ --json=.

  • hostnamectl a gagné -j comme raccourci pour --json=pretty ou --json=short

  • loginctl prend désormais en charge -j/ --json=.

  • resolvectl prend désormais en charge -j/ --json= pour --type=.

  • systemd-tmpfiles a gagné une nouvelle option --dry-run pour simuler ce qui serait fait sans réellement agir.

  • varlinkctl a obtenu un nouveau commutateur --collect pour collecter toutes les réponses d'un appel de méthode qui prend en charge plusieurs réponses et le transforme en un seul tableau JSON.

  • systemd-dissect a acquis une nouvelle option --make-archive pour générer un fichier d'archive (tar.gz et similaire) à partir d'une image disque.

systemd-vmspawn, permet de générer un système d'exploitation dans une machine virtuelle

  • systemd-vmspawn a gagné

    • une nouvelle option --firmware= pour configurer ou lister les définitions de firmware pour Qemu
    • une nouvelle option --tpm= pour activer ou désactiver l'utilisation d'un TPM logiciel
    • une nouvelle option --linux= pour spécifier un noyau binaire pour le démarrage direct du noyau
    • une nouvelle option --initrd= pour spécifier un initrd pour le démarrage direct du noyau
    • une nouvelle option -D/--directory pour utiliser un répertoire simple comme système de fichiers racine
    • une nouvelle option --private-users similaire à celle de systemd-nspawn
    • de nouvelles options --bind= et --bind-ro= pour lier une partie de la hiérarchie du système de fichiers de l'hôte à l'invité
    • une nouvelle option --extra-drive= pour attacher du stockage supplémentaire
    • et -n/--network-tap/--network-user-mode pour configurer le réseau.
  • Un nouveau systemd-vmspawn@.service peut être utilisé pour lancer systemd-vmspawn en tant que service.

  • systemd-vmspawn a obtenu les nouveaux commutateurs --console= et --background= qui contrôlent la manière d'interagir avec la VM.

    • Comme auparavant, une interface de terminal interactive est fournie par défaut, mais désormais avec un fond teinté d'une teinte verdâtre.
  • systemd-vmspawn peut désormais enregistrer ses VM auprès de systemd-machined, contrôlé via le commutateur --register=.

  • La commande start de machinectl (et associée) peut désormais appeler des images

    • soit en tant que conteneurs via systemd-nspawn (le commutateur est --runner=nspawn, la valeur par défaut)
    • soit en tant que VM via systemd-vmspawn (le commutateur est --runner=vmspawn , ou court -V).
  • systemd-vmspawn prend désormais en charge deux commutateurs --pass-ssh-key= et --ssh-key-type= pour configurer éventuellement des clés SSH transitoires à transmettre aux machines virtuelles invoquées afin de pouvoir y accéder en SSH une fois démarrées.

  • systemd-vmspawn activera désormais diverses options sur les VMs

    • HyperV enlightenments"
    • et le VM Generation ID
  • Une nouvelle variable d'environnement $SYSTEMD_VMSPAWN_QEMU_EXTRA peut contenir des options de ligne de commande qemu supplémentaires à transmettre à qemu.

  • systemd-machined a acquis une nouvelle méthode D-Bus GetMachineSSHInfo() qui est utilisé par systemd-vmspawn pour récupérer les informations nécessaires pour se connecter au système.

    • systemd-machined a acquis une nouvelle interface Varlink qui est utilisée par systemd-vmspawn pour enregistrer les machines avec diverses informations & métadonnées supplémentaires.

systemd-repart, pour retailler un disque à la volée

  • systemd-repart a obtenu de nouvelles options --generate-fstab= et --generate-crypttab=

    • pour écrire les fichiers fstab et crypttab correspondant aux partitions générées.
  • systemd-repart a obtenu une nouvelle option --private-key-source=

    • pour permettre d'utiliser les moteurs ou fournisseurs d'OpenSSL comme mécanisme de signature à utiliser lors de la création de partitions de signature Verity.
  • systemd-repart a obtenu un nouveau paramètre DefaultSubvolume= dans les drop-ins repart.d/

    • qui permettent de configurer le sous-volume btrfs par défaut pour les systèmes de fichiers btrfs nouvellement formatés.

Bibliothèques autours du monde systemd

  • libsystemd a obtenu un nouvel appel sd_bus_creds_new_from_pidfd()

    • pour obtenir un objet d'informations d'identification pour un pidfd
    • et sd_bus_creds_get_pidfd_dup() pour récupérer le pidfd à partir d'un objet d'informations d'identification.
  • La logique d'identification de sd-bus acquerra désormais également les listes de groupes UNIX du homologue

    • et le pidfd du homologue si pris en charge et demandé.
  • La macro RPM %_kernel_install_dir a été ajoutée avec le chemin d'accès au répertoire des plugins d'installation du noyau.

  • Les dépendances liblz4, libzstd, liblzma, libkmod, libgcrypt ont été modifiées

    • de dépendances de bibliothèque partagée habituelles en dépendances basées sur dlopen().
    • Notez que cela signifie que ces bibliothèques pourraient ne pas être automatiquement récupéré lorsque les dépendances ELF sont résolues. En particulier le manque de libkmod peut causer des problèmes de démarrage. Cela affecte le dracut <= 101
  • Les binaires systemd ELF qui utilisent des bibliothèques via dlopen() sont maintenant construits avec une nouvelle section de note d'en-tête ELF, suite à une nouvelle spécification définie à
    docs/ELF_DLOPEN_METADATA.md, qui fournit des informations sur lesquels le sonames sont chargés et utilisés s'ils sont trouvés au moment de l'exécution. Cela permet aux outils et packagers pour découvrir par programme la liste des éléments facultatifs
    dépendances utilisées par tous les binaires systemd ELF. Un analyseur avec packaging les outils d'intégration sont disponibles sur git

  • L'API sd-journal a obtenu un nouvel appel sd_journal_stream_fd_with_namespace()

    • qui ressemble à sd_journal_stream_fd() mais crée un flux de journaux ciblé sur un espace de noms de journal spécifique.
  • L'API sd-id128 a obtenu un nouvel appel d'API sd_id128_get_invocation_app_special()

    • pour acquérir un ID spécifique à l'application dérivé de l'ID d'appel de service.
  • L'API sd-event a obtenu un nouvel appel d'API sd_event_source_get_inotify_path()

    • qui renvoie le chemin du système de fichiers pour lequel une source d'événement inotify a été créée.

systemd-cryptsetup systemd-cryptenroll, où l'aide au chiffrement de disque

  • L'argument du nœud de périphérique pour systemd-cryptenroll est désormais facultatif.

    • S'il est omis, il sera automatiquement déduit du périphérique de bloc de support de /var/
      • (qui est très probablement le même que le système de fichiers racine, ce qui signifie effectivement que si vous ne spécifiez rien, sinon l'outil enregistrera désormais par défaut une clé dans périphérique LUKS du système de fichiers racine).
  • systemd-cryptenroll peut désormais s'inscrire directement avec une clé publique PKCS11 (au lieu d'un certificat).

  • systemd-cryptsetup systemd-cryptenroll peuvent désormais verrouiller un disque avec une clé EC fournie par PKCS#11

    • (auparavant, il ne prenait en charge que RSA).
  • systemd-cryptsetup prend en charge l'option crypttab link-volume-key=

    • pour lier la clé du volume au jeu de clés du noyau lorsque le volume est ouvert.
  • systemd-cryptenroll n'activera plus la protection contre les attaques par dictionnaire (c'est-à-dire activer NO_DA) pour les inscriptions TPM qui n'impliquent pas de code PIN.

    • DA ne devrait pas être nécessaire dans ce cas (puisque l'entropie de la clé est suffisamment élevée pour rendre cela inutile),
    • mais un risque un verrouillage accidentel en cas de modifications inattendues du PCR.
  • systemd-cryptenroll prend désormais en charge l'inscription d'un nouvel emplacement tout en déverrouillant l'ancien emplacement via TPM2

    • (auparavant, le déverrouillage ne fonctionnait que via un mot de passe ou FIDO2).

systemd-homed systemd-logind, systemd-userdbd

  • systemd-homed prend désormais en charge le déverrouillage des répertoires personnels lors de la connexion via SSH.

    • Auparavant, les répertoires personnels devaient être déverrouillés avant toute tentative de connexion SSH.
  • Les enregistrements utilisateur au format JSON ont été étendus avec une zone de stockage publique distincte appelée « Répertoires binaires des enregistrements utilisateur » ("User Record Blob Directories").

    • Ceci est destiné à stocker l'image d'arrière-plan de l'utilisateur, l'image de l'avatar et d'autres éléments similaires qui sont trop volumineux pour tenir dans l'enregistrement utilisateur lui-même.
    • systemd-homed, userdbctl et homectl prennent désormais en charge les répertoires binaires.
    • homectl a gagné --avatar= et --login-background=
      • pour contrôler deux éléments spécifiques des répertoires binaires.
    • Un nouveau champ additionalLanguages a été ajouté aux enregistrements utilisateur JSON (tel que pris en charge par systemd-homed et systemd-userdbd),
      • qui est étroitement lié au preferredLanguage préexistant, et permet de spécifier plusieurs langues supplémentaires pour le compte utilisateur.
      • Il est utilisé pour initialiser la variable d'environnement $LANGUAGES lorsqu'elle est utilisée.
  • Une nouvelle paire de champs preferredSessionType et preferredSessionLauncher a été ajoutée aux enregistrements utilisateur JSON,

    • qui peuvent être utilisées pour contrôler le type de session de bureau à activer de préférence lors des connexions de l'utilisateur.
  • homectl a gagné un nouveau verbe firstboot, et une nouvelle unité systemd-homed-firstboot.service

    • ce verbe est utilisé pour créer des utilisateurs dans un environnement de premier démarrage,
      • soit à partir des informations d'identification du système
      • soit en interrogeant de manière interactive.
  • systemd-logind prend désormais en charge une nouvelle classe de session background-light qui n'envoie pas l'unité user@.service.

    • Ceci est destiné aux sessions automatisées, type cron, sans nécessiré d'interactions utilisateurs
    • Cela rend l'ouverture plus légère et rapide.
  • Le gestionnaire de services par utilisateur sera désormais suivi comme un type de session « gestionnaire » (manager) distinct parmi les sessions de connexion de chaque utilisateur.

  • homectl prend désormais en charge un mode --offline,

    • grâce auquel certaines propriétés du compte peuvent être modifiées sans déverrouiller le répertoire personnel.
  • systemd-logind a acquis une nouvelle méthode org.freedesktop.login1.Manager.ListSessionsEx()

    • qui fournit des métadonnées supplémentaires par rapport à ListSessions().
    • loginctl l'utilise pour lister des champs supplémentaires dans les sessions de liste.
  • systemd-logind a gagné une nouvelle méthode org.freedesktop.login1.Manager.Sleep()

    • qui redirige automatiquement vers SuspendThenHibernate(), Suspend(), HybridSleep() ou Hibernate(),
      • selon ce qui est pris en charge et configuré,
        • une nouvelle paramètre de configuration SleepOperation=,
        • ainsi qu'une méthode d'assistance associée org.freedesktop.login1.Manager.CanSleep()
        • et une propriété org.freedesktop.login1.Manager.SleepOperation.
        • systemctl sleep appelle la nouvelle méthode pour mettre automatiquement la machine en veille de la manière la plus appropriée.
  • systemctl sleep appelle une nouvelle méthode pour mettre automatiquement la
    machine dans le mode sommeil de la manière la plus appropriée.

systemd-creds, mécanisme de gestion des authentifications, pour arrêter de balancer du mot de passe en clair partout

  • systemd-creds fournit désormais une API Varlink IPC pour chiffrer et déchiffrer les informations d'identification.

  • La sélection de clé tpm2-absent de systemd-creds a été renommée en null, puisque c'est ce qu'elle fait réellement :

    • chiffrer et signer avec une clé nulle fixe.
    • --with-key=null ne doit être utilisé que dans des cas très spécifiques,
    • car il n'offre aucune protection en matière d'intégrité ou de confidentialité.
    • c'est-à-dire qu'il n'est sûr à utiliser comme solution de secours que dans des environnements dépourvus à la fois d'un TPM et d'un accès au système de fichiers racine pour utiliser la clé de chiffrement de l'hôte, ou lorsque l'intégrité est assurée d'une autre manière.
  • systemd-creds a obtenu un nouveau commutateur --allow-null.

    • S'il est spécifié, le verbe decrypt décodera les informations d'identification chiffrées qui utilisent la clé null
    • Par défaut, cela est refusé, car l'utilisation de la clé null annule le cryptage authentifié normalement effectué.

De quoi mettre en veille et mettre en veille prolongée

  • Le fichier de configuration sleep.conf a obtenu un nouveau paramètre MemorySleepMode=

    • pour configurer le mode veille plus en détail.
  • Un nouveau petit service systemd-hibernate-clear.service a été ajouté

    • qui efface les informations d'hibernation de la variable EFI HibernateLocation,
      • au cas où le périphérique de reprise disparaîtrait.
      • Normalement, cette variable est censée être nettoyée par le code qui lance l'image de reprise depuis l'hibernation.
      • Mais lorsque le périphérique est manquant et que ce code ne s'exécute pas,
      • ce service effectuera désormais le travail nécessaire, garantissant qu'aucune information d'image d'hibernation obsolète ne reste lors des démarrages suivants.

Espaces de noms utilisateurs non privilégiés et gestion des montages de disques

  • Un nouveau petit service systemd-nsresourced.service a été ajouté.

    • Il fournit une API Varlink IPC qui attribue une plage UID/GID de 64 Ko gratuite et allouée de manière transitoire à un espace de noms d'utilisateur non initialisé fourni par un client. Il peut être utilisé pour implémenter des gestionnaires de conteneurs sans privilèges et d'autres programmes nécessitant des plages d'ID utilisateur dynamiques. Il fournit également des interfaces pour déléguer ensuite des descripteurs de fichiers de montage, des groupes de contrôle et des interfaces réseau aux espaces de noms utilisateur configurés de cette manière.
  • Un nouveau petit service systemd-mountfsd.service a été ajouté.

    • Il fournit une API Varlink IPC pour monter des images DDI et renvoyer un ensemble de descripteurs de fichiers de montage pour celles-ci. Si un espace de noms utilisateur fd est fourni en entrée, alors les montages sont enregistrés avec l'espace de noms utilisateur. Pour garantir la confiance dans l'image, elle doit fournir des informations Verity (ou bien une authentification polkit interactive est requise).
  • L'outil systemd-dissect peut désormais accéder aux DDI sans aucun privilège en utilisant systemd-nsresourced/systemd-mountfsd.

  • Si le gestionnaire de services s'exécute sans privilèges (c'est-à-dire systemd --user),

    • il prend désormais en charge RootImage= pour accéder aux images DDI, également implémenté via systemd-nsresourced/systemd-mountfsd.
  • systemd-nspawn peut désormais fonctionner sans privilèges,

    • si un DDI approprié est fourni via --image=, encore une fois implémenté via systemd-nsresourced/systemd-mountfsd.

Divers changements

  • timedatectl et machinectl ont obtenu l'option -P,
    • un alias pour --value --property=….
  • Divers outils permettant d'imprimer joliment les fichiers de configuration mettront désormais en évidence les directives de configuration.

  • varlinkctl a obtenu le support du transport ssh:.

    • Cela nécessite OpenSSH 9.4 ou plus récent.
  • systemd-sysext a obtenu la prise en charge de l'activation des extensions système de manière mutable,

    • où un répertoire supérieur inscriptible est stocké sous /var/lib/extensions.mutable/,
    • et une nouvelle option --mutable= pour configurer ce comportement.
    • Un mode « éphémère » n'est pas non plus pris en charge lorsque la couche mutable est configurée pour être un tmpfs qui est automatiquement libéré lorsque les extensions système sont rattachées.
  • Les coredumps sont désormais conservés pendant deux semaines par défaut (au lieu de trois jours comme auparavant).

  • Le paramètre portablectl --copy= a obtenu un nouvel argument mixte,

    • qui entraînera la liaison des ressources appartenant au système d'exploitation
    • (par exemple : les profils portables) mais aux ressources appartenant à l'image portable à copier (par exemple les fichiers unitaires et les images elles-mêmes).
  • systemd enregistrera désormais les types MIME de ses divers types de fichiers

    • (par exemple, fichiers journaux, DDI, informations d'identification cryptées…) via l'infrastructure d'informations mime partagées XDG.
    • (Les fichiers de ces types seront ainsi reconnus comme leur propre élément dans les gestionnaires de fichiers de bureau tels que les fichiers GNOME.)
  • systemd-dissect affichera désormais la taille de secteur détectée d'un DDI donné dans sa sortie par défaut.

  • systemd-portabled génère désormais des messages de journal structurés reconnaissables chaque fois qu'un service portable est attaché ou détaché.

  • La vérification de la signature Verity dans l'espace utilisateur (c'est-à-dire la vérification par rapport aux clés /etc/verity.d/) lors de l'activation des DDI peut désormais être activée/désactivée

    • via une option de ligne de commande du noyau systemd.allow_userspace_verity=
    • et une variable d'environnement SYSTEMD_ALLOW_USERSPACE_VERITY=.
  • La gestion des quotas du système de fichiers ext4/xfs a été retravaillée,

    • de sorte que quotacheck et quotaon soient désormais invoqués en tant que services basés sur un modèle par système de fichiers
    • (par opposition à des singletons uniques à l'échelle du système), de style similaire à la logique fsck, growfs, pcrfs.
    • Cela signifie que les systèmes de fichiers avec quota activé peuvent désormais être raisonnablement activés au moment de l'exécution du système, et pas seulement au démarrage.
  • systemd-analyze dot affichera désormais également les dépendances BindsTo=.

  • systemd-debug-generator a acquis la possibilité d'ajouter des unités arbitraires en fonction de leur transmission via les informations d'identification du système.

  • Une nouvelle option de ligne de commande du noyau systemd.default_debug_tty= peut être utilisée pour spécifier le TTY pour le shell de débogage, indépendamment de son activation ou de sa désactivation.

  • portablectl a obtenu un nouveau commutateur --clean qui efface les données d'un service portable (cache, logs, state, runtime, fdstore) lors de son détachement.

Documentations

Contributeurs

Contributions from: A S Alam, AKHIL KUMAR,
Abraham Samuel Adekunle, Adrian Vovk, Adrian Wannenmacher,
Alan Liang, Alberto Planas, Alexander Zavyalov, Anders Jonsson,
Andika Triwidada, Andres Beltran, Andrew Sayers,
Antonio Alvarez Feijoo, Arthur Zamarin, Artur Pak, AtariDreams,
Benjamin Franzke, Bernhard M. Wiedemann, Black-Hole1, Bryan Jacobs,
Burak Gerz, Carlos Garnacho, Chandra Pratap, Chris Simons,
Christian Wesselhoeft, Clayton Craft, Colin Geniet, Colin Walters,
Costa Tsaousis, Cristian Rodríguez, Daan De Meyer,
Damien Challet, Dan Streetman, David Tardon, David Venhoek,
Diego Viola, Dionna Amalie Glaze, Dmitry Konishchev,
Edson Juliano Drosdeck, Eisuke Kawashima, Eli Schwartz,
Emanuele Giuseppe Esposito, Eric Daigle, Evgeny Vereshchagin,
Felix Riemann, Fernando Fernandez Mancera, Florian Schmaus,
Franck Bui, Frantisek Sumsal, Friedrich Altheide,
Gabríel Arthúr Pétursson, Gaël Donval, Georges Basile Stavracas Neto,
Gerd Hoffmann, GNOME Foundation, Guido Leenders,
Guilhem Lettron, Göran Uddeborg, Hans de Goede, Harald Brinkmann,
Heinrich Schuchardt, Henry Li, Holger Assmann, Ivan Kruglov,
Ivan Shapovalov, Jakub Sitnicki, James Muir, Jan Engelhardt,
Jan Macku, Jeff King, JmbFountain, Joakim Nohlgård,
Jonathan Conder, Julius Alexandre, Jörg Behrmann, Keian, Kirk,
Kristian Klausen, Krzesimir Nowak, Lars Ellenberg,
Lennart Poettering, Luca Boccassi, Ludwig Nussel, Lukáš Nykrýn,
Luna Jernberg, Luxiter, Maanya Goenka, Mariano Giménez,
Markus Merklinger, Martin Ivicic, Martin Srebotnjak,
Martin Trigaux, Martin Wilck, Matt Layher, Matt Muggeridge,
Matteo Croce, Matthias Lisin, Max Gautier, Max Staudt, MaxHearnden,
Michael Biebl, Michal Koutný, Michal Sekletár, Mike Gilbert,
Mike Yuan, Mikko Ylinen, MkfsSion, MrSmör, Nandakumar Raghavan,
Nick Cao, Nick Rosbrook, Norbert Lange, Ole Peder Brandtzæg,
Ondrej Kozina, Oğuz Ersen, Pablo Méndez Hernández,
Pierre GRASSER, Piotr Drąg, QuonXF, Rafaël Kooi, Raito Bezarius,
Rasmus Villemoes, Reid Wahl, Renjaya Raga Zenta, Richard Maw,
Roland Hieber, Ronan Pigott, Rose, Ross Burton, Sam Leonard,
Samuel BF, Sarvajith Adyanthaya, Sergei Zhmylev, Sergey A, Shulhan,
SidhuRupinder, Simon Fowler, Sludge, Stuart Hayhurst, Susant Sahani,
Takashi Sakamoto, Temuri Doghonadze, Thilo Fromm, Thomas Blume,
TobiPeterG, Tobias Fleig, Tomáš Pecka, Topi Miettinen,
Tycho Andersen, Unique-Usman, Usman Akinyemi, Vasiliy Kovalev,
Vasiliy Stelmachenok, Vishal Chillara Srinivas, Vitaly Kuznetsov,
Vito Caputo, Vladimir Stoiakin, Werner Sembach, Will Springer,
Winterhuman, Xiaotian Wu, Yu Watanabe, Yuri Chornoivan,
Zbigniew Jędrzejewski-Szmek, Zmyeir, aslepykh, chenjiayi,
cpackham-atlnz, cunshunxia, djantti, hfavisado, hulkoba, ksaleem,
medusalix, mille-feuille, mkubiak, mooo, msizanoen, networkException,
nl6720, r-vdp, runiq, sam-leonard-ct, samuelvw01, sharad3001, sushmbha,
wangyuhang, zzywysm, İ. Ensar Gülşen, Łukasz Stelmach,
Štěpán Němec, 我超厉害, 김인수

— Edinburgh, 2024-06-11

Vous êtes invité à télécharger l'archive tar ici si vous souhaitez le compiler vous-même.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Projets libres ! Episode 26 : Odoo Community Association

Pour ce nouvel épisode de Projets libres !, nous partons à la rencontre de l'association communautaire Odoo, l'OCA (Odoo Community Association).

Nous avons le plaisir de recevoir Joël Grand-Guillaume, son président.
Ensemble nous abordons les thèmes suivants :

  • les enjeux de sa création
  • son fonctionnement et sa gouvernance
  • son financement
  • les rapports avec l'éditeur Odoo et les évolutions de ce dernier
  • sa communauté
  • les grands défis de son avenir

L'épisode possède une transcription et une traduction en anglais.

Bonne écoute !

Commentaires : voir le flux Atom ouvrir dans le navigateur

Vidéos des dernières conférences

Le festival Pas Sage En Seine (société, internet, liberté) a eu du 31 mai au 2 juin 2024. Les vidéos ont été publiées (annonce des vidéos April).

L'April a publié treize transcriptions au mois de mai 2024, ce qui correspond à dix heures et trois minutes d’enregistrements audio ou de vidéos.

La « conférence pour l'éthique et la diversité dans la tech avec des crêpes et du cœur » MiXiT a eu lieu en avril. Les vidéos ont été publiées (une sélection par Frédéric Couchet).

L'OW2con 2024 a eu lieu les 11 et 12 juin 2024. Les vidéos ne sont pas encore disponibles (voir celles de 2023).

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    À partir d’avant-hierLinuxFr.org : les dépêches

    Bien débuter avec la distribution Manjaro Linux

    Manjaro est une distribution GNU/Linux basée sur Arch Linux.
    Arch Linux est réputée être une distribution fiable, mais difficile et longue à installer et à configurer. Manjaro propose de reprendre les bons côtés d’Arch mais en simplifiant l’installation et la configuration. Manjaro est tout à fait adaptée à un débutant.

    Ma vie : j’utilise Manjaro depuis sept ans et je l’ai installée sur les quatre ordinateurs de la maison. Je suis fan et je la conseille aujourd’hui à tout le monde ! Cette dépêche ne sera donc pas un test de la distribution mais un retour d’expérience proposant quelques astuces pour installer, utiliser et maintenir Manjaro.

    Cette dépêche est une mise à jour d’une ancienne dépêche : https://linuxfr.org/news/bien-debuter-avec-manjaro-linux.

    Sommaire

    Le tour de la distribution

    Installation

    L’installation se déroule assez classiquement (Manjaro utilise Calamares comme beaucoup d'autres distributions) en téléchargeant une image ISO que vous pouvez flasher sur une clé USB, avec Etcher par exemple. Ensuite, vous pouvez démarrer sur la clé, tester la distribution et utiliser le bouton « Installer Manjaro », puis suivre les étapes pour l’installer sur votre disque. Cela se fait très simplement et rapidement, et je ne reprendrai pas ici le déroulement de l’installation, car il existe de nombreux guides, qui sont finalement à peine nécessaires.

    Choix des interfaces graphiques

    Manjaro est disponible officiellement avec trois environnements de bureau : Xfce, KDE et GNOME. Pour chaque bureau, le thème et les couleurs Manjaro sont reprises, je trouve que les thèmes par défaut sont très agréables et très bien intégrés.

    L’environnement GNOME :
    L’environnement GNOME

    L’environnement Xfce :
    L’environnement XFCE

    L’environnement KDE :
    L'environnement KDE

    Il existe également d’autres environnements de bureau proposés par la communauté. Je vous laisse en découvrir la liste !

    De mon côté, j’ai une préférence pour GNOME, c’est pourquoi les captures et les explications suivantes seront réalisées avec cet environnement.

    Les mises à jour

    Tout comme Arch, Manjaro est une rolling release, c’est‑à‑dire que les mises à jour sont mises à disposition en continu. Vous passez d’une version de la distribution à une autre (par exemple de la 23.3 à la 24.0) sans vous en rendre compte, juste en mettant à jour vos paquets. Vous êtes donc assurés d’avoir toujours une distribution à niveau. Vous n’avez plus ce stress tous les six mois ou tous les deux ans d’avoir une mise à jour complète du système.
    C’est également un avantage lorsque vous rencontrez un problème : la personne qui va vous aider est sûre que vous utilisez la dernière version.

    Cependant, il faut savoir que Manjaro utilise ses propres dépôts et non ceux de Arch. Les paquets vont d’abord être testés avant d'arriver sur Manjaro, parfois un ou deux mois après leur sortie. C’est également pour cette raison que vous recevrez les mises à jour par lots, généralement toutes les deux à trois semaines.

    La gestion des paquets

    Le gestionnaire de paquets (ou Store d’applications pour ceux qui ne sont pas familiers avec Linux) est un élément central d’une distribution GNU/Linux. Celui de Manjaro utilise pamac, un dérivé de pacman qui provient de Arch Linux. Pamac est installé avec une interface graphique disponible pour KDE ou GTK (donc pour GNOME ou XFCE).

    Éviter les problèmes lors des mises à jour

    Les problèmes lors des mises à jour sont rares, mais ils existent et cela reste toujours ennuyeux. Voici quelques conseils pour les éviter :

    • lancer les mises à jour régulièrement, mais attendez tout de même un ou deux jours après leur publication ;
    • plutôt que d’exécuter les mises à jour via l’interface graphique, utilisez une console avec la commande :

      sudo pamac update -a

    • lors de chaque mise à jour, il y a une nouvelle entrée dans le forum Annoucements - Stable Updates. Un sondage permet de savoir combien de personnes ont eu un problème avec cette mise à jour, cela permet d’avoir une idée sur sa stabilité ;
      Mise à jour Manjaro

    • cette entrée du forum liste les bugs découverts pour cette mise à jour et les solutions pour résoudre les problèmes rencontrés ;
      Problèmes Manjaro

    • si la mise à jour paraît dangereuse pour votre système, lancez la via SSH ou via une console virtuelle (Ctrl + Alt + F3), en dehors de votre interface graphique.

    Avant de prendre ces précautions, il m’est arrivé une ou deux fois d’avoir un problème au redémarrage, mais depuis, plus jamais de problème pour moi ! Et puis, je ne vais pas vous refaire la morale sur les sauvegardes à faire régulièrement. :)

    Manjaro ne démarre plus : Utilisez le manjaro-chroot !

    Avertissement : Cette méthode ne fonctionne pas avec le système de fichiers Btrfs

    Si malgré ces précautions, Manjaro ne démarre plus (cela m'est arrivé lorsque mon PC s'est arrêté en cours de mise à jour), il me reste une astuce : l'outil chroot de Manjaro.
    L'idée est de :
    - Démarrer sur la clé USB avec l'image d'installation Manjaro
    - Se connecter au système installé sur le disque dur
    - Réparer le système en ligne de commande

    Donc, démarrez Manjaro avec une clé USB (ou un DVD) comme vous l'avez fait pour l'installation.
    Il faut monter les partitions sur lesquelles votre Manjaro est installée. Pour cela, utilisez le gestionnaire de fichiers et cliquez sur + Autres emplacements et cliquez sur la (ou les) partition(s) Manjaro pour les monter.

    Montage des disques

    Lancez un terminal et la commande :
    manjaro-chroot -a

    L'outil cherche alors l'emplacement de votre système et le monte automatiquement.

    Vous pouvez alors lancer la commande que vous désirez sur le système qui ne démarre pas. Par exemple, pour terminer une mise à jour :
    pamac update -a

    Entrée dans le chroot

    Installer des applications

    Manjaro a développé une interface graphique (Pamac) pour chercher, installer et mettre à jour vos paquets.

    pamac

    Ajouter d'autres dépôts

    Beaucoup de paquets sont disponibles sur Arch, mais il existe la possibilité d'ajouter d'autres dépôts via pamac. Allez pour cela dans les préférences de pamac et activez les dépôts AUR, Flatpak et Snap.

    Pour accéder aux paquets snap, il faut installer le paquet
    libpamac-snap-plugin

    pamac

    Voici maintenant ce que trouve Pamac lors d'une recherche du paquet Freecad :

    pamac

    Vous pouvez remarquer en colonne de gauche que vous pouvez installer des paquets de différentes provenances (dépôts officiels, AUR, Snap et Flatpak). C’est très important de comprendre d’où viennent vos paquets pour garantir la stabilité de votre système.

    Je vais maintenant vous expliquer ce que sont ces dépôts et comment choisir parmi ceux-ci :

    Dépôts officiels

    Lorsque le paquet que vous recherchez est disponible dans les dépôts officiels, il faut privilégier ce type d’installation. C’est seulement si vous rencontrez un problème lors de l’exécution de l’application que vous pouvez l’installer via une autre source.

    Flatpak et Snap

    Snap et Flatpak sont deux magasins (Store) d’applications GNU/Linux qui poursuivent le même but : donner accès à des paquets qui peuvent être utilisés sur toutes les distributions.

    Ces paquets prennent plus de place sur le disque dur car ils créent leur propre environnement d’exécution et utilisent donc moins de composants de Manjaro. Cependant, certains paquets ne sont tout simplement pas proposés par les dépôts Manjaro : Flatpak et Snap pourront alors vous sauver !

    Manjaro vous permet d’installer et désinstaller des paquets Snap et Flatpak très facilement depuis l’interface et il ne faut pas s’en priver pour tester des applications, cela ne va pas alourdir le système après désinstallation.

    Alors, comment choisir entre Flatpak et Snap ? Ce sont des concurrents, mais en gros :

    • la taille des paquets Flatpak est plus petite que Snap (moins de choses sont encapsulées) ;
    • Snap est propriété de Canonical (l’éditeur d’Ubuntu).

    Donc, je vous conseillerais de privilégier Flatpak, et ensuite si cela ne fonctionne pas, d’utiliser Snap.

    AUR

    Enfin, il existe les paquets AUR (Arch User Repository), c’est un ensemble de paquets créés par les utilisateurs avant de rentrer dans les dépôts officiels. Ces paquets sont des listes de commandes qui permettent de compiler les sources du logiciel ou de télécharger et d'installer du code propriétaire. Parfois, ils ne sont plus maintenus ou contiennent des bogues, il faut donc les installer avec grande précaution.

    Il y a également un problème technique avec les paquets AUR sur Manjaro, cela attire d'ailleurs de nombreuses critiques des utilisateurs Arch Linux vis à vis de Manjaro.
    Manjaro utilise ses propres dépôts avec parfois des mises à jours de paquets qui arrivent plusieurs mois après être dans Arch Linux. Par contre, si vous installez un paquet AUR, il sera dans la même version que sur Arch.
    Cela peut donc conduire à des dysfonctionnements sur Manjaro qu'il n'y a pas sur Arch. Comme les développeurs de AUR sont majoritairement sur Arch, cela les agace.

    Je déconseille d’installer des logiciels depuis AUR, mais cela peut rester pratique dans certains cas (voir même l'unique solution). Personnellement, j’ai installé l’un de ces paquets pour mon imprimante Brother ou ma tablette graphique et cela fonctionne très bien.

    Conclusion

    Pour résumer :

    • dépôts officiels à privilégier pour l'installation de vos paquets ;
    • Flatpak à utiliser si non disponibles dans les dépôts ou si on veut seulement installer l’application pour un test ;
    • Snap à utiliser si le paquet Flatpak ne fonctionne pas ;
    • AUR déconseillé, à utiliser avec grande précaution.

    Pamac est donc un point fort pour Manjaro, il permet, d’installer des paquets provenant de diverses sources et de disposer de versions très récentes. Malgré cela, le système reste très stable grâce au travail de la communauté Arch en amont et de la gestion des paquets Snap et Flatpak.

    Utiliser et configurer Manjaro GNOME

    Pas facile de s’y retrouver ici pour un débutant, c’est pourquoi je vais essayer de détailler certains outils. Ici, je ne vais parler que de la configuration avec Manjaro GNOME. Si vous utilisez KDE ou Xfce, ils seront peut-être différents, et peut-être plus centralisés…

    Voici les différents outils qui vous permettent d'accéder à la configuration de Manjaro Gnome graphiquement :

    • GNOME control center - Aussi nommé Paramètres : Permet de configurer Gnome, mais aussi le système (Écrans, réseau, etc)
    • GNOME tweak tools - Aussi nommé Ajustements : Permet de configurer certains paramètres avancés de Gnome (Apparence, applications au démarrage, etc)
    • Gestionnaire de paramètres de Manjaro : Permet de configurer des choses spécifiques à Manjaro (Traductions, noyaux, etc)
    • Layouts : Permet de configurer l'apparence de Gnome mais aussi d'accéder facilement aux outils ci-dessus.

    Rechercher dans le menu Activités

    Si vous cherchez quelque chose sur Manjaro Gnome, commencez par utiliser le menu activité (menu en haut à gauche de la page ou bouton le plus à gauche de la barre d'outils) qui cherchera sur l'ensemble de votre l'ordinateur :
    Gnome - activités

    Ici, Gnome a trouvé l'application déjà installée Lollypop qui permet de lire de la musique, le répertoire Musique et propose des applications à installer en lien avec la musique.

    Gnome - activités

    Ici, Gnome vous propose d'accéder à vos imprimantes, d'en installer de nouvelles ou bien des applications en lien avec l'impression.

    Gestionnaire de paramètres de Manjaro

    Configuration
    Vous retrouverez cet outil sur tous les environnements Manjaro. Les icônes sont assez explicites pour savoir ce qu'elles permettent de gérer. Voici cependant quelques précisions :

    • paquets linguistiques, c’est là qu’il faut aller si vous avez une application qui n’est pas traduite en français, c'est le cas par défaut pour Firefox ou Thunderbird ;
    • noyau, pour faire fonctionner certains matériels, il faut parfois changer de noyau ;
    • configuration matérielle, permet de connaître le matériel présent dans votre ordinateur et d’installer des pilotes propriétaires, ceux des cartes graphiques notamment.

    Pour lancer cette application, cherchez Manjaro Gestionnaire dans le menu activités. Il est dommage que le sélecteur d'activités de Gnome ne liste pas les fonctionnalités incluses dans cette application.

    Paramètres GNOME (GNOME control center)

    Configuration

    L’application GNOME Center permet de gérer tout ce qui va avec l’environnement GNOME :

    • les notifications ;
    • les applications par défaut ;
    • l’accessibilité.

    Mais vous pouvez aussi configurer des choses en lien avec le matériel :

    • ajouter une imprimante ;
    • configurer le réseau ;
    • gérer les écrans.

    Configuration

    Et aussi, il y a des choses en doublon avec le gestionnaire de paramètres Manjaro :

    • régler la date et l’heure ;
    • créer un compte utilisateur.

    Cependant, le menu Activités cherche parmi les options du Gnome control center, donc, je préfère passer par ce menu.

    Ajustements GNOME (GNOME tweak tools)

    Pour brouiller un peu mieux les pistes, GNOME propose un autre gestionnaire de paramètres.
    Configuration

    Il permet par exemple de :

    • choisir le thème GNOME utilisé ;
    • régler les polices de caractères ;
    • modifier la barre supérieure des fenêtres.

    Bref, tout ce qui n'est pas dans le gestionnaire de paramètres.

    Extensions GNOME (Extensions)

    Configuration
    GNOME propose également une interface pour gérer les extensions qui apportent des fonctionnalités (par exemple, la barre de lancement d’applications Dash to Dock qui est installée par défaut sur Manjaro GNOME).

    Conclusion

    La facilité de paramétrage de Manjaro GNOME, n’est certainement pas son point fort pour le débutant : tout est là, mais il faut chercher ! La solution est sans doute dans l’une des applications listée ci‑dessus…
    Pour les versions KDE et XFCE, le nombre d’outils semble plus limité : ouf !

    La communauté

    Manjaro est un projet communautaire. Le site propose à la vente du matériel informatique pour soutenir le projet. Cette année, il y a eu un peu de rififi et le départ de certains développeurs importants. À l’utilisation de la distribution, cela ne s’est pas ressenti.

    Pour la documentation, le wiki Manjaro ne m’a jamais été d’une grande aide non plus. En revanche, le wiki Arch est une référence en la matière et vous pourrez trouver beaucoup d’informations pour la configuration avancée (serveur, système, etc.). La version en français mérite également le coup d’œil.

    Pour poser vos questions ou chercher une réponse, il y a le forum Manjaro officiel et un forum en français très actif et sympathique.

    Les alternatives à Manjaro

    Manjaro essuie un nombre assez important de critiques, je vais en lister quelques unes ici :
    - Elle possède ses propres dépôts, d'où des problèmes avec les paquets AUR
    - Elle profite du travail de Arch et propose du merchandising

    Si cela est bloquant pour vous, vous pouvez essayer trois autres distributions :
    - ArchLinux bien sûr ! Un peu moins pour les débutants, mais sa réputation est faite !
    - EndeavourOS est une alternative, plus proche de Arch que Manjaro mais plus simple à installer que Arch
    - Garuda Linux : Quelqu'un pour faire une description de cette distrib ?

    Pour finir

    J’ai écrit cet article pour les personnes qui débutent avec Manjaro, mais j’aurais pu également évoquer le shell zsh par défaut, l’installation automatique de tout mon matériel, de l’extension Dash to Dock installée et configurée par défaut, ainsi que la stabilité de l’ensemble…

    Comme toutes les distributions GNU/Linux, elle convient bien sûr à des utilisateurs plus avancés. De mon côté, après être passé par Mandrake, Ubuntu, Linux Mint, Debian Sid, me voilà pleinement satisfait avec Manjaro !

    Ceci étant dit, je pense que le choix d'une distribution linux n'est plus aussi important qu'il l'était il y a dix ans. On navigue entre le bon, le très bon et l'excellent ! Difficile de se tromper.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    GIMP 2.10.38 est sorti

    Note : cette dépêche est une traduction de l'annonce officielle de la sortie de GIMP 2.10.38 du 3 mai 2024 (en anglais).

    Cette (peut-être dernière) version stable de GIMP 2 apporte des rétroportages très demandés de GTK3, y compris une prise en charge améliorée des tablettes sous Windows. Un certain nombre de corrections de bugs et d’améliorations mineures sont également incluses dans cette version.

    Sommaire

    Cette actualité répertorie les changements les plus notables et visibles. En particulier, nous ne répertorions pas toutes les corrections de bogues ou améliorations mineures. Pour obtenir une liste plus complète des modifications, vous devez vous référer au fichier NEWS ou consulter l'historique des commits.

    Nouvelles fonctionnalités et améliorations

    Prise en charge améliorée des tablettes sous Windows

    Avant cette version, GIMP prenait uniquement en charge la connexion de tablettes sous Windows via les pilotes WinTab plutôt que les nouveaux pilotes Windows Ink. Pour cette raison, nous avons reçu un certain nombre de rapports concernant des tablettes présentant des problèmes avec des boutons qui ne répondent pas, une sensibilité à la pression incorrecte, un mouvement de brosse retardé et des changements de position à mi-course.

    Ces problèmes étaient dus à une limitation de GTK2, car la prise en charge de Windows Ink a été implémentée dans GTK3 par Luca Bacci, contributeur de longue date. Pour cette version, Luca a eu la gentillesse de rétroporter ce support vers GTK2. Vous pouvez désormais basculer entre les pilotes WinTab et Windows Ink (s’ils sont pris en charge par votre ordinateur) dans la boîte de dialogue Préférences sous les paramètres du périphérique d’entrée.

    Windows Pointer Input API option in GIMP 2.10.38
    Windows Pointer Input API peut être changé maintenant - GIMP 2.10.38

    Rétroportages d’autres fonctionnalités de GTK3

    Luca a également contribué à plusieurs autres fonctionnalités portées de GTK3 à GTK2. Certaines des améliorations rétroportées incluent la mise à jour de la taille de la boîte de dialogue d’impression afin que les boutons ne soient pas coupés, la résolution de problèmes avec les boîtes de dialogue contextuelles apparaissant derrière les précédentes et plusieurs correctifs concernant la saisie au clavier.

    Ces améliorations concernent principalement Windows et sont déjà incluses dans la version de développement 2.99. Cependant, nous sommes très heureux que ces améliorations de la qualité de vie soient désormais disponibles dans cette version stable de GIMP 2.10 !

    Corrections de bogues

    Crashs récents

    Deux crashs fréquemment signalés ont été corrigés. Un changement dans GLib 2.80 a exposé un bogue dans notre processus de fermeture et provoqué un crash à la sortie. Luca Bacci a une fois de plus conçu un correctif pour la version 2.10.38 et la prochaine version candidate 3.0. Un autre crash que certains utilisateurs rencontraient lors de très petites sélections a également été corrigé.

    Autres correctifs

    Un certain nombre d’autres petits bugs ont été corrigés dans cette version. Parmi eux :

    • Les PNG indexés avec transparence sont désormais exportés avec les bonnes couleurs
    • Anders Jonsson a corrigé les plages d’entrée de plusieurs filtres tels que Waves et Distort
    • Le champ de personnalisation de la barre de titre prend désormais en charge les caractères UTF-8
    • Les commentaires d’images existants ne « fuient » plus dans les images nouvellement créées

    Statistiques de sortie

    Depuis GIMP 2.10.36 :

    • 16 rapports ont été clos comme CORRIGÉS dans la version 2.10.38
    • 9 demandes de fusion ont été exécutées
    • 81 commits ont été poussés
    • 1 nouvelle traduction a été ajoutée : kabyle
    • 16 traductions ont été mises à jour : biélorusse, portugais brésilien, anglais britannique, danois, géorgien, allemand, grec, hongrois, islandais, italien, norvégien nynorsk, slovène, espagnol, suédois, turc, espagnol

    25 personnes ont apporté des modifications ou des correctifs à la base de code de GIMP 2.10.36 (l’ordre est déterminé par le nombre de commits) :

    • 7 développeurs : Alx Sa, Jehan, Luca Bacci, Jacob Boerema, Lukas Oberhuber, lillolollo, Øyvind Kolås
    • 19 traducteurs : Kolbjørn Stuestøl, Sabri Ünal, Bruce Cowan, Yuri Chornoivan, Vasil Pupkin, Anders Jonsson, Rodrigo Lledó, Jürgen Benvenuti, Sveinn í Felli, Andi Chandler, Juliano de Souza Camargo, Ekaterine Papava, Balázs Úr, Martin, Philipp Kiemle, Alan Mortensen, Dimitris Spingos, Marco Ciampa, Yacine Bouklif

    Contributions sur d’autres dépôts du GIMPverse (l’ordre est déterminé par le nombre de commits) :

    • La branche gimp-2-10 de gimp-macos-build (scripts de build macOS) a eu 30 commits depuis la version 2.10.36 par 2 contributeurs : Lukas Oberhuber, Bruno Lopes.
    • La version flatpak est composée de 11 commits par 3 contributeurs : Jehan, Hubert Figuière et Bruno Lopes.
    • Notre site Web principal a eu 42 commits depuis la sortie du 2.99.18 par 4 contributeurs : Jehan, Alx Sa, Andre Klapper et Lukas Oberhuber.
    • Notre site Web du développeur a enregistré 34 commits depuis la version 2.99.18 par 6 contributeurs : Bruno Lopes, Jehan, Alx Sa, bootchk, Alpesh Jamgade et Robin Swift.
    • Notre documentation 2.10 a eu 35 commits depuis la version 2.10.36 par 8 contributeurs : Alan Mortensen, Anders Jonsson, Rodrigo Lledó, Jacob Boerema, Kolbjørn Stuestøl, Marco Ciampa, Andi Chandler et Vittor Paulo Vieira da Costa.

    N’oublions pas de remercier toutes les personnes qui nous aident à trier dans Gitlab, rapportent des bugs et discutent avec nous d’éventuelles améliorations. Notre communauté est également profondément reconnaissante envers les guerriers d’Internet qui gèrent nos différents canaux de discussion ou comptes de réseaux sociaux tels que Ville Pätsi, Liam Quin, Michael Schumacher et Sevenix !

    Remarque : compte tenu du nombre de composants dans GIMP et son univers, et de la manière dont nous obtenons des statistiques via les scripts git, des erreurs peuvent se glisser dans ces statistiques. N’hésitez pas à nous dire si nous avons manqué ou mal catégorisé certains contributeurs ou contributions.

    Nouvelles de l’équipe et processus de publication

    Idriss, contributeur du GSoC 2023, a récemment obtenu un accès « développeur » sur le référentiel source principal, pour le travail formidable qu’il a continué depuis lors.

    Ville Pätsi, contributeur de très longue date (plus de 20 ans !), sur divers sujets (design, thématisation et plus) a obtenu l’accès « reporter » à Gitlab pour aider au tri et à l’organisation directement dans le tracker.

    Autour de GIMP

    Des nouvelles des miroirs

    Depuis nos dernières nouvelles, 3 nouveaux miroirs accueillent GIMP :

    • Clarkson Open Source Institute, États-Unis
    • FCIX, Suisse
    • Tomás Leite de Castro, Portugal

    Cela nous amène à un total de 49 miroirs répartis dans le monde.

    Les miroirs sont importants, car ils aident le projet en partageant la charge de dizaines de milliers de téléchargements quotidiens. De plus, en disposant de miroirs répartis à travers le monde, nous garantissons que tous aient un accès rapide au téléchargement de GIMP.

    Sponsors d’infrastructure et de matériel

    Nous avons amélioré la page sponsor avec 2 sections :

    • "Infrastructure Sponsors" répertorie les sponsors qui aident GIMP au niveau de l’infrastructure :

      • CircleCI et MacStadium rendent possible notre plateforme d’intégration continue macOS.
      • Arm Ltd. sponsorise et administre plusieurs exécuteurs « Aarch64 » sur Windows pour notre version ARM 64 bits pour Windows ; et Microsoft avait offert des frais uniques pour leur Microsoft Store.
    • "Hardware Sponsors" répertorie les sponsors qui ont fait don de matériel aux contributeurs pour les aider dans leur travail de développement :

      • Arm Ltd. a récemment fait don d’un kit de développement Windows 2023 pour prendre en charge notre récent support Aarch64/Windows.
      • Purism a fait don d’un Librem Mini en 2021.

    Télécharger GIMP 2.10.38

    Vous trouverez toutes nos builds officielles sur le site officiel de GIMP (gimp.org) :

    • Flatpaks Linux pour x86 et ARM (64 bits)
    • Installateur Windows universel pour x86 (32 et 64 bits) et pour ARM (64 bits)
    • Paquets macOS DMG pour le matériel Intel
    • Paquets macOS DMG pour le matériel Apple Silicon

    D’autres paquets réalisés par des tiers devraient évidemment suivre (paquets des distributions Linux ou *BSD, etc.).

    Et ensuite ?

    C’est clairement l’une des plus petites versions de la série 2.10, et elle pourrait être notre dernière. Nous verrons, même si nous savons aussi que certaines personnes restent bloquées plus longtemps que d’autres sur des séries plus anciennes (en particulier lors de l’utilisation des distributions Long Term Support (LTS) de systèmes d’exploitation de logiciels libres), si nous pourrions donc faire (si nous pensons que c’est nécessaire), une version 2.10.40 avec des corrections de bogues juste avant ou juste après la sortie de GIMP 3.0.0, en guise de conclusion.

    Dans tous les cas, nous arrêtons désormais le rétroportage des fonctionnalités de la série 2.10. Ces améliorations de la prise en charge des tablettes graphiques pour Windows sont suffisamment importantes pour qu’elles aient dû être intégrées ; mais à partir de maintenant, nous voulons nous concentrer uniquement sur la sortie de GIMP 3.0.0.

    Maintenant, vous vous demandez peut-être quand cela se produira-t-il ? Très bientôt ! Nous sommes sur le dernier sprint vers la release candidate. Cela inclut de nombreuses corrections de bugs, mais également des modifications de l’API en cours. Nous vous tiendrons au courant !

    N’oubliez pas que vous pouvez faire un don et financer personnellement les développeurs de GIMP, comme moyen de redonner et accélérer le développement de GIMP. L’engagement communautaire permet au projet de se renforcer ! 💪🥳

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌
    ❌