❌

Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraĂźchir la page.
À partir d’avant-hierFlux principal

La conquĂȘte de l’espace : une affaire fĂ©minine, premiĂšre partie du NACA Ă  la NASA

Pour cette journĂ©e Ada Lovelace, on vous invite Ă  la conquĂȘte de l’espace, une histoire qui n’aurait peut-ĂȘtre pas pu se faire sans les femmes. Pas uniquement parce que ce sont des femmes : les anonymes qui ont tressĂ© les mĂ©moires en tore de ferrite des missions Apollo, ou les plus connues qui ont voyagĂ© dans l’espace. Mais aussi parce qu’elles ont calculĂ© ou codĂ© les explorations spatiales. Et comme c’est un sujet vaste, il s’agit, pour l’instant, de la premiĂšre partie consacrĂ©e Ă  trois femmes afro-amĂ©ricaines qui ont travaillĂ© au NACA puis Ă  la NASA : Dorothy Vaughan (1910 – 2008), Katherine Johnson (1919-2020) et Mary Jackson (1921 – 2005). Les portraits de ces trois femmes sont prĂ©cĂ©dĂ©s d’une chronologie de la conquĂȘte de l’espace.

Journée Ada Lovelace

Sommaire

Préambule

La journĂ©e Ada Lovelace (en) (Ada Lovelace Day ou ALD en anglais) est une journĂ©e internationale consacrĂ©e aux rĂ©alisations des femmes en science, technologie, ingĂ©nierie et mathĂ©matiques (STIM ou STEM en anglais). Elle a lieu le deuxiĂšme mardi du mois d’octobre. En 2023, cette journĂ©e avait Ă©tĂ©, pour LinuxFr.org, l’occasion d’évoquer Lorinda Cherry, membre de l’équipe de conception d’Unix, Evi Nemeth et la premiĂšre hackeuse Judith Milhon. Et c’est, on l’aura peut-ĂȘtre compris, surtout un prĂ©texte pour parler de l’histoire de l’informatique.

Cette dĂ©pĂȘche et sa suivante sont malheureusement amĂ©ricano-centrĂ©es. Et ce pour la bonne et simple raison que, s’il est facile de trouver de l’information sur les cosmonautes russes, en trouver sur les informaticiennes est beaucoup plus ardu. En fait, on n’en a pas trouvĂ© d’autre que Rozetta Zhilina (en), 1933 – 2003, qui a plutĂŽt travaillĂ© dans un contexte militaire et dont la spĂ©cialitĂ© Ă©tait les algorithmes en balistique et Ekaterina Samoutsevitch, nĂ©e en 1982, membre du groupe de punk-rock fĂ©ministe les Pussy Riot. C’est d’autant plus regrettable que l’URSS avait une rĂ©elle avance en matiĂšre de conquĂȘte de l’espace. Avance que la Russie a toujours sur certains points. Par exemple, le cĂŽtĂ© russe de la station spatiale internationale a des toilettes prĂ©vues pour que les femmes puissent avoir leur rĂšgles et changer ainsi leurs protections hygiĂ©niques.

Les portraits des trois femmes qui figurent ci-dessous peuvent sembler assez idylliques. Dans la rĂ©alitĂ© elles ont dĂ» affronter beaucoup de difficultĂ©s du fait de leur groupe ethnique et de leur genre : mĂ©prisĂ©es par les hommes blancs, peu valorisĂ©es, Dorothy Vaughan n’aura pas eu la promotion Ă  laquelle elle pouvait prĂ©tendre du fait de ses fonctions, Mary Jackson verra sa carriĂšre bloquĂ©e, et souvent pas assez outillĂ©es pour leur travail. Par exemple, Katherine Johnson n’aura pas toujours accĂšs Ă  l’intĂ©gralitĂ© des donnĂ©es dont elle avait besoin dans le cadre de son travail pour le « SpaceTask Group Â».

Les portraits des femmes seront donnĂ©s dans l’ordre chronologique de leur naissance.

La conquĂȘte de l’espace en quelques dates

La conquĂȘte de l’espace a Ă©tĂ© d’abord marquĂ©e par la lutte entre les deux grands blocs : Est contre Ouest, la « Course Ă  l’espace Â» (Race for Space en anglais). La Russie soviĂ©tique ayant conservĂ© pendant plusieurs annĂ©es son avance sur les USA. Une chronologie qui s’arrĂȘte Ă  la fin du programme Apollo et qui est centrĂ©e sur les rĂ©alisations des deux gĂ©ants.

