Linux From Scratch 7.8 : nouvelle version de la distro dont vous êtes le dictateur !

Posté par  . Édité par Benoît Sibaud, bubar🦥 et ZeroHeure. Modéré par bubar🦥. Licence CC By‑SA.
48
4
oct.
2015
Distribution

Comme en chaque début d'automne, nous avons le plaisir de vous annoncer une nouvelle version de Linux From Scratch. Celle-ci est d'ores et déjà traduite en français dans sa version systemd. La version classique sysvinit sera disponible en français très prochainement (NdM: disponible depuis le 8/10).

logo-LFS

À cette occasion, l'équipe francophone a décidé de changer l'apparence du livre, avec une nouvelle barre de navigation à gauche. Vos avis sont les bienvenus.

Hormis l'apparence et l'intégration des dernières versions de paquets, le principal changement est la suppression de toutes les bibliothèques statiques qui ne sont plus nécessaires dans un système GNU/Linux moderne. Par ailleurs, cela réduit la taille d'un grand nombre de paquets.

Pour ceux qui ne s'en rappellent pas, Linux From Scratch (Linux à partir de zéro) est un livre décrivant de A à Z la construction d'un système GNU/Linux, paquet par paquet, vous permettant ainsi de l'adapter au plus près de vos besoins. Contrairement à ce que vous avez pu entendre, Linux From Scratch n'est pas une distro qui se veut réservée à une élite. Au contraire, le but est d'apprendre à un maximum de personnes la structure d'un système GNU/Linux. Malgré tout, cela nécessite de bonnes connaissances préalables en bash et une certaine expérience en compilations.

