Comment démarrer une nouvelle distribution Linux? [fermé]

28

Certains de mes amis et moi sommes intéressés à démarrer une nouvelle distribution Linux. Comment fait-on cela? Que devons-nous planifier?

Backstory

Je représente une communauté d'administrateurs / implémenteurs Linux dont les besoins spéciaux incluent, entre autres:

  • Une configuration de noyau «maigre» spécifique
  • Une gestion des packages adaptée à nos «besoins sur le terrain»
  • Paquets binaires optimisés pour nos «cas d'utilisation»
  • Système sans X

Au point: Nous avons besoin d'une distribution Linux de qualité production spécialement configurée pour fonctionner exclusivement en tant que serveurs de production para-virtualisés . Plutôt que de parcourir tous les cerceaux et boucles à chaque fois que nous avons besoin d'un serveur VM-ized, nous aimerions beaucoup un système semi-préparé, optimisé pour son environnement.

Étant donné que ces machines virtuelles seraient des serveurs de production, la stabilité est un must, et honnêtement, les systèmes de gestion de packages disponibles dont nous sommes actuellement conscients ne fournissent tout simplement pas d'assurance. Zyppet Conarysont les plus proches de nos besoins, mais encore une fois manquer sur certains points.

pepoluan
la source
1
Exactement, que voulez-vous dans un gestionnaire de paquets? C'est, pour vos besoins, quelles sont les faiblesses d'APT, Zypp, Conary, Yum ...?
tshepang
3
Plutôt que d'expliquer un par un, voici ce que nous recherchons: (1) plusieurs niveaux de "stabilités" au lieu de simplifier "testing-vs-stable" (2) smart dependency solver (3) multi-versioning (in un sens limité, un peu comme les SLOTs de Gentoo Portage) (4) rollback (facultatif, en raison de la capacité d'instantané des hyperviseurs VM, mais toujours agréable à avoir)
pepoluan
1
Pouvez-vous expliquer ce que signifient plusieurs niveaux de stabilité ?
tshepang
2
Le aptitudesolveur de dépendance est-il suffisamment avancé?
tshepang
10
Chaque exigence que vous avez définie est satisfaite en choisissant simplement une distribution existante et en créant votre propre référentiel (avec peut-être un gestionnaire de packages alternatif) avec votre propre cycle de version défini. Mais vous avez rejeté cette option et également rejeté l'option LFS. En outre, vous prenez par erreur le gestionnaire de packages comme facteur de stabilité critique, qui n'est qu'un outil d'aide qui, en soi, n'a pas grand-chose à voir avec la stabilité globale du système.
forcefsck

Réponses:

22

Vous voudrez peut-être regarder Linux From Scratch :

Linux From Scratch (LFS) est un projet qui vous fournit des instructions étape par étape pour créer votre propre système Linux personnalisé entièrement à partir des sources.

tommytom
la source
Presque, mais pas tout à fait. Cela ressemble plus à créer un Linux personnalisé pour ses propres besoins. Mais ma communauté aimerait un cadre complet, par exemple, des noyaux personnalisés, des init personnalisés, une gestion de package personnalisée, etc. Comment commencer?
pepoluan
4
Commencer avec LFS et construire un framework entier par dessus, comme vous l'avez décrit, est en fait une définition de "Démarrer votre propre distribution Linux".
forcefsck
2
@pepoluan: il n'y a pas de guide à ce sujet. Une fois que vous avez un shell en cours d'exécution et des utilitaires principaux installés, vous disposez d'un système d'exploitation. Pour le reste, vous copiez à partir d'autres distributions ou réinventez tout. Quoi qu'il en soit, la création d'une nouvelle distribution nécessite beaucoup de travail et il n'y a pas de réponses faciles sur la façon de le faire.
forcefsck
1
@forcefsck merci pour l'avertissement :) ... Je suis d'accord, ce sera sans aucun doute une entreprise majeure. dommage qu'il n'y ait pas d '«histoires de guerre» ou quelque chose comme ça, juste pour ne pas répéter d'erreurs.
pepoluan
2
@pepoluan Je parierais qu'il y a des histoires de guerre, mais pas si bien emballées. Par exemple, jetez un œil aux archives des listes de diffusion dans les premiers jours de diverses distributions.
tshepang
9

Vous aurez besoin d'un système en cours d'exécution minimal, probablement d'une autre distribution, pour "bootstrap" votre propre distribution avec suffisamment pour au moins faire fonctionner gcc ou un autre compilateur C. Vous devez ensuite commencer par décider quelles bibliothèques de base (y compris libc) et quels logiciels constituent l'état de base, "aucun paquet installé" de votre système. Ensuite, récupérez la source de ces bibliothèques et logiciels et compilez-les, assurez-vous que tous les logiciels peuvent trouver les bibliothèques dont ils ont besoin et commencez à créer votre environnement de base de bas niveau.

Fondamentalement , votre environnement d'amorçage sera rien de plus qu'un noyau en cours d' exécution et le minimum absolu dont vous avez besoin pour obtenir un shell de base, un compilateur C, et les choses de base comme rm, cp, taret des trucs comme ça marche. La prochaine chose que vous devriez commencer à faire fonctionner est Perl. Une fois votre système de base créé, vous devez le conserver et créer des scripts de démarrage qui amènent le système du démarrage initial à un shell utilisable avec un compilateur.

Ensuite, vous devez concevoir / écrire un système et un format de package, puis télécharger le code source dans le logiciel que vous souhaitez packager, compiler et packager, et concevoir un système de distribution robuste pour vos packages. Rien de tout cela n'est trivial. Bonne chance.

LawrenceC
la source
Ahh, très instructif, merci! Ouais, je n'ai aucune illusion que ce serait une simple entreprise. Heureusement que je ne suis pas seul. Je vais rassembler la communauté et nous nous querellerons sur qui fera quoi :)
pepoluan
0

Si vous voulez juste un ensemble d'applications par défaut, vous pouvez personnaliser une distribution existante comme ubuntu en utilisant des outils simples. http://maketecheasier.com/reconstructor-creating-your-own-ubuntu-distribution/2008/07/05/05

balki
la source
Mmm ... pas vraiment. Vous voyez, je fais partie d'une communauté d'utilisateurs dont les besoins ne sont vraiment satisfaits par aucune distribution existante, en particulier en ce qui concerne la configuration du noyau et la gestion des packages. Nous connaissons tous assez bien Linux et avons suffisamment de temps libre pour essayer de créer notre propre distribution.
pepoluan
0

Vous n'avez pas vraiment spécifié ce que vous vouliez du gestionnaire de paquets.

Mais OpenSuse fournit un service de construction où vous pouvez facilement personnaliser n'importe quel package (y compris le noyau) et même créer une distribution entière.

http://en.opensuse.org/Portal:KIWI

https://build.opensuse.org

Laisse-moi tranquille
la source
-1

Il y a un site où vous pouvez voir toutes les distributions et une description simple et un aperçu d'eux. Il vous aide donc à choisir le meilleur:

http://distrowatch.com/

Mais pour commencer, je vous suggère d'utiliser Ubuntu ou Kubuntu. si facile et convivial.

shgnInc
la source
ubunut et kubuntu, quand il s'agit d'optimiser un environnement de machine virtuelle très stable, ce n'est certainement pas une bonne idée, même si le fait de regarder distro watch l'est.
Kiwy
Je le suggère juste pour lui donner un point de départ pour se familiariser avec eux.
shgnInc