Un aperçu de la chronologie de la conquĂȘte dans l’espace
Un rendu un peu plus visuel des dates qui sont données ci-aprÚs, la Russie est dans la colonne de gauche, les USA dans celle de droite. Le document est téléchargeable au format fichier pdf hybride et nettement plus lisible.

1957 : la Russie envoie dans l’espace le Spoutnik 1, premier satellite artificiel en octobre. En novembre c’est la chienne LaĂŻka qui s’envole, c’est le premier animal vivant Ă  rĂ©aliser une orbite dans l’espace.

1958 : crĂ©ation de la NASA.

1960 : les deux chiennes, Belka et Strelka que la Russie soviĂ©tique avait envoyĂ©es dans l’espace reviennent vivantes de leur vol orbital, ainsi que le lapin et les souris qui les accompagnaient.

1961 : en janvier, la NASA envoie le chimpanzĂ© Ham accomplir un vol orbital. En avril c’est le Russe Youri Gagarine qui s’envole et devient le premier homme Ă  avoir accompli un voyage dans l’espace, ainsi que la coqueluche des foules. Dix mois aprĂšs les Russes, le 20 fĂ©vrier 1962, les USA envoient John Glenn pour accomplir un vol orbital. La mĂȘme annĂ©e, en dĂ©cembre, la sonde Mariner 2 survole VĂ©nus. Le Royaume-uni et le Canada envoient leur premier satellite en orbite.

1963 : la cosmonaute russe Valentina Terchkova est la premiĂšre femme Ă  aller dans l’espace et, Ă  ce jour, la seule Ă  y avoir effectuĂ© une mission en solo. Le 18 mars 1965, le cosmonaute soviĂ©tique AlexeĂŻ Leonov effectue la premiĂšre sortie dans l’espace. En juillet, la sonde amĂ©ricaine Mariner 4 survole Mars. La mĂȘme annĂ©e, la France lance la fusĂ©e-sonde LEX, l’Italie un satellite. La sonde russe Luna 9 se pose sur la Lune le 3 fĂ©vrier 1966. Luna 10, quant Ă  elle, se placera en orbite autour du satellite de la Terre.

1968 : septembre dans le cadre de la mission russe Zond 5, un vaisseau habitĂ© par des tortues survole la lune. DĂ©cembre, c’est au tour de la NASA d’envoyer un vaisseau habitĂ© vers la lune. Elle envoie un Ă©quipage en orbite lunaire, mission Apollo 8.

Juillet 1969 : tandis que les Russes lancent leur premiĂšre navette spatiale, BOR-2, elle servira au programme Bourane, la mission Apollo 11 envoie Neil Armstrong et Buzz Aldrin sur la Lune.

1971 : en avril, les Russes lancent Saliout 1, premiĂšre station spatiale habitĂ©e. En novembre, la sonde amĂ©ricaine Mariner 9 orbite autour de Mars. En dĂ©cembre, la sonde russe Mars 3 se pose en douceur sur Mars.

1972 : Apollo 17 derniĂšre mission lunaire du programme Apollo. La conquĂȘte de l’espace entre dans une autre phase peu aprĂšs.

Le NACA (National Advisory Committee for Aeronautics, en français, ComitĂ© consultatif National pour l’AĂ©ronautique), prĂ©dĂ©cesseur de la NASA

Le NACA est une agence fédérale états-unienne créée en 1915.

Comme son nom le suggĂšre, l’objectif du NACA Ă©tait de favoriser la recherche en aĂ©ronautique, un secteur qui commençait Ă  se dĂ©velopper et sur lequel les États-Unis Ă©taient en retard par rapport Ă  l’Europe. Le centre de recherche Langley du NACA Ă©tait basĂ© Ă  Hampton en Virginie. Dans cette AmĂ©rique sĂ©grĂ©gationniste, les zones de travail entre Blancs et Noirs sont sĂ©parĂ©es, celle de l’unitĂ© de calcul de la zone ouest (West Area Computing Unit) Ă©tant rĂ©servĂ©es aux personnes afro-amĂ©ricaines oĂč travailleront les trois hĂ©roĂŻnes de cette dĂ©pĂȘche. Quand le NACA disparaĂźtra en 1958 pour faire place Ă  la NASA, les secteurs raciaux disparaĂźtront Ă©galement et il n’y sera plus fait, sur le plan des locaux, de distinction entre les personnes selon leur couleur de peau ou selon leur sexe.

