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.

Commentaires

Sympa quand on aime la bidouille et que l'utilisation d'un OS est une fin en soi :)
Mais pour un usage quotidien où l'OS n'est qu'un outil qui permet d'effectuer des utilisations qui ont vraiment un sens c'est une perte de temps !
Heureusement Linux nous laisse vraiment choisir la distribution la plus adaptée à nos besoins !
Personnellement j'ai utilisé redhat, mandrake, ubuntu et linux mint.
J'ai Ubuntu sur mon PC Portable et mon Eeepc sinon j'utilise un iMac avec MacosX et Windows Seven en dual boot pour jouer.
Je n'ai pas réussi à installer le son avec Ubuntu sur le mac mais je n'ai pas testé d'autres distribs.

Bien entendu tout ceci n'est qu'une histoire de goût et d'utilisation. C'est vrai que j'aime tout contrôler et savoir le + possible comment on OS fonctionne. Il est clair que pour une simple utilisation avec un OS relativement prêt-à-l'emploi, une slackware est assez violent.

Salut,

>>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.

Faut pas exagérer non plus, vieux oui mais très vieux... Et il y a les backports.

>>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é.

Je me demande où tu as vu que l'on ne bénéficiait plus des mises à jours de sécurité avec Testing ou Sid...

On n'en bénificie pas aussi rapidement que la version stable (enfin pour testing en tout cas), non ?

Là on est d'accord. :)
Mais il y a quand même une grande différence entre pas du tout et pas aussi rapidement... ;)
Pour Testing la rapidité est généralement fonction de la sévérité de la faille (pour Sid c'est toujours rapide), donc pour une machine de bureau ce n'est pas vraiment un gros problème.

slacker d'un jour, slacker toujours ;)

J'ai aussi utilisé un temps toutes ces distribs, et d'autres, et dans l'ensemble j'ai le même ressenti, mais vraiment pour beaucoup de choses (connaître debian n'est pas connaître linux, ...).

Par contre depuis peu je re-découvre Ubuntu. Et vraiment, je suis agréablement surpris. Je pourrais pas en faire mon OS desktop quotidien, encore moins un serveur, mais ça a le mérite pour le non "informaticien" d'être propre, fiable et simple : on trouve ce qu'on cherche où on s'attend à le trouver (merci gnome et merci Ubuntu de bien l'avoir intégré à l'OS). Tu devrais passer un peu de temps avec, niveau desktop bien sûr.

slacker toujours ;) On a beau essayer autre chose on y revient tout le temps... Pareil que moi :)

Dans les avantages de la Slackware je mettrai aussi une extrême légèreté. Par défaut (sans configuration manuelle particulière) le bureau KDE est hyper réactif et léger. Avec de la configuration en plus... Génial ! Par contre ce qui est génial c'est qu'avec elle tu fais ce que tu veux, bref "ton" OS.

Pour mettre gnome dessus il y a dropline gnome et un autre truc du genre, par contre je n'ai pas d'écho dessus..

Slackware for ever !!!

Un des avantages de la Slackware par rapport aux autres distributions linuxiennes, c'est quelle s'adapte à nos besoins. On peut l'utiliser sans passer trop d'heures à la configurer, et inversement.

Concernant les autres distributions, je ne les connais pas (j'ai tâté un peu la Debian, mais j'ai pris peur avec les dépendances parfois hallucinantes).

Dommage, que tu n'es pas testé les BSD (bien supérieur à Linux).

Bonjour, tres sympas l'article, mais j'aurai voulu une plus grande partie sur slackware (comme elle arrivait en derniere et etait ta preferee, j'ai cru que tu allais te lacher, mais non...

J'aurai voulu en fait savoir deux choses ? propos de slackware : ton
utilisation au quotidien (utilisateur de KDE, ou d'un WM plus leger ?) et aussi si tu l'avais experimentee en tant que serveur ? (et si c'est le cas comment se passe grosso modo la gestion des services au quotidien...)

Je me pose ces questions car j'ai failli une ou deux fois sauté le pas vers slackware, mais étant debian assisted et par manque de temps, je n'ai jamais vraiment pu aller au bout de mon envie.

Merci d'avance :)

J'utilise un WM léger (pekwm, non fourni avec slackware) mais j'ai entendu dire que kde marche plutôt bien (kde3 dans la dernière slack mais kde4 dans la prochaine).

Je l'utilise également sur mon serveur sans souci et tout se passe très bien : dns, dhcp, proxy, web, ftp, ssh, sql. Donc n'hésites pas, elle est aussi bien pour du desktop que pour du serveur puisque slackware ne propose que des paquets bien stables et mûrs.

Pour répondre à Olivier, j'attends d'avoir un nouveau PC pour installer freebsd sur mon serveur, histoire d'enrichir mes connaissances.

ok merci bien :)

Salut Thomas.

Tu oublies de parler d'un des aspect les plus importants de Slackware (tu en parles seulement dans ta conclusion) selon moi, la pé-da-go-gie !

Avec Slack on apprend tout Linux, tout est dans des fichiers textes, bien commentés, chaque logiciels est empaqueté au plus près des souhaits des développeurs originels et tout est aux petits oignons (les scripts de post-installation de Debian en moins il me semble).

Slackware est également il me semble, en plus d'être addictive, une distribution représentant la voie royale vers les *BSD, du moins elle est réputée telle quelle, empruntant à ces UNIX une partie de leur fonctionnement (les inits BSD, plus compréhensibles pour un humain que les inits SysV).

C'est également Slackware qui m'a permis de m'intéresser en profondeur à GNU/Linux et à attaquer la création d'une Linux From Scratch (LFS) et donc d'une distribution personnelle. Le gain de connaissances est au final considérable et je m'étonne chaque jour des avancées que je fais, étant non-informaticien à la base.

J'ai connu Linux avec Slackware en... 1996!. Si j'ai aussi regardé ailleurs (Debian, Suse, Fedora, Ubuntu) je reviens toujours à Slackware qui certes n'est pas parfaite mais dans l'ensemble du fait des moindres automatismes permet un meilleurs contrôle...

En conclusion : Pas de dépendances est un gage d'indépendance!