Mes expériences des distributions GNU/Linux

Je vais présenter simplement toutes les distributions GNU/Linux que j'ai expérimentées. Je ne compte pas les distributions que j'ai installé une semaine ou 2, ni celles que je n'ai jamais testé en profondeur. Tous les avantages/inconvénients que je vais donner concerne mon avis personnel uniquement.

Depuis 2001 que j'utilise GNU/Linux, je n'ai pas testé 150 distributions différentes car je ne trouve pas utile de changer constamment de système, il faut juste le temps de trouver celle qui nous convient. Donc il n'y en a que 4 que j'ai réellement installé et utilisé au quotidien. Je me permets de faire un historique rapide pour situer mon expérience dans le temps :

  1. Slackware : 2001 à 2007
  2. Debian : novembre 2007 à mai 2008
  3. Gentoo : mai 2008 à décembre 2008
  4. Arch Linux : décembre 2008 à mai 2009
  5. Slackware : mai 2009 à maintenant

Comme vous pouvez le constater, il ne s'agit que de distributions pour utilisateur avancé. Les distributions user-friendly ne m'intéressent tout simplement pas. Si j'ai quitté Slackware en 2007, c'était uniquement pour connaître autre chose, sinon je ne l'aurais sans doute jamais quitté.
Toutes ces distributions sont développées par une communauté, sans aucune entreprise derrière.

Debian

Distribution très populaire, elle est réputée pour sa stabilité, sa quantité de paquets et peut être utilisé autant pour faire du serveur que du desktop. Elle est divisée en 3 branches : unstable (tous les nouveaux paquets arrivent dans cette branche), testing (elle accueille les paquets mûrs et testés de unstable, elle sera la prochaine version stable), stable (la version officielle stable, elle est figée, seules les mise-à-jour de sécurité peuvent être effectuées).

Avantages :

  • Quantité de paquets : elle contient énormément de paquets par défaut (environ 18000).
  • Stabilité
  • Architecture : elle en supporte énormément.

Inconvénients :

  • Administration automatique : l'installation d'un service fait tout automatiquement (configuration du service, chargement du service immédiat et au démarrage). Je n'aime pas qu'on fasse les choses à ma place, mais ce comportement convient à ceux qui aiment être assistés.
  • Outils dédiés : sous Debian, on utilise quasiment que des outils qui lui sont propres (aptitude, dpkg-reconfigure, module-assistant, dh_make...) donc on apprend à utiliser principalement Debian et non GNU/Linux en général.
  • Compilation d'un logiciel tiers : la création d'un paquet tiers bien propre est assez difficile et requiert évidement des outils et fichiers de configurations propre à Debian. Rien n'empêche d'utiliser checkinstall ou même le vulgaire "./configure && make && make install" qui produisent des installations très médiocres.
  • Dépendances des paquets : je trouve en général que les logiciels requiert beaucoup de paquets ce qui ne me convient pas (je ne parle pas des paquets recommandés ou suggérés).
  • Vieux paquets : comme la version stable contient beaucoup de paquets, il est difficile de communier nouveauté et stabilité, donc les paquets sont souvent très vieux. Ceci ne pose pas vraiment de problème pour un serveur mais n'est pas idéal pour un ordinateur de bureau. Ceci dit rien n'empêche de passer à la branche testing ou unstable mais vous ne bénéficierez plus des mise-à-jour de sécurité.
  • Nouvelle version : Debian sort une nouvelle version stable environ tous les 18 mois (voir plus) ce qui est très long (gage de stabilité).

Gentoo

Il s'agit d'une distribution source, c'est-à-dire qu'on la compile entièrement depuis les sources. Sa force principale est sa fameuse variable USE qui permet de choisir les options de compilations. Elle utilise un système de ports (portage) inspiré des systèmes d'exploitations BSD. L'arbre portage contient tous les ebuilds qui nous servent à télécharger, compiler, installer un paquet facilement.

Avantages :

  • Souplesse et légereté : de part la compilation totale du système et du choix de ses options, on installe un système réellement propre à ses besoins, le plus léger possible.
  • Rolling-release : elle n'a pas de version, c'est-à-dire que l'arbre portage contient toujours les nouvelles versions des logiciels qui passent en période de test puis en stable.
  • Architectures : comme Debian, elle en supportent beaucoup.

Inconvénients :

  • Temps de compilation : évidement l'installation d'un paquet binaire et l'installation par compilation ont des durées radicalement différentes. Installer Firefox en binaire prend 15s, alors que le compiler peut prendre une dizaine de minutes.
  • Gestion de l'arbre portage : j'ai été déçu de la maintenance de portage en utilisant les paquets stables. J'ai vu des logiciels disparaître pendant plusieurs jours et réapparaître (comme virtualbox), d'autres paquets ont eu absolument besoin de la version testing de portage pour s'installer (transcode avec le support de fichiers real si je ne m'abuse). J'entends déjà les hurlements des gentooistes qui se disent que j'ai dû mal m'y prendre. Pourtant j'avais tout testé et demander un maximum d'aide sans résultat. C'est d'ailleurs ce qui m'a poussé à changer de distribution.

