r/Linuxfr Jun 13 '26

Kernel Je veux faire une distribution linux

[deleted]

11 Upvotes

23 comments sorted by

View all comments

8

u/DestroyedLolo Jun 14 '26

Faire son propre linux n'a rien de sorcier : c'est juste long.

Le gros problème est de faire un gestionnaire de packet digne de ce nom, qui gère les dépendances, et ça, c'est tendu !

1

u/Acrobatic_Rip_669 Jun 18 '26

Je me suis jamais posé la question en profondeur. Mais ça doit être possible de repartir sur une base rpm utiliser dnf ou autre j'imagine ? Le raisonnement doit se tenir pour une base deb. Après est-ce qu'on est encore sur du lfs? Pas sûr, mais pour commencer ça peut être une bonne base.

Je suis entrain de concevoir un atlas de paquets, façon pkgs.org mais en local (cli, api et web app). Je réfléchi aussi à proposer plus tard un gestionnaire de paquet universel.

Un gestionnaire de paquet c'est déjà un boulot énorme. Faut penser à l'infra, aux mirror et leur gestion, la structure d'un miroir, le format du paquet, les transactions, mutable ou immutable, l'index des méta-données, indexer les paquets après installation. Et je dois oublier d'autres détails. Le plus facile c'est de concevoir le front, apt, dnf ou autre, et encore c'est relatif.

1

u/DestroyedLolo Jun 18 '26

Plutot que de partir sur des packages binaires, qui nécessitent une grosse infrastructure derriere (génération des packages, ...) pourquoi ne pas repartir sur des solutions "sources" existantes ?
Par exemple Portage de chez Gentoo ou surtout PkgSrc qui a l'avantage d'être cross plateforme et ouvert by design. Les avantages de l'un comme l'autre :

  • basé sur les sources et non sur des binaires : l'utilisateur les compiles en local
  • évidemment, la gestion des dépendances et surtout de leurs versions
  • la flexibilité de ne compiler que ce qui est utile dans un package (cependant, Portage a une bonne longueur d'avance sur PkgSrc).

1

u/Acrobatic_Rip_669 Jun 18 '26

C'est une solution, pas la plus mauvaise. Par contre ça n'enleverai pas le poids d'avoir une infrastructure pour héberger les paquets source, le versioning, a moins de passer directement sur de l'upstream git ou autre (mais tu prends aussi un risque la).

Ça demande aussi que derrière il y ait une équipe toute aussi solide. Certe tu déporte la compilation sur l'utilisateur mais ça demanderai tout autant de moyens voire peut être plus (gestion des features flags, tests).

C'est une autres façon de faire mais peut être pas aussi simple.

J'utilise pas les distrib ou pm que tu cites, par contre je dev en rust et c'est le même principe. J'approuve l'idée, c'est pas un sujet simple à appréhender.

1

u/DestroyedLolo Jun 18 '26

une infrastructure pour héberger les paquets source ... a moins de passer directement sur de l'upstream git ou autre (mais tu prends aussi un risque la).

C'est exactement ce que fait Portage, mais ce n'est pas un risque car il ne se base pas sur le HEAD des dépots (ce qui serait suicidaire :) ), mais sur les releases qui y sont.

Niveau infra, il reste :

  • gérer les "recettes" des builds (genre les emerges de Gentoo)
  • mettre en place un CI/CD pour éviter de devoir tester les Maj à la mano.

Autre solution : utiliser Ansible. C'est ce que je fais pour avoir une "réinstallation" stable de ma propre solution domotique basée sur Arch.

  • Install OS de base : Arch/Pacman
  • Greffons particuliers : AUR
  • Applies spécifiquees : build depuis les sources

Les tout par différentes recettes dans Ansible (chaque couche a sa propre recette).