On doit au NACA (et peut-ĂȘtre mĂȘme en partie Ă  Mary Jackson) un type de prise d’air la prise d’air NACA qu’on verra par la suite sur Ă  peu prĂšs toutes les voitures Ă  partir de 1956.

Dorothy Vaughan (1910 – 2008), mathĂ©maticienne et informaticienne

Dorothy Vaughan naĂźt en 1910. Elle obtient un Bachelor of Arts (l’équivalent d’une licence) de mathĂ©matique Ă  l’universitĂ© de Wilberforce (Ohio) en 1929, elle a dix-neuf ans. À la suite de ça, elle va enseigner les mathĂ©matiques dans un lycĂ©e afro-amĂ©ricain de Farmville (Virginie).

Arrive la deuxiĂšme guerre mondiale, le gouvernement Ă©tats-unien fait appel aux travailleurs et travailleuses pour soutenir l’effort de guerre, le NACA recrute. Elle candidate au poste de « calculateur Â» Ă  Langley. Elle est recrutĂ©e en dĂ©cembre 1943 et affectĂ©e Ă  l’unitĂ© de calcul de la zone ouest dont l’objet Ă©tait de faire des calculs mathĂ©matiques pour les ingĂ©nieurs qui se livraient Ă  des expĂ©riences aĂ©ronautiques. Pour cela, point d’ordinateur (le premier ordinateur reconnu comme tel date de 1942), mais des rĂšgles Ă  calcul, des calculatrices mĂ©caniques (merci Pascal), et le visionnage de films. Elles fournissaient ainsi aux ingĂ©nieurs les paramĂštres techniques en matiĂšre de vol et de soufflerie.

Au dĂ©part, les chefs de sa section seront des hommes, blancs. Finalement, elle sera promue Ă  la tĂȘte de l’unitĂ© informatique de la zone ouest qu’elle dirigera de 1949 Ă  1958. Elle aura Ă©tĂ© la premiĂšre femme afro-amĂ©ricaine Ă  diriger un dĂ©partement du NACA tout en Ă©tant une mathĂ©maticienne aux compĂ©tences respectĂ©es. Il arrivait ainsi qu’on lui demande personnellement d’effectuer certains calculs complexes. Pendant cette pĂ©riode, elle co-Ă©crira avec deux autres mathĂ©maticiennes, Sara Bullock et Vera Huckel, un manuel de mĂ©thodes algĂ©briques pour les machines Ă  calculer utilisĂ©es dans le groupe. Elle participera Ă  la « Course Ă  l’espace Â», cette pĂ©riode oĂč les USA et l’URSS luttaient pour avoir la suprĂ©matie dans le domaine spatial.

Arrive 1958, le NACA est dissout remplacĂ© par la NASA. Elle rejoint le « Numerical Techniques Branch Â» (section des techniques numĂ©riques) et acquiert une expertise en FORTRAN. Elle contribuera au programme de dĂ©veloppement des lanceurs de fusĂ©e Scout. Elle continuera pendant toute sa carriĂšre Ă  apprendre les nouvelles technologies informatiques. Elle formera d’ailleurs ses collĂšgues Ă  ces disciplines.

Elle quitte la NASA en 1971.

AprĂšs sa mort, survenue en 2008, elle reçoit Ă  titre posthume la MĂ©daille d’or du congrĂšs pour son travail pour la NASA.

Katherine Johnson (1918 – 2020), la calculatrice humaine

Katherine Johnson est nĂ©e en 1918. Elle fait ses Ă©tudes au West Virginia State College, qui deviendra l’universitĂ© d’État de Virginie occidentale (West Virginia State University). Elle en sort en 1937 avec un diplĂŽme de mathĂ©matiques et de français. Elle intĂšgre en 1939, avec deux autres Ă©tudiants afro-amĂ©ricains, l’universitĂ© de Virginie occidentale qui accueille ainsi ses tout premiers Ă©tudiants afro-amĂ©ricains. Elle obtiendra un doctorat (PhD) de mathĂ©matiques.