Arch Linux

Arch est une distribution qui se veut très à jour et légère. Comme Gentoo, elle n'a pas de version et fonctionne en rolling-release. Elle contient 3 branches : core (paquets systèmes indispensables), extra (paquets non indispensables), community (paquets non officiels mais dont les auteurs ont été reconnus par l'équipe d'Arch). Elle dispose aussi d'une dernière branche AUR qui ne contient pas de paquets mais uniquement des PKGBUILD (script de création de paquet). N'importe qui peut en déposer, il faut donc être vigilent et les consulter avant de les utiliser.

Avantages :

  • Rapidité : le démarrage du système ainsi que l'installation des paquets sont très rapides.
  • Souplesse : il est très facile de compiler ses propres paquets grâce au PKGBUILD.
  • Logiciels très à jour (pas toujours un avantage) donc idéal pour un ordinateur de bureau.
  • Généraliste : en dehors de son gestionnaire de paquets pacman (et yaourt), elle ne contient aucun outil qui lui est propre.
  • AUR : comme tout le monde peut déposer et noter les PKGBUILD, il est très facile de participer à son développement.

Inconvénients :

  • Logiciels trop à jour : malgré sa bonne stabilité, je trouve que certains paquets sont trop à jour et donc comporte des défauts de jeunesse, et j'ai l'impression que certains paquets ne sont pas suffisamment testés. Ceci est sympa pour les geeks mais n'est pas génial pour ceux qui désirent de la stabilité avant tout.
  • Serveur : comme elle contient beaucoup de paquets trop récents, je ne la conseillerais vraiment pas pour une utilisation en serveur.

Slackware

Distribution différente des autres, elle est développée par une petite équipe dont le chef est Patrick Volkerding, sa philosophie est donc la même depuis le début. Même si elle est suffisamment riche pour l'utiliser en tant que serveur comme en desktop, elle ne dispose pas d'autant de paquets que les autres distributions. Son énorme différence avec les autres est qu'elle ne gère pas les dépendances. Cette caractéristique rebute beaucoup de gens qui ne comprennent pas comment cela peut encore exister. Pourtant c'est ce qui fait sa force. En fait Slackware permet d'avoir une base solide pour gérer son système et ses logiciels exactement comme on veut. Il s'agit en fait ni plus ni moins d'une LFS avec un gestionnaire de paquets et une bonne base. Il existe des SlackBuilds (non officiels) qui permettent de construire ses propres paquets.

Avantages :

  • Stabilité
  • Logiciels à jour : elle contient des logiciels bien à jour mais mûrs. Par exemple, pas de gcc-4.4 pour l'instant.
  • Généraliste : comme Arch, elle n'a que son gestionnaire de paquet (pkgtools) comme outil qui lui est propre.
  • Absence de gestion de dépendance : ceci est un avantage car on contrôle complètement son système et on installe vraiment ce qu'on veut, comme on veut, dans le moindre détail, et en utilisant des outils généralistes et non propre à Slackware.
  • Contrôle total : ajoutons aussi qu'il faut tout faire manuellement. Si on installe un service, il ne se lancera pas automatiquement et ne chargera pas au démarrage de la machine, elle se contentera de l'installer. En 2 mots : elle est bête et con car elle ne sait rien faire toute seule.
  • Quantité de paquets : comme elle ne gère pas les dépendances, il est plus facile de savoir quels paquets installer ou désinstaller lorsqu'ils ne sont pas trop nombreux.

Inconvénients :

  • Temps de maintenance : comme on fait tout à la main (rien d'automatique), la maintenance est forcément plus longue.
  • Création de paquets : lorsqu'un SlackBuild d'un logiciel n'existe pas, il faut le créer, ce qui peut être long suivant les cas.
  • GNOME : pas de Gnome dans cette distribution.
  • Architecture : elle n'a toujours supporté que l'architecture x86, mais le support officiel de x86_64 sera présent dès la prochaine version.

Conclusion

Vous l'aurez compris, j'aime avoir un contrôle absolu de mon système, je suis donc un slackeur :) . Slackware est vraiment la distribution que je conseille à ceux qui veulent apprendre GNU/Linux de fond en comble (débutant ou non), et Arch celle que je conseille pour ceux qui aiment bidouillé et qui n'ont pas froid aux yeux ;) .
Je ne remercierai jamais assez celui qui m'a installé Slackware en 2001.

N'hésiter pas à donner vos critiques car j'ai pu ne pas assez approfondir certains points ou en oublier.

Vus : 771
Publié par Thomas Bourdon : 17