Évolutions techniques de systemd

Posté par  . Modéré par baud123. Licence CC By‑SA.
144
2
août
2011
Linux

LinuxFr.org a déjà publié quelques articles à propos de systemd, sans entrer trop dans les détails des améliorations techniques.

On trouve en particulier un entretien avec son auteur, Lennart Poettering, et un journal contestant la qualité et les dépendances du code.

L’arrivée de systemd provoque pas mal de remous, justifiés ou non. On peut citer l’objectif « Linux only » affiché par l’auteur, les multiples dépendances et en particulier celle de D-Bus, la personnalité de l’auteur et la qualité de ses réalisations précédentes, le périmètre de responsabilité de systemd (gdm) et probablement de nombreux autres points.

Cet article a pour objectif de passer en revue les évolutions techniques et les objectifs de systemd. Les autres questions citées ci‐dessus ne sont pas injustifiées (en tout cas, pas toutes), mais sont en dehors du périmètre fixé.

L’article se base essentiellement sur les présentations de Lennart Poettering publiées sur son site en particulier, certains paragraphes sont des traductions un peu condensées de sa présentation initiale.

Merci aux relecteurs : Davy, Spack, npa.

Mise aux poings sur systemd

96
13
juin
2014
Technologie

systemd est un gestionnaire du système et de services (aussi appelé « PID 1 », car c’est le premier processus à être lancé) pour Linux, compatible avec SysV et les scripts d’init LSB. systemd a des capacités de parallélisation énergiques. Il utilise les sockets et l’activation par D-Bus pour démarrer les services, permettant le démarrage à la demande des démons. Il surveille et commande les processus avec les groupes de contrôle (cgroups) Linux. Il prend en charge la construction d’instantanés et la restauration de l’état du système. Il maintient les points de montage et d’auto-montage, et implémente une logique de contrôle transactionnelle élaborée fondée sur les dépendances entre services.

systemd ne fait pas partie du projet freedesktop.org, bien qu’hébergé sur le site. Il est codé en langage C et publié sous licence GNU GPL 2.1+. Il a été lancé par Lennart Poettering, auteur de PulseAudio et d'Avahi entre autres, et est maintenant activement développé par plusieurs dizaines de développeurs.

La dernière dépêche concernant systemd a suscité de nombreuses réactions et certaines d'entre elles montraient une méconnaissance de ce logiciel : la dépêche se contentait, pour la majeure partie il est vrai, de traduire les notes de versions.

Je vais donc faire un point sur systemd, histoire d’en finir une bonne fois pour toutes avec les discussions sans fin sur systemd (l’espoir fait vivre).

Journal GNOME seulement compatible avec Linux ?

Posté par  (site web personnel) . Licence CC By‑SA.
75
18
mai
2011

Tout se perd ma bonne dame et les traditions ancestrales ne sont plus respectées. Alors que nous sommes encore à plus de 26 heures du vendredi fatidique un troll magistral, épique même, a débuté sur la liste de diffusion du projet GNOME.

Tout est parti d'un mail de Lennart Poettering intitulé « systemd as external dependency » dans lequel notre brave trolleur développeur proposait tout simplement que GNOME accepte systemd en tant que dépendance et devienne, donc, de ce (…)

Sortie de PulseAudio 2.0

64
12
mai
2012
Son

PulseAudio est un serveur de son multiplate-forme en réseau, publié sous licence LGPL 2.1. Son développement a été commencé par Lennart Poettering, ce développeur est aujourd'hui reconnu pour ses nombreuses contributions à l'écosystème Linux, même si celles-ci ne font pas toujours l'unanimité. Le rôle principal d'un serveur PulseAudio au sein d'un système d'exploitation est d'effectuer le mixage des différents canaux audio en provenance des diverses applications et sources d'entrée, puis leur lecture sur des périphériques audio tels que des cartes sons locales ou distantes.

PulseAudio

Merci à solstice, patrick_g, liberforce, Nils Ratusznik, PierreLM, moi1392, tankey, Bruno, Xavier Claude, Strash, Benoît et Enjolras pour avoir participé à la rédaction de cet article.

Un entretien avec Lennart Poettering

Posté par  (site web personnel) . Modéré par rootix.
64
5
juil.
2011
Technologie

Lennart Poettering est un développeur Red Hat/Fedora connu pour être remarquablement prolifique. Après Avahi et Pulseaudio c'est maintenant le démon d'init systemd qui l'occupe depuis plusieurs mois et qui a fait une entrée tonitruante dans le monde du libre.