Elle est recrutĂ©e en juin 1953 par le NACA oĂč elle intĂšgre la section de calcul de Langley. Elle fait partie des calculateurs humains noirs dans cette AmĂ©rique qui pratique encore la sĂ©grĂ©gation raciale, plus prĂ©cisĂ©ment des calculatrices car la section Ă©tait purement fĂ©minine. Deux semaines aprĂšs son entrĂ©e en fonction, Dorothy Vaughan l’assigne Ă  un projet dans la branche des charges de manƓuvre (Maneuver Loads Branch) de la division des Recherches en vol (the Flight Research Division) pĂ©rennisant ainsi son poste. Elle effectuera toute sa carriĂšre Ă  la NASA qu’elle quittera en 1986.

L’annĂ©e 1957 est une annĂ©e charniĂšre dans sa carriĂšre et dans la conquĂȘte l’espace : la Russie, on l’a vu, y envoie le Spoutnik 1, premier satellite artificiel d’une famille de dix qui marque le dĂ©but de la « course Ă  l’espace Â». Elle fournit une partie des calculs des « Notes on Space Technology (en) Â» de 1958. Ces notes font partie d’un cours de technologie spatiale donnĂ© Ă  la division des Recherches en vol du NACA. Elle intĂšgre ainsi le « SpaceTask Group Â» (groupe de travail de l’espace). Quand le NACA sera dissout pour faire place Ă  la NASA, elle suivra naturellement le chemin.

Elle effectuera les analyses de trajectoire pour la capsule spatiale Freedom 7 d’Alan Shepard en mai 1961, premier AmĂ©ricain dans l’espace pour un vol suborbital. En 1960 elle co-Ă©crit avec l’ingĂ©nieur Ted Skopinski la note technique « Determination of Azimuth Angle at Burnout for Placing a Satellite Over a Selected Earth Position (en) Â» qui expose les Ă©quations dĂ©crivant un vol spatial orbital dans lequel la position d’atterrissage du vaisseau spatial est spĂ©cifiĂ©e. Elle sera la premiĂšre femme de la division des Recherches en vol du NACA Ă  ĂȘtre crĂ©ditĂ©e comme auteur.

En 1962, prĂ©paration du vol orbital de John Glenn : elle est appelĂ©e Ă  y participer. C’est une opĂ©ration complexe, qui entraĂźne des calculs complexes eux aussi. Les ordinateurs Ă©taient programmĂ©s pour contrĂŽler la trajectoire de la capsule Friendship 7. Cependant, les astronautes Ă©taient rĂ©ticents Ă  l’idĂ©e de confier leur vie Ă  des machines susceptibles de tomber en panne ou de subir des coupures de courant.

Dans le cadre de la liste de contrĂŽle avant le vol, Glenn avait demandĂ© aux ingĂ©nieurs de « demander Ă  la fille Â» (Johnson) d’exĂ©cuter les mĂȘmes nombres dans les mĂȘmes Ă©quations que celles programmĂ©es dans l’ordinateur, mais Ă  la main, sur sa machine Ă  calculer mĂ©canique de bureau. « Si elle dit qu’ils sont bons Â», se souvient Katherine Johnson, « alors je suis prĂȘt Ă  partir Â». Le vol de Glenn fut un succĂšs et marqua un tournant dans la compĂ©tition entre les États-Unis et l’Union soviĂ©tique dans l’espace.1

Elle aura aussi calculĂ© la synchronisation du module lunaire d’Apollo 11 avec le module de commande et de service en orbite lunaire, ce qu’elle considĂ©rait comme sa plus grande contribution Ă  la conquĂȘte de l’espace. Elle a travaillĂ© aussi sur les navettes spatiales (Space Shuttle) et sur le programme d’observation de la Terre Ă  des fins civiles Landsat (en).

En 2015, Barack Obama la dĂ©core de la plus haute dĂ©coration amĂ©ricaine : la mĂ©daille prĂ©sidentielle de la LibertĂ©.

Mary Jackson (1921 – 2005), l’ingĂ©nieure

Mary Jackson naĂźt le 9 avril 1921 Ă  Hampton, Virginie oĂč elle passera toute sa vie. En 1942 elle obtient un BS en mathĂ©matiques et sciences physiques au Hampton Institute. Elle commence sa carriĂšre professionnelle comme ses deux collĂšgues en tant qu’enseignante dans un Ă©tablissement d’enseignement pour enfants noirs. AprĂšs d’autres emplois (rĂ©ceptionniste, comptable, secrĂ©taire militaire), elle est embauchĂ©e par le NACA et rejoint la section de calcul de la zone ouest en 1951 dirigĂ©e par Dorothy Vaughan.

