Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : Distributions Linux, vers un éclatement des formats de paquetages ?

Posté par Farvardin (page perso, ) le 27 octobre 2006
Cher Journal,

aujourd'hui vendredi, jour propice à la discussion, quelques idées et frustrations me trottaient dans la tête.

Jusqu'à présent j'étais plutôt habitué à l'utilisation de Debian, et sans remettre en cause ceci j'ai commencé à tester d'autres distributions. C'est alors que j'ai remarqué que ce qui me semblait normal sous Debian ne l'était pas forcément ailleurs, par exemple certains programmes se retrouvent dans /usr/bin sous debian, alors qu'ailleurs ils sont installés par défaut dans /usr/local/bin, de même on peut avoir des applications graphiques dans /usr/bin, et ailleurs on les retrouve dans /usr/X11R6/bin, voire dans /opt etc. Sans vouloir défendre plus un point de vue qu'un autre, pour parler franchement est-ce qu'il n'est pas débile de faire un format de paquet par distribution, les paquets d'une distribution à l'autre ne s'échangeant pas forcément très bien ? (dépendances etc.)

Si j'ai bien compris le format .deb est arrivé le premier (cf. wikipedia à propos du Linux Standard Base), puis .rpm, mais d'une distribution à l'autre, les rpm ne sont pas forcément compatibles. Donc on a des rpm spécifiques à red had, fedora, d'autres à mandriva, opensuse, des deb spécifiques à debian, d'autres à ubuntu (pourquoi n'ont-ils pas sorti des .ubu à la place ?), et puis des tgz pour slackware, et si on peut convertir de l'un à l'autre avec la commande alien (de deb à rpm et vice versa), d'une distribution rpm à l'autre c'est plutôt hasardeux, pour ce que j'ai vu (et idem de debian à ubuntu)