Lennart ne déguise pas sa pensée et il ne craint pas de choquer en dévoilant ses opinions. Il est d'avis que seuls les systèmes basés sur Linux peuvent vraiment concurrencer les OS propriétaires et, en conséquence, ses choix techniques ne tiennent pas compte des autres systèmes libres.
Son franc-parler a parfois provoqué des batailles homériques sur les listes de discussion des différents projets et les gens du GCU-Squad sont à deux doigts de lancer un tueur à gages à ses trousses.

Pour toutes ces raisons, il est sans doute bon de faire le point avec lui et de l'interroger calmement sur ses projets et sur sa vision du libre.
LinuxFr a donc effectué un entretien avec Lennart, dont vous trouverez une traduction en seconde partie de la dépêche.

Encore une fois les anglophones sont incités à lire la version originale de l'entretien qui est postée en commentaire de la dépêche.

/run or not /run

52
4
avr.
2011
Linux

Ces dernières semaines les personnes clés des principales distributions se sont réunies pour discuter des problèmes liés aux données d'exécution (runtime data) utilisées lors de la phase de démarrage et surtout de leurs emplacements.

Lors du démarrage d'un système GNU/Linux différents programmes (initscripts, dracut, mdadm, etc) ont besoin de stocker leurs données d'exécution dans l'arborescence et cela avant les éventuels montages annexes (/home, /usr ou /var). Ces données sont aussi utilisées par les programmes et daemons lors du fonctionnement du système.

Actuellement, les distributions utilisent différents subterfuges pour stocker ce type de données dans des dossiers cachés : /dev/.mdadm, /dev/.mount, /dev/.systemd, /dev/.udev, etc. Elles utilisent pour la plupart le répertoire /dev pour stocker les premières données, ce dossier est de type tmpfs et est disponible dès les premiers instants du démarrage.

À la suite des derniers montages (/home, /usr ou /var) les daemons sont lancés, ils utilisent principalement le dossier /var/run pour leurs données et cherchent les données liées au démarrage dans les différents dossiers /dev/.xxx ou autres selon les distributions.

Pour en finir avec cette cacophonie, les principales distributions ont décidé d'ajouter le dossier "run" à la racine. Ce dossier fera partie de l'arborescence initiale des prochaines versions, il contiendra les données contenues auparavant dans les dossiers /dev/.xxx, /var/run, /var/lock, /lib/init/rw, etc.

Cette décision est techniquement simple et simplifie la liaison entre les données liées au démarrage et les programmes, elle a souvent été envisagée mais repoussée pour des raisons politiques, des craintes d'intense flameware et la rupture avec la LSB/FHS.

Les développeurs de dracut, udev et systemd ont déjà mis à jour ces logiciels. Les distributions utiliseront le répertoire /run de façon progressive avec, dans un premier temps, des montages de type bind des anciens répertoires vers /run.

Lennart Poettering (Pulseaudio, avahi, systemd) a rédigé un mail pour faire le point sur cette réunion, annoncer le changement et les phases de mise en place.

Alors, LSB/FHS outragée, LSB/FHS brisée, LSB/FHS martyrisée… crouch, touch, pause, engage !

N. D. M. : Les principales distributions impliquées sont Debian, SuSE, Ubuntu et Fedora.

Journal udev forké

Posté par  . Licence CC By‑SA.
48
4
sept.
2012

udev, le gestionnaire de périphériques dans /dev vient d’être forké. C’est grâce à cet outil que l’on peut, par exemple, monter automatiquement des disques externes ou des clés USB, et les afficher dans un explorateur. En effet, udev reçoit des messages de la part du noyau et les traite en fonction d’un ensemble de règles définies dans les répertoires rules.d. Ainsi, il est possible de lancer des sauvegardes dès que le disque dur correspondant est branché sur (…)

Spéciale Lennart Poettering : nouvelles versions de systemd et PulseAudio

42
21
mar.
2014
Technologie

La sortie de la dernière version de PulseAudio coïncide avec celle de trois nouvelles versions de systemd, c’est donc l’occasion de faire une dépêche spéciale Lennart Poettering !

Lennart Poettering <3

photo de Harald Hoyer sous CC-BY-SA-3.0

Journal systemd est un "bloat"

Posté par  (Mastodon) . Licence CC By‑SA.
40
2
mai
2011

Bon, le titre trollesque, c'est juste pour attirer le chaland. En fait, c'est plus subtil.

Daniel Kahn Gillmor (alias dkg) a testé systemd sur Debian. Il y trouve des points positifs : la gestion des daemons, la gestion saine des états des processus, l'élimination de la redondance dans les scripts init, le démarrage des services réseaux. Bref, tout ce qui convient à un serveur robuste se trouve dans systemd.

Mais il est aussi inquiet. Principalement par deux choses :

/usr friendly