Deux ans aprĂšs, elle reçoit une proposition de travail pour l’ingĂ©nieur aĂ©ronautique Kazimierz Czarnecki (en) (qui a un homonyme polonais et althĂ©rophile) sur la soufflerie supersonique. Il lui suggĂšre de suivre une formation pour devenir ingĂ©nieure. Ce qu’elle fera avec succĂšs, non sans avoir eu Ă  obtenir une autorisation spĂ©ciale de la ville de Hampton pour suivre les cours car ils se dĂ©roulaient dans l’école secondaire, blanche, de la ville. Elle deviendra la premiĂšre ingĂ©nieure afro-amĂ©ricaine de la NASA en 1958. Elle Ă©crira aussi, avec Czarnecki, cette mĂȘme annĂ©e « Effects of Nose Angle and Mach Number on Transition on Cones at Supersonic Speeds Â» (en). Dans ses fonctions d’ingĂ©nieure aĂ©rospatiale, son travail portera sur l’analyse des donnĂ©es des expĂ©riences en souffleries et en vol Ă  des vitesses supersoniques.

De 1958 Ă  1975, elle aura Ă©crit en tout douze documents techniques pour le NACA et la NASA.

Elle change d’orientation en 1976 (avec diminution de salaire), sa carriĂšre Ă©tant bloquĂ©e pour Ɠuvrer en faveur de l’embauche et de la promotion de la nouvelle gĂ©nĂ©ration d’ingĂ©nieures, de mathĂ©maticiennes et scientifiques de la NASA. Elle prendra sa retraite en 1985. Mary Jackson meurt le 11 fĂ©vrier 2005.

Le siĂšge de la NASA Ă  Washington DC est rebaptisĂ© a sa mĂ©moire en 2020 et s’appelle dĂ©sormais le « Mary W. Jackson NASA Headquarters Â».

Remarques incidentes

Les trois femmes ainsi portraiturĂ©es ont fait l’objet d’un film sorti en 2016 : «Hidden Figures Â» (Les Figures de l’ombre). Dans les pages qui leur sont consacrĂ©es sur le site de la NASA (en), le nom de l’actrice associĂ©e Ă  chaque rĂŽle dans le film est ajoutĂ©. Je me suis beaucoup inspirĂ©e de ces pages d’ailleurs. Il y a aussi, probablement, dans tout cela une excellente affaire de marketing dont on n’a pas l’équivalent pour la Russie qui a une histoire politique plus compliquĂ©e.

Ceci n’était que le premier volet, celui des calculatrices humaines. Le prochain consacrera une partie Ă  l’environnement informatique, tant aux USA qu’en Russie. Il y aura aussi des portraits de femmes (amĂ©ricaines, mais si vous avez des noms et des liens d’informaticiennes russes Ă  suggĂ©rer
) dont, Ă©videmment Margaret Hamilton.

