170 lines
10 KiB
Markdown
170 lines
10 KiB
Markdown
|
Title: Pourquoi je vais quitter linux pour passer a FreeBSD.
|
|||
|
Date: 2013-02-04 17:41
|
|||
|
Author: Wxcafe
|
|||
|
Slug: pourquoi-je-vais-quitter-linux-pour-passer-a-freebsd
|
|||
|
|
|||
|
*This is subject to debate, and as most of the actors in this field are
|
|||
|
not French-speaker, there is an English version of this text [here][]*
|
|||
|
|
|||
|
Bon, voila. J'ai passé le cap. Je suis sous GNU/Linux depuis un certain
|
|||
|
temps, maintenant, et depuis un certain temps je remarque des
|
|||
|
changements malvenus. Bien entendu, au début, je n'avais pas les
|
|||
|
connaissances nécessaires pour comprendre ne serait-ce que ces
|
|||
|
modifications existaient. Et puis certaines sont arrivées avant que je
|
|||
|
n'ai même idée que quelque chose dans mon système d'exploitation avait
|
|||
|
cette fonction la. Par exemple, udev, ou policykit/consolekit/. A
|
|||
|
l'époque, je n'avais aucune idée de la façon dont les disques étaient
|
|||
|
montés sur mon système. Le premier système non-Windows que j'ai utilisé
|
|||
|
fut Ubuntu 9.10 Karmic Koala, et il était encore trop tôt pour que je
|
|||
|
cherche a démonter le système pour comprendre comment il fonctionnait en
|
|||
|
profondeur. Cependant, avec le temps, les connaissances s'accumulant et
|
|||
|
mon niveau de compréhension du système s'améliorant, j'ai commencé a
|
|||
|
remarquer que certain bouts de l'OS ne collaient pas exactement avec les
|
|||
|
autres. Bien sur, je ne saurais dire si cette réalisation s'est faite a
|
|||
|
cause de la recrudescence de ces bouts d'OS, ou bien juste a cause de ma
|
|||
|
compréhension plus poussée. Toujours est-il que ces petits bouts d'OS ne
|
|||
|
s’adaptant pas au reste du système se faisaient de plus en plus visible.
|
|||
|
Et puis, un jour, j'en ai eu marre de voir unity sur ma machine, et j'ai
|
|||
|
choisi de passer a Archlinux. C'était avant le passage a systemd. Ce
|
|||
|
système me convenait bien. Si je n'installais pas Gnome, ce que je ne
|
|||
|
comptais pas faire, il ne me forçait pas a installer un *kit
|
|||
|
quelconque, ni dbus. Oui, udev était toujours la, mais c'était le moins
|
|||
|
envahissant de ceux la.
|
|||
|
|
|||
|
Mais Archlinux est passé a systemd. Attention hein, je ne critique ici
|
|||
|
ni systemd, ni udev, ni même les *kit, et surtout pas Archlinux. Les
|
|||
|
premiers sont probablement très efficaces dans leur domaine, et le
|
|||
|
second n'a pas **vraiment** eu le choix, rapport a la philosophie de la
|
|||
|
distribution d'avoir au plus vite les dernières versions de tout.
|
|||
|
Cependant, systemd, tout comme udev et les *kits (bien que ce ne soient
|
|||
|
pas les seuls a faire ça...) ont un problème très précis, qui n'importe
|
|||
|
pas a tout le monde, mais qui est très gênant pour ceux a qui il
|
|||
|
importe, et ce problème est que ces systèmes ne respectent absolument
|
|||
|
pas la philosophie UNIX. La philosophie UNIX, pour rappel, se résume en
|
|||
|
ces 9 principes :
|
|||
|
|
|||
|
1. Ce qui est petit est beau
|
|||
|
2. Faites en sorte que chaque programme fasse une chose, bien.
|
|||
|
3. Faites un prototype aussi vite que possible
|
|||
|
4. Choisissez la portabilité plutôt que l'efficacité
|
|||
|
5. Stockez les données dans des fichiers textes.
|
|||
|
6. Utilisez ce qui existe déjà a votre avantage. [**1**]
|
|||
|
7. Utilisez des scripts shells pour faciliter la portabilité et la
|
|||
|
réutilisation.
|
|||
|
8. Évitez les UI qui "capturent" l'utilisateur.
|
|||
|
9. Faites de chaque programme un filtre.
|
|||
|
|
|||
|
Alors bien entendu, un système d'exploitation est fait pour évoluer, et
|
|||
|
on pourrait penser qu'UNIX a fait son temps. Cependant, ce n'est pas
|
|||
|
exactement la façon dont l'informatique fonctionne. Effectivement, les
|
|||
|
standards, les systèmes d'exploitation, les logiciels, tout doit évoluer
|
|||
|
- ou mourir - et UNIX ne fait pas exception a la règle. Mais ce n'est
|
|||
|
pas d'UNIX que nous parlons ici. C'est de la *philosophie* UNIX. Et
|
|||
|
celle-ci n'a pas fait son temps, **elle a fait ses preuves.** La
|
|||
|
philosophie UNIX, en plus d'être efficace sur le papier, a aussi 44 ans
|
|||
|
de tests derrière elle, et fonctionne aussi bien qu'au premier jour.
|
|||
|
La philosophie UNIX est aussi et surtout une garantie d'utilisabilité
|
|||
|
et de simplicité pour les administrateurs systèmes, pour les
|
|||
|
développeurs, bref pour tous ceux qui font de l'informatique
|
|||
|
*sérieusement* (je ne dis pas que les autres métiers de l'informatique
|
|||
|
ne sont pas sérieux, je prend juste ceux-ci comme exemples parce que ce
|
|||
|
sont ceux qui sont les plus proches du système).
|
|||
|
|
|||
|
Tous OS se doit d'avoir un système standardisé pour faire communiquer
|
|||
|
les programmes entre eux. UNIX a un système de pipes, des sortes de
|
|||
|
fichiers spéciaux permettant d'échanger des informations. C'est
|
|||
|
efficace, ça respecte le "tout est fichier", c'est standard, c'est
|
|||
|
simple a comprendre, bref, ça fonctionne parfaitement. Dbus vient
|
|||
|
remplacer ça, avec une interface qui n'est explicitement pas faite pour
|
|||
|
être utilisée a la ligne de commande mais a l'aide d'APIs, et un
|
|||
|
programme monolithique qui effectue sa tache d'une façon complètement
|
|||
|
obscure pour l'utilisateur. Alors bien sur, il l'effectue d'une façon
|
|||
|
efficace, cette tache. Oui, ça va plus vite qu'avant. Oui, c'est plus
|
|||
|
"rangé", ça fait moins "fouillis". Mais c'est moins efficace. C'est
|
|||
|
*beaucoup* moins utilisable pour l'utilisateur final. C'est
|
|||
|
horriblement chiant pour les sysadmins, parce qu'ils ne peuvent plus
|
|||
|
lire facilement les échanges entre programmes. C'est peu pratique, en
|
|||
|
fin de compte. Et ça ne respecte pas du tout la philosophie UNIX.
|
|||
|
Systemd prend le même parti de créer une interface unifiée, accessible
|
|||
|
via des appels a des APIs uniquement, complètement obscure, extrêmement
|
|||
|
abstraite, bien entendu monolithique, et très peu ouverte a la
|
|||
|
modification par l'utilisateur final. Alors oui, il parait que ça
|
|||
|
augmente la vitesse de boot. Eh bien, au risque d'en choquer quelques
|
|||
|
uns, je préfère avoir un système qui boote *légèrement* plus lentement
|
|||
|
et que je puisse modifier facilement, et qui soit ouvert, compréhensible
|
|||
|
et distribué. C'est presque comme si les projets freedesktop.org avaient
|
|||
|
pour but de remplacer la base UNIX de linux en créant un système
|
|||
|
concurrent, bâtard, bâti sur le kernel Linux mais n'employant plus les
|
|||
|
systèmes basiques d'UNIX.
|
|||
|
|
|||
|
Le problème est qu'il est facilement visible que la direction prise par
|
|||
|
la communauté Linux n'est pas celle du retour sur les systèmes UNIX ni
|
|||
|
celle du développement de solutions respectant la philosophie UNIX, mais
|
|||
|
remises au gout du jour (?), mais est bien d'accepter et de pousser les
|
|||
|
changements apportés par les projets freedesktop.org directement dans le
|
|||
|
cœur du système lui même. Ainsi, Fedora (très près de Red Hat, dont font
|
|||
|
partie de nombreux développeurs de ces projets), a déjà adopté tous ces
|
|||
|
changements (archlinux aussi, mais pour d'autres raisons...), et on peut
|
|||
|
compter sur le fait que les autres distributions l'adopteront un jour ou
|
|||
|
l'autre.
|
|||
|
|
|||
|
Bon, maintenant que nous avons, si ce n'est démontré la nocivité de ces
|
|||
|
systèmes, tout du moins exprimé les raisons qui font qu'ils me
|
|||
|
déplaisent, on pourrait penser qu'il suffit de passer a une distribution
|
|||
|
n'incluant pas systemd, voire a une distribution n'incluant pas du tout
|
|||
|
de contenus freedesktop.org, et de vivre avec le fait de ne pas être sur
|
|||
|
archlinux. Cependant, avec un peu de réflexion, on voit que si des
|
|||
|
distributions comme archlinux et Fedora ont adopté systemd (et
|
|||
|
qu'OpenSUSE est en train de l’intégrer), il est probable que cela
|
|||
|
devienne un standard au fil des années, et que seuls survivent systemd
|
|||
|
et upstart, le gestionnaire de démarrage d'ubuntu, qui ne changera
|
|||
|
probablement pas (je les vois mal revenir en arrière sur ce point.)
|
|||
|
Toujours est-il que l'init héritée du System V semble condamnée a mourir
|
|||
|
sous Linux. Il pourrait être judicieux de passer sous debian squeeze,
|
|||
|
qui ne recevra probablement jamais la mise a jour, ou a wheezy, qui ne
|
|||
|
la recevra probablement que dans 2/3 ans. Cependant, cette période est
|
|||
|
toujours trop courte, et met sur mon système d'exploitation une date
|
|||
|
d'expiration, chose qui ne me plait que moyennement. Non, la solution
|
|||
|
est de passer sous un système autre, qui ait son propre système d'init
|
|||
|
(ou qui ne risque pas de passer sous systemd). Dans ce cas, deux options
|
|||
|
principales s'ouvrent a moi: OpenSolaris et *BSD. Minix n'est pas
|
|||
|
vraiment un choix, vu le peu de programmes qu'il permet de faire
|
|||
|
fonctionner et le fait qu'il ne soit disponible que sur i386, ce qui
|
|||
|
n'est pas vraiment avantageux au vu de mon système en x86\_64. Haiku
|
|||
|
n'est pas un choix non plus, puisque le but est de rester dans une
|
|||
|
optique UNIX.
|
|||
|
|
|||
|
OpenSolaris est un système d'exploitation tout a fait valable. Je n'ai
|
|||
|
en théorie aucun problème sur cet OS, sauf que certains choix de design
|
|||
|
ne correspondent pas du tout a l'idée que j'ai d'un OS. En effet,
|
|||
|
OpenSolaris ressemble assez a Debian dans sa vision du fonctionnement de
|
|||
|
ses outils, avec des paquets modifiés pour les rendre plus simples a
|
|||
|
utiliser (fichiers de configuration fournis par défaut, par exemple, et
|
|||
|
autres patchs "release-only"), et une tendance a faire des scripts et
|
|||
|
des outils installés par défaut pour tout et n'importe quoi. Bref, cela
|
|||
|
n'est pas le sujet. Il convient aussi de voir qu'avec la récente
|
|||
|
acquisition de Sun par Oracle, il est possible que le projet OpenSolaris
|
|||
|
n'ait pas de très beaux jours devant lui (la [page d’accueil][] du
|
|||
|
projet affiche d'ailleurs un ÉNORME logo Oracle, du meilleur gout.)
|
|||
|
|
|||
|
Il reste donc *BSD. Pourquoi choisir FreeBSD plutôt qu'OpenBSD, NetBSD
|
|||
|
ou DragonFlyBSD (pour ne citer que les plus connus) ? Et bien c'est
|
|||
|
simple : pour aucune raison particulière. OpenBSD et NetBSD ont pour
|
|||
|
réputation d'être orientées sécurité, et d'après ce que j'ai pu en voir
|
|||
|
DFBSD ressemble aussi au système de l'assistance a l'user a outrance
|
|||
|
décris plus haut. Mais la vérité est que je n'ai pas fait suffisamment
|
|||
|
de recherches et que FreeBSD ne va me voir arriver que par hasard, parce
|
|||
|
qu'entre toutes les BSD ca me semble la plus sympa et la plus agréable a
|
|||
|
utiliser, plus le fait que le système de ports me convient bien (j'aime
|
|||
|
pouvoir configurer mes logiciels de façon assez profonde.)
|
|||
|
|
|||
|
Voila, c'est mon avis sur ce "problème" actuel du monde de Linux. Bien
|
|||
|
entendu, je continuerai a utiliser Linux, et je ne peux qu’espérer que
|
|||
|
les systèmes tels que systemd ou dbus ne disparaissent, ou tout du moins
|
|||
|
n'apparaissent jamais chez certaines distributions, créant de ce fait un
|
|||
|
choix pour les utilisateurs.
|
|||
|
[1]: Je n'ai pas trouvé de traduction satisfaisante a "software leveraging", mais l'idée est la...*
|
|||
|
|
|||
|
[here]: http://data.wxcafe.net/archives/126
|
|||
|
[page d’accueil]: http://hub.opensolaris.org/bin/view/Main/
|