Posté par  (site web personnel) . Modéré par Lucas Bonnet. Licence CC By‑SA.
35
4
nov.
2011
Fedora

« Le FHS du LSB est bien, mais “ / ” est un sacré bordel, il faut tout de même l’avouer. » Ceux qui auront compris cette phrase seront certainement d’accord. Pour les autres, LSB signifie Linux Standard Base, cela définit tout un ensemble de standards autour de GNU/Linux, dont… le FHS, qui est le Filesystem Hierarchy Standard, qui définit l’emplacement des fichiers.

À la racine, c’est‐à‐dire la base du système de fichiers, notée « / », on range notamment les données et les programmes statiques dans « /usr », bien. Ensuite, on range les binaires dans « /bin » et « /sbin », et les bibliothèques dans « /lib » et « /lib64 ». Oui, mais voilà, on range aussi des binaires dans « /usr/bin » et « /usr/sbin », et des bibliothèques dans « /usr/lib » et « /usr/lib64 ».

La proposition vient de Harald Hoyer et Kay Sievers, deux développeurs Red Hat, et est soutenue par Lennart Poettering. L’héritage de 30 ans d’UNIX est clairement à simplifier. Le but est de :

  • fusionner « /bin », « /sbin » et « /usr/sbin » dans « /usr/bin » ;
  • déplacer le contenu de « /lib » dans « /usr/lib » ;
  • déplacer le contenu de « /lib64 » dans « /usr/lib64 » ;
  • créer des liens symboliques pour rester compatible :
    • « /bin » vers « /usr/bin »,
    • « /sbin » vers « /usr/bin »,
    • « /lib » vers « /usr/lib »,
    • « /lib64 » vers « /usr/lib64 ».

Facile à retenir : « sbin », c’est has been ! Hum.

Ceci faciliterait grandement le montage et démontage des systèmes de fichiers, le démarrage du système, les instantanés (snapshots), la virtualisation, etc..

Journal Lennart casse les logs!

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes :
25
19
nov.
2011

Salut Journal (huhu, subtil référence anticipée),

Lennart est bien connu pour avoir cassé votre réseau (avahi) et puis, de manière plus spectaculaire votre son (pulseaudio) avant de s'attaquer au boot de votre ordi (systemd).

Que lui reste-t-il à casser ? Pas mal de choses, heureusement, Lennart n'a pas décidé de s'arrêter. Sa prochaine victime ? Vos logs:

https://docs.google.com/document/pub?id=1IC9yOXj7j6cdLLxWEBAGRL6wl97tFxgjLUEHIX3MSTs&pli=1

Lennart introduit donc "Journal".

Journal, c'est le successeur de syslog. Enfin, pas tout à fait. Mais quand même. Bref, j'ai pas compris (…)

Journal Ma simple session avec Compiz et Cairo-dock

Posté par  . Licence CC By‑SA.
18
17
juil.
2011

Sommaire

Je continue mon exploration de ma nouvelle machine, et j'ai (dès le départ) profité de Compiz pour agrémenter l'expérience utilisateur. Ce que j'aime dans Compiz c'est le placement des fenêtres sur la moitié droite et la moitié gauche en un raccourci clavier, le cube avec les engrenages, et les fenêtres qui se déforment. C'est gadget, sauf le placement. (…)

Journal Trolldi : Lennart en pleine forme

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
18
23
nov.
2012

C'est du tout grand Lennart qui nous arrive, sur son compte Google+ ce vendredi :

https://plus.google.com/115547683951727699051/posts/ZZWLtq6tYdn

Au menu, sa critique de la spec par Canonical visant à mettre Upstart dans la session utilisateur :

https://wiki.ubuntu.com/FoundationsTeam/Specs/RaringUpstartUserSessions

Selon Lennart, cela revient purement et simplement à créer deux environnement totalement incompatibles au niveau des applications : Unity/Upstart d'un côté, GNOME/KDE/Systemd de l'autre. Un peu comme Android quoi.

Bon, il trolle en douceur, admettant que lui-même voulait faire la même chose avec Systemd, mais qu'il ne voulait pas (…)

Journal Non, systemd n'est vraiment pas parfait ! (ni prêt)

Posté par  . Licence CC By‑SA.
17
9
nov.
2012

Non, systemd n'est vraiment pas parfait ! Alors, oui, je veux bien croire qu'il améliore pas mal de choses,
qu'il est plus "beau" plus rapide, plus "simple" et peut-être même qu'il rend le poil de votre poney luisant !

Mais, tout de même, je ne suis pas convaincu que ce soit une bonne idée que de précipiter un projet si "jeune".
Remplacer une partie si important de notre système d'en un temps aussi court !

Un exemple tout con, aujourd'hui, je viens de (…)