Cette dĂ©pĂȘche ne saurait se terminer sans remercier vmagnin et BenoĂźt Sibaud d’avoir pensĂ© Ă  mes longues soirĂ©es d’automne en m’ouvrant d’autres portes parce qu’en fait ce texte aurait dĂ» n’ĂȘtre qu’en une seule partie et plus court.


  1. Biographie de Katherine Johnson (en sur le site de la NASA. â†©

Commentaires : voir le flux Atom ouvrir dans le navigateur

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

Codeberg, la forge en devenir pour les projets libres ?

Face aux risques que fait peser GitHub sur le monde des logiciels libres suite Ă  son rachat par Microsoft en 2018, une alternative semble avoir percĂ©. Cette dĂ©pĂȘche propose un tour d'horizon des problĂšmes posĂ©s par GitHub et expose comment Codeberg pourrait y rĂ©pondre.
Logo Codeberg

    Sommaire

    Les points forts de Codeberg

    L'association Codeberg e.V. 1 et son projet Codeberg.org ont été fondés en janvier 2019, suite au rachat par Microsoft de GitHub. En plus d'un statut associatif à but non lucratif, ce qui limite les risques de disparition du jour au lendemain, Codeberg est basé en Europe (à Berlin), ce qui est un plus pour nos données personnelles.

    Son logo reprĂ©sente un sommet enneigĂ© sur fond de ciel bleu. En effet, en Allemand, der Berg veut dire la montagne et on pourrait donc traduire Codeberg par une « montagne de code Â». Et effectivement, la communautĂ© compte fin avril 2024 plus de 102 000 utilisateurs et plus de 129 000 projets y sont hĂ©bergĂ©s. L'association qui dirige le projet compte plus de 400 membres. Le financement s'effectue par les dons (dĂ©ductible des impĂŽts en Allemagne) et/ou contributions aux projets sous-jacents Ă  la forge.

    La forge est basĂ©e sur Forgejo, logiciel libre sous licence MIT, dont le nom vient de l'Esperanto forĝejo, ce qui est cohĂ©rent avec l'attention portĂ©e Ă  la langue de l'utilisateur et aux problĂšmes de traduction (service Weblate). Comme avec GitLab, la licence libre implique qu'un projet peut possĂ©der sa propre instance s'il le souhaite. On notera que Forgejo est un fork de Gitea, lui-mĂȘme fork de Gogs, et est donc Ă©crit en langage Go, langage sous licence BSD avec un brevet. Le projet Forgejo, Ă©videmment hĂ©bergĂ© sur Codeberg, est trĂšs actif avec plus de 900 Pull Requests acceptĂ©es depuis un an.

    La problématique du tout GitHub

    GitHub, lancĂ© en 2008, est devenu la plus grosse plateforme d'hĂ©bergement de codes sources, utilisĂ©e par un grand nombre de projets majeurs du monde du libre (Firefox, Matrix, Yunohost
). Ce qui par effet d'attraction — et de rĂ©seau centralisant, contraire au choix de git dĂ©centralisĂ© par nature — conduit souvent Ă  faire de Github un choix par dĂ©faut, facilitant les interactions avec les autres projets et permettant d'accĂ©der Ă  une large base de contributeurs potentiels. Quand on cite une URL GitHub dans un rĂ©seau social, on peut d'ailleurs voir apparaĂźtre ce genre de message :

    Contribute to Someone/my_project development by creating an account on GitHub.

    Cependant, si ce service fourni par Microsoft est actuellement encore gratuit, il est soumis à son bon-vouloir, avec le risque de voir se répéter l'épisode SourceForge (publicités trompeuses, installateurs modifiés, usurpation d'identité de projets partis ailleurs, etc.).

    Par ailleurs, derriĂšre une communication favorable Ă  l'open source, le code de la forge GitHub est volontairement fermĂ©. Vous ne pouvez donc pas avoir votre propre instance de GitHub. En outre, cela laisse un flou sur l'exploitation de nos donnĂ©es (au sens large, le code lui-mĂȘme et nos donnĂ©es personnelles, l'hĂ©bergement Ă©tant dĂ©lĂ©guĂ©). Avec l'arrivĂ©e du projet Copilot, il est cependant certain que nos codes servent Ă  alimenter un outil d'IA, permettant Ă  Microsoft de monĂ©tiser des suggestions de code en faisant fi des questions de licence. Une partie d'un code sous licence libre pourrait potentiellement se retrouver injectĂ©e dans un projet avec une licence incompatible et de surcroĂźt sans citation de l'auteur.

    Des alternatives possibles

    On pense tout d'abord à GitLab, logiciel lancé en 2011, qui permet d'avoir sa propre instance serveur pour maßtriser l'ensemble (client et serveur sont libres). Parmi les grands projets libres, on trouve en particulier GNOME et Debian qui utilisent leur propre instance GitLab CE (Community Edition), logiciel sous licence MIT. Mais il faut nuancer : la forge GitLab.com utilise GitLab EE (Enterprise Edition) qui est propriétaire et propose des fonctionnalités supplémentaires. GitLab suit donc un modÚle dit open core. GitLab compterait plus de 30 millions d'utilisateurs inscrits et l'entreprise GitLab Inc., lancée en 2014, génÚre plusieurs centaines de millions de dollars de revenus. On notera enfin qu'en 2018, le site migre de Microsoft Azure à Google Cloud Platform (USA), ce qui a posé des problÚmes d'accÚs dans certains pays.

    Autres projets de forges libres plus modestes :

    • Codingteam.net (une initiative française, service clĂŽturĂ© en 2019).
    • SourceHut http://sr.ht (et https://sourcehut.org/), initiĂ© par Drew DeVault.
    • Disroot basĂ© sur Forgejo comme Codeberg, mais il ne semble pas avoir attirĂ© de projets d'envergure (le portail, sorte de Framasoft nĂ©erlandais, est nĂ©anmoins Ă  recommander).
    • Chez un Chaton (GitLab ou Gitea pour la plupart).
    • L'auto-hĂ©bergement : chez-vous, dans un fablab, en datacenter sur serveur dĂ©dié 

    Pour vous faire venir sur Codeberg

    PremiĂšres impressions

    La page principale est accueillante et annonce que Codeberg.org ne vous piste pas et n'utilise pas de cookies tiers. Les statistiques actuelles sont affichĂ©es : nombre de projets, d'utilisateurs et de membres de l'association. Chose agrĂ©able, vous avez la possibilitĂ© de choisir le français parmi les nombreuses langues proposĂ©es pour l'interface. Petite icĂŽne qui attire l'attention : l'activitĂ© de chaque dĂ©pĂŽt peut ĂȘtre suivie grĂące Ă  un flux RSS. Sinon, l'organisation gĂ©nĂ©rale est trĂšs semblable Ă  celle de GitHub ou GitLab et la prise en main de Codeberg se fait donc sans effort.

    Fonctionnalités avancées

    • Codeberg pages : permet de disposer d'un site web statique pour le projet
    • Forgejo actions : pour dĂ©rouler automatiquement les actions nĂ©cessaires Ă  l'intĂ©gration continue (CI/CD)
    • Weblate : pour gĂ©rer les traductions de votre projet. On peut d'ailleurs y constater que parmi les traductions de Forgejo, le Français est dans le peloton de tĂȘte.

    Projets ayant migré ou ayant un miroir sur Codeberg

    Un certain nombre de projets importants utilisent désormais Codeberg, ce qui est à la fois un gage de confiance et assure une base de contributeurs a minima :

    • libreboot : remplacement libre de BIOS/UEFI.
    • Conversations : le client majeur XMPP sur Android.
    • WideLands : jeu libre basĂ© sur le concept de Settlers II.
    • LibreWolf : fork de Firefox axĂ© sur la vie privĂ©e.
    • F-Droid : magasin d'applications libres pour Android.
    • FreeBSD : miroir de https://cgit.freebsd.org/
    • FreeCAD : miroir officiel.
    • Forgejo : fork communautaire de Gitea suite Ă  la privatisation de celui-ci en 2022.
    • Fedilab : client Android pour le Fediverse.
    • irssi : client IRC.
    • Peppermint OS : une distribution Linux avec bureau minimaliste.
    • DivestOS : un fork de LineageOS orientĂ© sur la protection de la vie privĂ©e.
    • VeggieKarte : un service pour trouver des restaurants vĂ©gĂ©tariens/vĂ©gĂ©taliens.
    • 


    Comment migrer vers Codeberg ?

    Migrer le code source et l'éventuel Wiki associé ne devrait pas poser de problÚme particulier. Il suffit de configurer git pour pusher vers la nouvelle forge. Cette page décrit comment migrer l'ensemble de votre projet (incluant les issues, le wiki, les Pull Request, etc.) vers Codeberg : https://docs.codeberg.org/advanced/migrating-repos/

    Concernant les Workflows (CI), bien qu'il n'y ait pas de garantie de compatibilité avec les Actions Github, la syntaxe se veut similaire pour faciliter la transition : https://forgejo.org/2023-02-27-forgejo-actions/

    Au-delĂ  de l'aspect technique, il reste aussi Ă  faire migrer la communautĂ© d'utilisateurs (la prĂ©sence fortement suivie sur Mastodon peut ĂȘtre un avantage).

    Conclusion

    Codeberg est un outil prometteur. Il reste pour la communauté du logiciel libre à le faire grandir. Rappelons les statistiques : 100 millions de développeurs sur GitHub, 30 millions utilisant GitLab et 100 000 pour Codeberg. Le potentiel est grand, l'un des enjeux est de financer l'association pour accompagner la croissance de la communauté, tout en faisant monter en puissance l'infrastructure informatique.

    Sources / Liens

    Controverse GitHub

    Forges diverses

    Codeberg


    1. e.V. est l'abrĂ©viation de eingetragener Verein (association dĂ©clarĂ©e). â†©

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌
    ❌