Une distribution classique se dote généralement d'outils supplémentaires:
- Outils de configuration, qui décrivent les différentes recettes pour construire les paquets (cela inclut les patches, la configuration par défaut, mais aussi une description des chaînes de dépendances)
- Outils de build, qui savent lire la configuration, démêler les dépendances, éventuellement les isoler (par-exemple sur le système de build Yocto un sysroot ne contenant que tes dépendances est créé à la compilation de chaque paquet, pour garantir que tu n'utilises pas des choses provenant d'autres paquets)
- Outils de packaging et de gestion de paquets
- Et parfois d'autres choses sympas : infra de test, builds reproductibles... etc
On notera qu'une différence importante est que le distributeur:
- Apporte des modifications aux sources pour les packager spécifiquement pour sa distribution (parfois avec des effets délétères...)
- Apporte une configuration par défaut et sa vision de l'intégration entre les composants logiciels
- Choisit un découpage en paquets
Il est important que la distribution vive, que chaque utilisateur puisse la configurer comme il le veut et installer les paquets qui lui plaisent en gardant la compatibilité avec toutes les autres installations.
Sur un LFS (en tout cas tel que je l'ai fait il y a plus de dix ans...) tu obtiens un système relativement monolithique. Si LFS est distribué comme un système de build automatique (ALFS le fait si je me rappelle bien), cela le rapproche d'une distribution "classique" dans le sens où tout le monde obtient une image similaire et compatible, nonobstant la distribution par paquets... En revanche LFS reste très simple dans son intégration logicielle comparé à une distro prête pour la grande distribution, c'est ce qui la rend utile pour apprendre.
[^] # Re: Caractéristiques de Linux From Scratch
Posté par Arvil . En réponse à la dépêche Linux From Scratch 8.4 : sortez vos tabliers !. Évalué à 2.
Désolé d'arriver aussi tard dans le thread.
Une distribution classique se dote généralement d'outils supplémentaires:
- Outils de configuration, qui décrivent les différentes recettes pour construire les paquets (cela inclut les patches, la configuration par défaut, mais aussi une description des chaînes de dépendances)
- Outils de build, qui savent lire la configuration, démêler les dépendances, éventuellement les isoler (par-exemple sur le système de build Yocto un sysroot ne contenant que tes dépendances est créé à la compilation de chaque paquet, pour garantir que tu n'utilises pas des choses provenant d'autres paquets)
- Outils de packaging et de gestion de paquets
- Et parfois d'autres choses sympas : infra de test, builds reproductibles... etc
On notera qu'une différence importante est que le distributeur:
- Apporte des modifications aux sources pour les packager spécifiquement pour sa distribution (parfois avec des effets délétères...)
- Apporte une configuration par défaut et sa vision de l'intégration entre les composants logiciels
- Choisit un découpage en paquets
Il est important que la distribution vive, que chaque utilisateur puisse la configurer comme il le veut et installer les paquets qui lui plaisent en gardant la compatibilité avec toutes les autres installations.
Sur un LFS (en tout cas tel que je l'ai fait il y a plus de dix ans...) tu obtiens un système relativement monolithique. Si LFS est distribué comme un système de build automatique (ALFS le fait si je me rappelle bien), cela le rapproche d'une distribution "classique" dans le sens où tout le monde obtient une image similaire et compatible, nonobstant la distribution par paquets... En revanche LFS reste très simple dans son intégration logicielle comparé à une distro prête pour la grande distribution, c'est ce qui la rend utile pour apprendre.