Linux From Scratch: Your Distro, Your Rules (votre distrib', vos règles).

Aller plus loin

  • # Des projets dérivés de la LFS

    Posté par  . Évalué à 3.

    Il y a au moins deux projets basés sur LFS : NuTyX - http://www.nutyx.org/ et Aryalinux - http://www.aryalinux.org/

    Vous en connaissez d'autres ?

    Un libriste qui en a sa claque des puristes.

    • [^] # Re: Des projets dérivés de la LFS

      Posté par  . Évalué à 2.

      Je n'ai jamais entendu parler de aryalinux, c'est toujours assez intéressant de découvrir de nouvelles distro basée sur LFS :)
      Voici une liste des distributions basées sur LFS sur distrowatch

      • [^] # Re: Des projets dérivés de la LFS

        Posté par  . Évalué à 3.

        Dommage que sur les 9 listées, 7 soit "discontinued".

        Autant dire que c'est assez ravagé comme domaine :(

        Un libriste qui en a sa claque des puristes.

        • [^] # Re: Des projets dérivés de la LFS

          Posté par  . Évalué à 1.

          LFS c'est plus pour le "fait maison" de la distro Linux, d'apprendre des choses par soi-même, etc.

          À la limite, je pense que ce n'est pas trop grave qu'elles soit "discontinued", comme tu dis :p

    • [^] # Re: Des projets dérivés de la LFS

      Posté par  (site web personnel) . Évalué à 4.

      0linux est une autre distribution francophone basée sur LFS

    • [^] # Re: Des projets dérivés de la LFS

      Posté par  (site web personnel) . Évalué à 3.

      L'autre jour je suis tombe sur GoboLinux qui propose une hiérarchie du système de fichiers originale et, il faut le dire, assez intéressante.

      • [^] # Re: Des projets dérivés de la LFS

        Posté par  (site web personnel) . Évalué à 1.

        Merci pour la découverte de cette distribution que je ne connaissais pas, en plus le site existe en français ;o).

        L'avantage du "from scratch" est qu'il est possible de mettre en oeuvre des idées de gestions de paquets qui sont différentes de la méthode "fakeroot" généralement à la base des gestionnaires de paquets.
        Il ne serait pas possible de faire une nouvelle distribution avec une hierarchie de fichier différentes ou une gestion des paquets originale en se basant sur debian par ex….

  • # Maintenabilité ?

    Posté par  . Évalué à 4.

    Une question que je me pose : est-ce que sortir de nouvelles versions de LFS est d'une complexité constante ? Ou est-ce qu'il y a des obstacles de plus en plus difficiles à surmonter ?

    Je sais pas pourquoi mais j'ai peur qu'un jour LFS ne soit plus. Sur le plan pédagogique, c'est tellement top…

    • [^] # Re: Maintenabilité ?

      Posté par  . Évalué à 2.

      Une question que je me pose : est-ce que sortir de nouvelles versions de LFS est d'une complexité > constante ? Ou est-ce qu'il y a des obstacles de plus en plus difficiles à surmonter ?

      Non, les difficultés sont toujours les mêmes :
      — Changements d’ABI ou d’API à prendre en compte, surtout au niveau des éléments essentiels du système (la plomberie) par exemple la glibc ;
      — Suivre les évolutions de la plomberie, mais pas trop vite, et créer les correctifs adéquats ou les récupérer ;
      — Conserver la motivation, de bons outils aident beaucoup ;

      à ce propos, j’utilise toujours nALFS que j’ai modifié pour supporter différentes choses (par exemple les tarballs xz ou activer la redirection pour cURL) et porg pour gérer mes systèmes et automatiser le tout.
      Quelqu’un a-t-il des informations sur un groupe qui aurait repris nALFS ?

      Sinon, ça fait 15 ans que je roule avec nALFS et tous mes systèmes fonctionnent parfaitement, sachant qu’il gère un équivalent de LFS systemd + BLFS + ALFS + CLFS (ARM + x86 + x86_64) + LiveCD. Le CLFS est abandonné, mais je gère toujours les 3 architectures avec le même nALFS.
      Mais comme auparavant avec simpleinit-msb, si je peux m’abstenir de maintenir une application c’est toujours mieux.

      • [^] # Re: Maintenabilité ?

        Posté par  (site web personnel) . Évalué à 1.

        Le projet jhalfs est actuellement le seul projet de construction automatique qui soit encore maintenu. Pour récupérer la dernière version,

        svn co svn://svn.linuxfromscratch.org/ALFS/jhalfs/trunk jhalfs

        Ou alors, il faut écrire ses propres scripts et developper son script d'automatisation qui prenne en compte ses propres regles (ou sa propre façon de gérer les paquets).

        L'avantage de [x]LFS, c'est que le terrain de jeu est important et qu'il est possible de bcp s'amuser en apprenant bcp. Il y a cependant un prix à cela… le temps et la patience ;o))

        • [^] # Re: Maintenabilité ?

          Posté par  . Évalué à 0.

          Dommage, jhalfs c'est du Shell, donc totalement inapproprié et peu praticable par rapport à nALFS.
          Tant pis, mon système fonctionne bien de toutes façons.
          J'aurai voulu intégrer le cloisonnement kernel via systemd au lieu du chroot de nALFS, qui cause des problèmes, mais bon tant pis.

        • [^] # Re: Maintenabilité ?

          Posté par  (site web personnel) . Évalué à 2.

          Il y a cependant un prix à cela… le temps et la patience ;o))

          La dernière fois que j'ai installé LFS (il y a 12-13 ans …), j'avais oublié de manger. Et au bout de 48 heures sans manger en geekant 20h par jour, je ne pouvais plus me lever de mon lit. Plus de glucide dans le corps le médecin a dit. Une semaine de convalescence chez mes parents. J'en ai tiré deux enseignements :

          • Bien manger, quelque soit le temps ou l'argent qui manque
          • Passer à gentoo :)
          • [^] # Re: Maintenabilité ?

            Posté par  . Évalué à 4.

            Sinon les baxter ça existe :D

            La comparaison avec gentoo est souvent faite à tord selon moi, car l’approche n'est pas du tout la même. Gentoo met à disposition des outils puissants pour maintenir sa distro à jour. Ça cache toute une partie du travail au yeux de l'utilisateur final. LFS permet de ne rien cacher et est ainsi un formidable outil pour apprendre. Par ailleurs, cela permet de créer facilement son propre gestionnaire de paquet. (ce qui est assez unique pour une distro)

            • [^] # Re: Maintenabilité ?

              Posté par  (site web personnel) . Évalué à 3.

              Je suis d'accord, lfs m'a bien appris à comprendre comment le système fonctionnait. C'est une chose que tout linuxien devrait faire un jour. Maintenant sur le long terme, je me vois mal remplacer les "1822 people and 18 teams" de debian pour maintenir à jour mon système :).

            • [^] # Re: Maintenabilité ?

              Posté par  . Évalué à 2.

              Par ailleurs, cela permet de créer facilement son propre gestionnaire de paquet. (ce qui est assez unique pour une distro)

              C'est une tâche extrêmement compliquée pour l'effectuer efficacement.
              Je préfère laisser cela à des personnes plus compétentes que moi : cela nécessite en autre de développer un solveur SAT.

              Même chez Debian, le solveur interne d'apt-get ou d'aptitude n'est pas optimal pour une gestion correcte des conflits et dépendances (surtout si l'on veut jongler entre plusieurs dépôts de stable à sid), voir cet article.

              Bien entendu, tout cela n'ôte en rien le grand intérêt pédagogique d'une LFS qui permet de comprendre l'assemblage des briques élémentaires d'une distribution.

              Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

              • [^] # Re: Maintenabilité ?

                Posté par  (site web personnel) . Évalué à 2.

                C'est une tâche extrêmement compliquée pour l'effectuer efficacement.
                Je préfère laisser cela à des personnes plus compétentes que moi :

                Avec ce raisonnement, il est inutile de faire lfs pour faire une distribution, car chez debian et autres, ils sont forcement plus compétents.

                Il est aussi possible de se faire un petit gestionnaire de paquets (pas aussi puissant que apt-get ou autres) pour bien comprendre la problématique ou pour tester des principes de gestion de paquets que l'on ne retrouve pas ailleurs (comme les utilisateurs-paquets par exemple, ou d'autres méthodes développées par des utilisateurs de LFS).

                Et je pense vraiment qu'en ayant fait LFS, en ayant réfléchi pour se faire une gestion de paquets, on respecte et mesure à sa juste valeur le travail qui est fait dans les différentes distributions (enfin les vrais distributions…;o) ).

                Bien entendu, tout cela n'ôte en rien le grand intérêt pédagogique d'une LFS qui permet de >comprendre l'assemblage des briques élémentaires d'une distribution.

                Certes LFS permet de comprendre l'assemblage, mais il permet aussi de comprendre ce qu'il faut faire pour faire une distribution. LFS permet aussi de voir les fonctions de chaque paquet, et comme il faut compiler chaque paquet, il y a souvent je pense chez les utilisateurs de LFS, la volonté de faire un système léger. Pourquoi ajouter le paquet trucmuche qui n'apporte rien…. ou pourquoi activer telle dépendance pour un paquet alors que la fonctionnalité apportée ne me sert à rien.
                Au final, le résultat est léger et les performances en temps de démarrage, en capacité mémoire utilisée ou en espace disque n'ont rien à envier aux "vraies" distributions.

                • [^] # Re: Maintenabilité ?

                  Posté par  . Évalué à 0.

                  Et je pense vraiment qu'en ayant fait LFS, en ayant réfléchi pour se faire une gestion de paquets, on respecte et mesure à sa juste valeur le travail qui est fait dans les différentes distributions (enfin les vrais distributions…;o) ).

                  Ça, c’est bien vrai. Ça permet par exemple de comprendre aisément des choix comme ceux de passer à systemd. Pour avoir connu et appliqué LFS depuis plus de 15 ans, et avoir géré des Linux depuis, je comprends aisément les déboires des mainteneurs de distributions.

                  Je me rappelle à l’époque, quelqu’un m’avait demandé naïvement pourquoi je ne faisais pas une distribution avec tout ce que je savais. Si on ne l’a jamais fait, on ne peut pas s’en rendre compte. Gérer son propre OS dérivé de LFS c’est facile, et on a facilement mieux que n’importe quelle distribution. Mais gérer son OS sur les machines des autres avec leurs exigences et leurs configurations alors qu’ils ne maîtrisent rien, c’est une autre paire de manches et je trouve ce travail ingrat, donc jamais je ne ferai de distribution.

                  Certes LFS permet de comprendre l'assemblage, mais il permet aussi de comprendre ce qu'il faut faire pour faire une distribution. LFS permet aussi de voir les fonctions de chaque paquet, et comme il faut compiler chaque paquet, il y a souvent je pense chez les utilisateurs de LFS, la volonté de faire un système léger. Pourquoi ajouter le paquet trucmuche qui n'apporte rien…. ou pourquoi activer telle dépendance pour un paquet alors que la fonctionnalité apportée ne me sert à rien.
                  Au final, le résultat est léger et les performances en temps de démarrage, en capacité mémoire utilisée ou en espace disque n'ont rien à envier aux "vraies" distributions.

                  Il y a cela, le fait que ce que l’on obtient est toujours mieux que n’importe quelle distribution : par exemple, je suis en LVM sur RAID depuis le début, à une époque où l’option était soit inexistante sur les distributions, soit expérimentale.

                  Il y a aussi le fait que dès que l’on veut sortir des clous avec une distribution (application non supportée, nouvelle version majeure…) et installer des choses hors paquets officiels, le système devient vite instable, où alors il faut se lancer dans la création de paquets, ce qui est contraignant pour rien au mieux (paquet officiel qui sort plus tard) ou est contraignant pour rien (paquet à maintenir continuellement). J’avais testé avec toutes les distributions, jusqu’à Gentoo. Même avec Gentoo c’était ingérable, et recompiler des tonnes de trucs pour rien, j’en ai eu assez.

            • [^] # Re: Maintenabilité ?

              Posté par  . Évalué à 0.

              La comparaison avec gentoo est souvent faite à tord selon moi, car l’approche n'est pas du tout la même. Gentoo met à disposition des outils puissants pour maintenir sa distro à jour. Ça cache toute une partie du travail au yeux de l'utilisateur final. LFS permet de ne rien cacher et est ainsi un formidable outil pour apprendre. Par ailleurs, cela permet de créer facilement son propre gestionnaire de paquet. (ce qui est assez unique pour une distro)

              Je suis d’accord, la comparaison avec Gentoo est vraiment faite à tort. Déjà tout simplement parce que LFS n’est pas vraiment une distribution.
              Ce qui en découle, c’est qu’un gestionnaire de paquet est parfaitement inutile dès lors que l’on ne souhaite pas faire du pré mâché pour les autres, principe aussi connu sous le nom de distribution.
              Puisqu’en fait on acquiert l’expertise pour faire les dépendances dans sa tête, ou dans des outils automatisés (scripts ou autres).

    • [^] # Re: Maintenabilité ?

      Posté par  . Évalué à 8.

      J'ai envie de dire que lfs est de plus en plus facile à maintenir grâce à une meilleure intégration des différents programmes entre-eux comme par exemple systemd qui a absorbé udev. (gardez vos trolls pour vous)

      Même si ça peut provoquer un raccourcissement du livre, je pense qu'il faudrait plutôt s'en réjouir car plus l’interaction entre les outils est simplifiée, plus grand est le nombre de personnes pouvant être en mesure de les maîtriser.
      Par ailleurs, si lfs devient plus simple, cela permettra d'aller plus rapidement plus profondément dans la maîtrise de Linux !

      Au pire, il reste la version sysvinit de LFS.

      Et dans l'absolu, tant que LFS restera un référentiel de cours, je ne pense pas qu'il puisse être menacé.

    • [^] # Re: Maintenabilité ?

      Posté par  (site web personnel) . Évalué à 3.

      Les problèmes résolus ne sont pas toujours les mêmes… et la difficulté n'est pas toujours la même.
      Par exemple, il est vrai que pour cette version, le passage à GCC5 n'a pas été simple, cependant il suffit de suivre un peu l'actu des distribs pour se rendre compte que toutes les distributions ont plus ou moins de problèmes.

      Actuellement, je ne pense pas qu'il faille craindre pour LFS… cependant, il faut être conscient que la maintenance du livre LFS et encore plus de BLFS est un énorme travail (j'annoncerais la version française de BLFS dans qq jours et je reviendrais sur le boulot fournit), et que ce travail est réalisé par des bénévoles…. et donc il est possible qu'un jour ils ne soient plus assez.

      Je pense vraiment que c'est le scénario qui est le plus à craindre… et pas les difficultés techniques.

      • [^] # Re: Maintenabilité ?

        Posté par  . Évalué à 1.

        LFS est simple à maintenir avec les trois points que j’ai cités.
        Évidemment, je ne parlais pas de BLFS et autres, où là c’est une autre paire de manches.
        Et LFS ne fait pas tout ce qu’il faut pour amorcer un système, il ne gère pas le LVM, il ne gère pas les initramfs, ou la construction de LiveCD.
        Cela s’est beaucoup amélioré au cours du temps (dracut est vraiment excellent maintenant), mais il faut encore gérer les adhérences entre le noyau Linux et des outils comme Syslinux dont la documentation est fausse et trompeuse car non maintenue, ou Busybox dont les outils minimalistes ne fonctionnent plus avec de nouvelles fonctions du noyau au fil du temps.
        Il faut gérer aussi l’UEFI. Ce sont toutes ces nouveautés qui prennent du temps.
        Une fois que l’on a compris comment cela fonctionne, si l’on veut tout automatiser avec ses propres options et préférences, il n’y a aucun outil disponible à part nALFS.
        Mais LFS reste très instructif, et même s’il n’est plus mis à jour, il sera toujours aussi instructif.

  • # J'achète !

    Posté par  . Évalué à 7. Dernière modification le 05 octobre 2015 à 13:00.

    Où peut-on se procurer le livre en vrai papier non virtuel? Je sais, c'est ringard et démodé, mais quand même…

  • # À quand une LFS basée sur OSTree ?

    Posté par  . Évalué à 3.

    Fedora/RHEL se lancent dans le monde des conteneurs (Docker, xdg-app).
    Le projet Atomic (encore un autre buzzword), est un OS fait pour installer uniquement des conteneurs, qui est basé sur rpm-ostree, qui est basé sur OSTree (un projet GNOME initialement). Avec rpm-ostree, c'est un tout autre modèle de déploiement, de mises à jours, les rollbacks sont possibles, etc.

    Pour le desktop, une Fedora "Atomic" Workstation est en préparation aussi. Lire à ce sujet ce mail qui explique assez bien le contexte, et qu'un système sans état (stateless) était déjà un des objectifs il y a plus de 10 ans, ce qui a conduit aux LiveCD (un OS générique qui fonctionne partout, sans besoin de config/état, par exemple pas besoin de config d'X.org, tout le matériel est détecté au démarrage).

  • # Pourquoi traduire?

    Posté par  . Évalué à -9.

    Pourquoi traduire alors que sérieusement, si on veut vraiment apprendre à maîtriser linux faut commencer par apprendre l'anglais …

    • [^] # Re: Pourquoi traduire?

      Posté par  (Mastodon) . Évalué à 10.

      Mettre deux barrières en même temps l'une sur l'autre au lieu de ne laisser que la plus intéressante (apprendre Linux), et laisser les gens apprendre l'anglais par ailleurs, plus tard, ou même pas du tout ?

      On parle de pédagogie ici, la traduction, c'est pédagogique, on découpe les problèmes, et le livre en français permet de résoudre un problème : faire découvrir les entrailles de Linux, pour un public francophone.
      Apprendre l'anglais n'a rien à voir avec l'informatique…

      Par ailleurs, le niveau d'anglais nécessaire à maîtriser son OS est proche de zéro : les pages de manuel sont traduites, les logiciels sont majoritairement traduits. Et on trouve des tonnes de docs, de forums, de communautés, et de ressources en français, il est rarement absolument nécessaire d'aller chercher en anglais. Ce n'est qu'un plus pour inclure plus de résultats et trouver plus facilement, pas un impératif.

      Tu vas me dire quid des commandes adoptant une syntaxe tirée de mots anglais ?
      On s'en fout éperdument, de toute façon il s'agit d'apprendre des langages, pas des langues, que les mots-clefs aient des sens en anglais n'aide pas vraiment, au fond, à comprendre le code, ce qui compte c'est de savoir ce que font les mots-clefs. Ça pourrait être du sanskrit, ou un truc complètement inventé, ça ne changerait rien.
      J'ai appris à programmer avant de savoir parler anglais, bien avant, et je prononce toujours « gautau » quand je programme, malgré mon niveau d'anglais plus que correct aujourd'hui.

      Yth.

    • [^] # Re: Pourquoi traduire?

      Posté par  (site web personnel) . Évalué à 7.

      C'est marrant comme les mêmes questions reviennent tous les 6 mois….

      Je pense qu'en cherchant dans les archives, tu devrais trouver déjà des réponses.

      Mais tu as raison, cela ne sert a rien, et d'ailleurs pourquoi on enseigne encore le français alors qu'on devrait tous parler anglais dans le monde.

      Et d'ailleurs je pense qu'il est aussi inutile de faire lfs que de traduire le livre , puisqu'il y a déjà des distributions qui fonctionnent.

      • [^] # Re: Pourquoi traduire?

        Posté par  . Évalué à 1.

        Et d'ailleurs je pense qu'il est aussi inutile de faire lfs que de traduire le livre , puisqu'il y a déjà des distributions qui fonctionnent.

        Oui, être complètement dépendant des autres semble être devenu le leitmotiv du futur, ne plus être capable de rien, juste obéir à ses maîtres…

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.