J'ai trouvé aussi qu'il existait un genre de consortium Filesystem Hierarchy Standard, mais que cela n'avait pas été respecté non plus.
Il en va de même pour les fichiers de configuration, et tout cela contribue à faire un joyeu bordel pour qui veut s'y retrouver un peu. Alors on va dire que c'est la diversité qui fait la force du libre, mais je trouve dommage (j'ai écrit "débile" plus haut) que les efforts des empaqueteurs soient dispersé à cause de cela. Si quelqu'un passe (qui a dit perd ?) du temps à empaqueter pour Debian, son travail ne sera pas utile pour ceux qui utilisent opensuse ou fedora, etc. Même s'il existe des outils comme smart install, ce n'est pas la panacée non plus, et le système linux me semble un peu affaibli par cet éclatement.

Alors parfois les acteurs des solutions Unix arrivent à s'entendre pour avancer (comme ils avaient pu faire pour les systèmes de fichier, cf. http://linuxfr.org/2006/07/23/21124.html ), est-ce qu'ils ne pourraient pas faire de même pour la hiérarchie unix, le format de packetage, et les fichiers de configuration (virez-moi ces fichiers avec des . du dossier /home svp, c'est une horreur sans nom car tous les programmes ne les filtrent pas)

Bien sûr les avis de chacun divergent, mais ne serait-il pas possible dans un premier temps d'envisager de faire tout un système "propre", et que les spécificités actuelles des diverses distributions se retrouvent via des liens symboliques ? (un peu comme dans gobolinux)

http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
http://fr.wikipedia.org/wiki/Linux_Standard_Base

Enfin, et on pourrait en faire tout un nouveau journal, au niveau de la distribution des binaires, cela ne serait pas mal s'il y avait également un peu de standardisation. Je dois dire qu'avant je n'appréciais pas trop un système comme autopacketage, mais finalement ce n'est pas si mal, car cela permet de s'installer sur la plupart des distributions (on en revient au problème que si tout était un peu moins bordélique dans les systèmes de paquets, il n'y aurait pas besoin de système comme autopacketage... car je ne suis pas trop en faveur de binaires à télécharger et installer façon windows ou pcbsd). D'ailleurs cela serait bien si cette distribution de binaire pourrait être un peu plus généralisée par les auteurs de logiciels, sans remettre en cause la présence des sources bien entendu, c'est vraiment lourd lorsque l'on se trouve avec un petit programme à compiler qui repose sur des environnements de programmation pas très léger genre gtk, sdl, qt, clanlib etc. Pour quelqu'un qui connait un peu ça va, pour un autre, il va découvrir la joie de la recherche des fichiers de dev, des configure qui ne passent pas (pourquoi c'est pas les grosses bibliothèques à problème qui sont testées en premier d'ailleurs, cela éviterait de tout lister pour rien ?), des make qui flanchent, et surtout du jeu de ricochet des dépendances de dépendances de dépendances...
L'autre fois pour compiler un truc "tout bête" comme ion3 sous opensuse j'ai dû mettre 1/2 heure, chaque dépendance dépendait d'une autre qui au final ne compilait pas, et j'en ai été quitte pour installer ion2 à la place...

En fait sur pas mal de projets on trouve 1 binaire windows, 1 paquet dmg binaire mac osx, et les sources pour linux (démerdez-vous, et tant pis pour les newbies). Et si on n'a pas les sources, c'est un paquet pour debian, un pour ubuntu, un pour fedora, un pour mandriva, un pour suse, un pour slackware... (cf. http://www.videolan.org/vlc/ )

C'est vraiment pas pour aider le décideur pressé tout ça...

> Lire le journal (121 commentaires, moyenne: 2,4).  

Vous avez demandé le commentaire #769580.

[+] Trop d'imprecision tue la reflexion

Posté par GnunuX (Jabber id, page perso, ) le 27/10/2006 à 12:40. (lien). Évalué à -9.

Il y a plusieurs erreurs, mais la plus grosse (et je ne suis pas allé plus loin) est sans contest :

"Si j'ai bien compris le format .deb est arrivé le premier (cf. wikipedia à propos du Linux Standard Base), puis .rpm,"


Tu as mal compris.

  • [^]Re: Trop d'imprecision tue la reflexion

    Posté par Volnai () le 27/10/2006 à 13:17. (lien). Évalué à 2.


    [...]cf. wikipedia à propos du Linux Standard Base)[...]
    Tu as mal compris.


    http://en.wikipedia.org/wiki/Linux_Standard_Base

    For example, the LSB specifies that software packages should be delivered in Red Hat's RPM format, which was invented much later than Debian's deb package format

    Je ne sais pas si wikipedia a tort, ou si on est deux à ne pas comprendre l'anglais, mais moi je trouve qu'il à bien compris ce qu'il a lu.

    • [^]Re: Trop d'imprecision tue la reflexion

      Posté par GnunuX (Jabber id, page perso, ) le 27/10/2006 à 13:26. (lien). Évalué à 1.

      Cette phrase que tu me copie veut dire (sauf si on m'a mal appris l'anglais) que les .DEB sont plus anciens que les .RPM. Pas que le ".deb est arrivé le premier".

      Il existait d'autre packages avant et même encore aujourdhui.

      Donc non, il (et tu) as mal compris.

      • [^]Re: Trop d'imprecision tue la reflexion

        Posté par zerbro (page perso, ) le 27/10/2006 à 13:40. (lien). Évalué à 3.

        Ca depend du point de vu... Toi tu vois ca de maniere "absolue".

        Einstein disait "tout est relatif"...

        [^]Re: Trop d'imprecision tue la reflexion

        Posté par Farvardin (page perso, ) le 27/10/2006 à 13:43. (lien). Évalué à 2.

        je sais, mais il y a 3 formats actuellement : rpm, deb et tgz de slackware. Mais les paquets slackware ne gèrent pas les dépendances (de base), et c'est une archive tgz, aussi, même si c'est arrivé avant (éclaire nous de tes lumières et donne nous plus de précisions...), je ne sais pas si on peut le compter comme le reste.

        --
        No troll found in this incoming post.
        Checked by ATG.
        Version: 7.4.821 / Trollifiante Database: 247.13.2/1101 - Release Date: 30/04/2008 12:29
        • [^]Re: Trop d'imprecision tue la reflexion

          Posté par GCN (Jabber id, page perso, ) le 27/10/2006 à 13:59. (lien). Évalué à 6.

          Pacman[1] qui est le gestionnaire de ArchLinux et de Frugalware utilise des paquets qui sont en fait de "bêtes" tgz (d'où l'extension, sous Arch: .pkg.tar.gz). Les dépendances sont très bien gérées et la méthode de création de paquet et l'une des plus simples qui existe actuellement (je compare avec les .spec pour les RPMs qui, bien que puissants, sont loin d'être aussi simples à maîtriser qu'un PKGBUILD sous Arch).

          [1] - http://www.archlinux.org/pacman/

          --
          The UNIX way of sex:
          date;cd ~;gunzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep
          • [^]Re: Trop d'imprecision tue la reflexion

            Posté par andeus () le 27/10/2006 à 14:32. (lien). Évalué à 2.

            Effectivement les paquets Archlinux sont très simple à faire. Par contre je ne sais pas si ça a changé depuis, mais à l'époque où j'étais sous Archlinux les paquets n'étaient pas dutout "splités". Du coup quand on voulais juste une lib (mysql par exemple), on se retrouvais avec le serveur et le client qui vont avec. Ce n'est pas vraiment optimal à mon avis.

            • [^]Re: Trop d'imprecision tue la reflexion

              Posté par Yth (Jabber id, ) le 27/10/2006 à 15:22. (lien). Évalué à 1.

              Ca n'a jamais été dans la philosophie Slackware de découper un logiciel en binaire, client, serveur, lib, données, docs etc...
              Archlinux est parti de la slack ça a dû rester.

              Les cas où c'est vraiment utile d'avoir juste un bout d'un logiciel sont tout de même très rares, surtout si on considère que le système est là pour permettre le développement d'applis, et la compilation de logiciels. Ce qui est généralement un bon choix pour faire une distrib qui ne soit pas hyper-ciblée.

              Bref à mon avis ce débat tient du troll, des goûs et des couleurs, il y a des plus et des moins de chaque côté, le système tout découpé n'étant pas optimal non plus : plus de boulot côté maintenance, plus de paquets installés, possibilité de se faire feinter par une découpe à laquelle on n'avait pas fait gaffe...

              Yth, les dépendances, c'est pour les faibles...

              • [^]Re: Trop d'imprecision tue la reflexion

                Posté par GCN (Jabber id, page perso, ) le 27/10/2006 à 15:28. (lien). Évalué à 4.

                > Archlinux est parti de la slack ça a dû rester.
                Philosophiquement elles sont peut-être proche, mais ArchLinux est fortement inspirée de Crux (que je ne connais pas donc je me base sur cet article Wikipedia :) [1].

                Sinon concernant la "non-granularité" des paquets ArchLinux c'est clairement voulu et ça ne risque pas de changer demain. Ancien Mandrakeux j'ai trouvé ça un peu relou au début et, finalement (surtout avec les HDDs que l'on trouve de nos jours) on s'y fait et ça ne gêne pas plus que cela (du moins, moi ça ne me gêne pas du tout).

                [1] - http://fr.wikipedia.org/wiki/Arch_Linux

                --
                The UNIX way of sex:
                date;cd ~;gunzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep

                [^]Re: Trop d'imprecision tue la reflexion

                Posté par Croconux () le 28/10/2006 à 12:46. (lien). Évalué à 3.

                Les cas où c'est vraiment utile d'avoir juste un bout d'un logiciel sont tout de même très rares, surtout si on considère que le système est là pour permettre le développement d'applis, et la compilation de logiciels

                Tu suppose que tous les utilisateurs touchent un peu à tout. Ca fait beaucoup de suppositions. Il me semble qu'un grand nombre d'utilisateurs ne codent pas (ou codent avec un langage de script type python/ruby/perl). Pour ces utilisateurs, avoir toutes les bibliothèques de développement n'est pas franchement utile.

                Sinon un autre avantage que je vois est de limiter la bande passate utilisée pour le téléchargement de paquets. Inutile de télécharger la totale si on n'en utilise qu'une partie. Idem lors de mises à jour de sécurité. Si une faille est trouvés dans un programme inutile de re-télécharger le tout. Les paquets contenant les données étant en général très volumineux, les admins des miroirs apprécieront.

                • [^]Re: Trop d'imprecision tue la reflexion

                  Posté par Yth (Jabber id, ) le 30/10/2006 à 01:46. (lien). Évalué à 2.

                  « Tu suppose que tous les utilisateurs touchent un peu à tout. »

                  Non, je dis qu'on considère un OS destiné à être utilisé à la fois par des touche-à-tout et des gens qui veulent juste un truc à utiliser.
                  C'est la masse de tout les utilisateurs du système qui est globalement touche-à-tout, pas chacun pris individuellement.

                  Après on peut concevoir un système Linux destiné spécifiquemlent à des gens qui n'iront pas voir, et là virer les bibliothèque de développement et pas mal de machins comme les docs, qui ne serviront pas au public visé. Mais ce n'est pas le cas de la Slack, de la Debian, de la Fedora, de la Mandriva, d'Arch Linux, etc.

                  Fallait juste lire la fin de mon paragraphe :
                  « Ce qui est généralement un bon choix pour faire une distrib qui ne soit pas hyper-ciblée. »

                  Pour le coup de la bande passante, je sais pas, faudrait voir si vraiment on a une réelle différence, à l'usage. Ca se verrait sûrement sur des gros morceaux, comme OOo, ou samba, ou encore java, ou LaTeX, mais ça arrive vraiment sur des systèmes avec des paquets découpés d'avoir des mises à jour de juste une partie de ces logiciels ?
                  De toute façon quand tu passes de KDE 3.5.3 à KDE 3.5.4, tu vas tout retélécharger...
                  Après s'il s'agit de corrections de failles dans ssh, apache, dnsmasq, proftpd, ce n'est pas très lourd pour le logiciel complet.

                  Je pense que c'est vraiment une question de goûts, et que finalement les avantages et les inconvénients se valent.


                  Yth.

                  [+] [^]Re: Trop d'imprecision tue la reflexion

                  Posté par xsnipe () le 30/10/2006 à 08:50. (lien). Évalué à -1.

                  Un autre avantage c est la limitation des trous de sécurité possible, en effet installer tout et n importe quoi alors qu on l en a pas l utilité et dans le cas de serveurs qui tournent ... Donc si je veux juste php je dois forcément me coltiner Apache ?? et Python évidemment je fois me farcir Zope aussi, pas de pb il y a de la place sur le DD enfin ...

                  --
                  Debian ... gentoo moi ça et vite :)
                  • [^]Re: Trop d'imprecision tue la reflexion

                    Posté par Yth (Jabber id, ) le 30/10/2006 à 11:02. (lien). Évalué à 1.

                    Là tu racontes n'importe quoi.

                    Apache et PHP sont deux logiciels différents, et quelle que soit la distrib ils sont empaquetés séparéments.
                    Comme Zope et Python.

                    La question ici c'était d'avoir des paquets mysql-server, mysql-devel, mysql-lib, etc. et si tu veux juste installer un logiciel qui utilise les lib mysql, tu installes juste mysql-lib, si tu veux développer ou compiler des trucs nécessitants mysql tu mets mysql-devel, et si tu veux faire tourner un serveur mysql tu mets mysql-server.
                    Ou alors tu as un paquet mysql qui regroupe tout ça et basta, au pire ton serveur mysql est installé mais pas démarré si tu as juste besoin des libs ou si tu fais du dev mysql sans avoir besoin de démarrer un serveur.
                    C'est pas comme si un serveur no démarré ajoutait vraiment des trous de sécurité hein ^^

                    Yth.

                    • [+] [^]Re: Trop d'imprecision tue la reflexion

                      Posté par xsnipe () le 30/10/2006 à 11:40. (lien). Évalué à -1.

                      Je disais ça parce qu à une époque sur une distrib que je ne citerai pas je voulais installer php et direct il m installe php, un autre jour je voulais juste le client postgres bam il m installe le serveur, là tu me cites la debian sans le dire, elle évidemment a tout bien séparé alors que M...diva ... ah mince je l ai dit ^^ allez moinssez moi faites vous plaisir ...

                      --
                      Debian ... gentoo moi ça et vite :)

          [^]Re: Trop d'imprecision tue la reflexion

          Posté par Pascal (page perso, ) le 27/10/2006 à 15:15. (lien). Évalué à 3.

          Si on peut tout à fait compter les tgz de Slackware comme un format de paquet à part entière.
          Un paquet Slack n'est pas un simple tar.gz. En effet, il peut contenir des scripts d'installations (un peu comme les debian), et un petit descriptif du contenu du paquet qui s'affiche lorsque tu l'installes.

          • [^]Re: Trop d'imprecision tue la reflexion

            Posté par Farvardin (page perso, ) le 27/10/2006 à 15:25. (lien). Évalué à 2.

            ok, merci de l'info. Par contre est-ce que c'est arrivé avant les paquets debian ? (juste une question, pas pour relancer une polémique, de toute façon c'est accessoire par rapport au pb soulevé ici)

            --
            No troll found in this incoming post.
            Checked by ATG.
            Version: 7.4.821 / Trollifiante Database: 247.13.2/1101 - Release Date: 30/04/2008 12:29

            [^]Re: Trop d'imprecision tue la reflexion

            Posté par Mark Havel () le 27/10/2006 à 15:30. (lien). Évalué à 3.

            C'est surtout je pense un format de paquet assez primitif, puisque un peu plus fruste qu'un deb ou un rpm.

            Après, c'est clair que la distribution des paquets est parfois assez bordélique sous Linux et le plus rageant, c'est qu'il arrive parfois qu'il soit plus simple d'installer les versions Windows de ces programmes que les versions Linux. Je pense qu'il y a effectivement peut-être des progrès à faire en la matière.

            • [^]Re: Trop d'imprecision tue la reflexion

              Posté par Gniarf () le 27/10/2006 à 17:46. (lien). Évalué à 0.

              "frustre" ???

              pourquoi pas "orangé" ou "avec un arrière-goût de betterave" ?

              --
              Windows has no users. It has hostages.

              [^]Re: Trop d'imprecision tue la reflexion

              Posté par Yth (Jabber id, ) le 30/10/2006 à 01:53. (lien). Évalué à 6.

              Tu sais, finalement un .deb ou .rpm, ce n'est pas grand chose de plus que le .tgz de la slack, c'est un brin plus opaque, ça ressemble à un bidule magique avec plein de merveilles dedans, mais c'est aussi tout un tas de fichiers mis dans une archive, quelques descriptions, des scripts d'installation/désinstallation, et des informations diverses, les dépendances en particulier, qui elles ne sont pas dans les .tgz de la slack mais pourraient y être, ça ne fait qu'un fichier de plus à ajouter, et à gérer aussi.

              Le format n'y fait rien, et tous pourraient être en .tgz, ou tar.bz2, par exemple, sans qu'il n'y ait d'ajout ou de suppression de fonctionnalité.

              Yth.

              • [^]Re: Trop d'imprecision tue la reflexion

                Posté par Sylvain Sauvage () le 30/10/2006 à 09:04. (lien). Évalué à 3.

                Je suis d'accord avec toi sur le fait qu'il s'agit d'un choix que d'utiliser un format binaire d'archive qui n'est pas un pur tar : il a été choisi d'intégrer certaines méta-données dans le fichier principal plutôt que d'utiliser un tar et de placer ces méta-données dans un fichier spécial du tar.
                Cependant, le terme de format est polysémique. Dans la phrase précédente, ainsi que dans ta dernière phrase, il s'agit du format binaire, de la couche physique du transport des informations. Mais le format, c'est aussi toutes ces méta-informations qui traînent dans l'archive. C'est la couche logique. C'est le fait que l'archive contient telle et telle information.
                Ceci fait que tu peux dire « le format n'y fait rien » et que je peux répondre « le format y fait tout » sans pour autant que l'un de nous ait tort...

                • [^]Re: Trop d'imprecision tue la reflexion

                  Posté par Yth (Jabber id, ) le 30/10/2006 à 11:05. (lien). Évalué à 2.

                  Oui, en effet ^^
                  Disons que la façon d'empaqueter a relativement peu d'importance, ce qui compte ce sont les informations supplémentaires embarquées dans le paquet.

                  Donc .tgz, .deb, .rpm, aucune importance en soi.

                  Yth.

                  • [^]Re: Trop d'imprecision tue la reflexion

                    Posté par imalip (page perso, ) le 30/10/2006 à 13:54. (lien). Évalué à 2.

                    Disons que la façon d'empaqueter a relativement peu d'importance, ce qui compte ce sont les informations supplémentaires embarquées dans le paquet.

                    D'autant que pour la petite histoire, un .deb n'est rien d'autre que 2 .tar.gz dans une archive au format ar... :)

                    --
                    "While a monkey can be a manager, it takes a human to be an engineer" Erik Zapletal

        [^]Re: Trop d'imprecision tue la reflexion

        Posté par spotty () le 02/11/2006 à 13:10. (lien). Évalué à 1.

        RPM et DEB sont plus ou moins nés en même temps

        Les deb datent de mars 1995

        http://fr.wikipedia.org/wiki/Debian

        Et redhat

        Red Hat est également l'inventeur du système de gestion de paquets RPM (Red Hat Package Manager en 1995 avec Red Hat Linux 2.0), repris par la suite par de nombreuses autres distributions, telles que SuSE, Mandriva, ou encore Yellow Dog.


        En fait, la phrase le package LSB pour debian est plus ancien que le package pour RedHat, et non pas, le DEB est plus ancien que le RPM

        Juste pour être clair