215 lines
18 KiB
XML
215 lines
18 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Wxcafé</title><link href="//wxcafe.net/" rel="alternate"></link><link href="//wxcafe.net/feeds/feed.ranting.xml" rel="self"></link><id>//wxcafe.net/</id><updated>2014-02-17T05:02:00+01:00</updated><entry><title>NAT</title><link href="//wxcafe.net/posts/nat/" rel="alternate"></link><updated>2014-02-17T05:02:00+01:00</updated><author><name>wxcafé</name></author><id>tag:wxcafe.net,2014-02-17:posts/nat/</id><summary type="html"><p>NAT (Network Address Translation) in a word?<br />
|
||
It&rsquo;s complicated. Very. Don&rsquo;t do it, you&rsquo;d damage your brain. </p>
|
||
<p>Bon, sinon, prochain article serieux vite, bisous.</p></summary></entry><entry><title>Pourquoi je vais quitter linux pour passer a FreeBSD.</title><link href="//wxcafe.net/posts/pourquoi-je-vais-quitter-linux-pour-passer-a-freebsd/" rel="alternate"></link><updated>2013-02-04T17:41:00+01:00</updated><author><name>Wxcafe</name></author><id>tag:wxcafe.net,2013-02-04:posts/pourquoi-je-vais-quitter-linux-pour-passer-a-freebsd/</id><summary type="html"><p><em>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 <a href="http://data.wxcafe.net/archives/126">here</a></em></p>
|
||
<p>Bon, voila. J&rsquo;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&rsquo;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&rsquo;ai même idée que quelque chose dans mon système d&rsquo;exploitation avait
|
||
cette fonction la. Par exemple, udev, ou policykit/consolekit/. A
|
||
l&rsquo;époque, je n&rsquo;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&rsquo;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&rsquo;accumulant et
|
||
mon niveau de compréhension du système s&rsquo;améliorant, j&rsquo;ai commencé a
|
||
remarquer que certain bouts de l&rsquo;OS ne collaient pas exactement avec les
|
||
autres. Bien sur, je ne saurais dire si cette réalisation s&rsquo;est faite a
|
||
cause de la recrudescence de ces bouts d&rsquo;OS, ou bien juste a cause de ma
|
||
compréhension plus poussée. Toujours est-il que ces petits bouts d&rsquo;OS ne
|
||
s’adaptant pas au reste du système se faisaient de plus en plus visible.
|
||
Et puis, un jour, j&rsquo;en ai eu marre de voir unity sur ma machine, et j&rsquo;ai
|
||
choisi de passer a Archlinux. C&rsquo;était avant le passage a systemd. Ce
|
||
système me convenait bien. Si je n&rsquo;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&rsquo;était le moins
|
||
envahissant de ceux la.</p>
|
||
<p>Mais Archlinux est passé a systemd. Attention hein, je ne critique ici
|
||
ni systemd, ni udev, ni même les <em>kit, et surtout pas Archlinux. Les
|
||
premiers sont probablement très efficaces dans leur domaine, et le
|
||
second n&rsquo;a pas <strong>vraiment</strong> eu le choix, rapport a la philosophie de la
|
||
distribution d&rsquo;avoir au plus vite les dernières versions de tout.
|
||
Cependant, systemd, tout comme udev et les </em>kits (bien que ce ne soient
|
||
pas les seuls a faire ça&hellip;) ont un problème très précis, qui n&rsquo;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 :</p>
|
||
<ol>
|
||
<li>Ce qui est petit est beau</li>
|
||
<li>Faites en sorte que chaque programme fasse une chose, bien.</li>
|
||
<li>Faites un prototype aussi vite que possible</li>
|
||
<li>Choisissez la portabilité plutôt que l&rsquo;efficacité</li>
|
||
<li>Stockez les données dans des fichiers textes.</li>
|
||
<li>Utilisez ce qui existe déjà a votre avantage. [<strong>1</strong>]</li>
|
||
<li>Utilisez des scripts shells pour faciliter la portabilité et la
|
||
réutilisation.</li>
|
||
<li>Évitez les UI qui &ldquo;capturent&rdquo; l&rsquo;utilisateur.</li>
|
||
<li>Faites de chaque programme un filtre.</li>
|
||
</ol>
|
||
<p>Alors bien entendu, un système d&rsquo;exploitation est fait pour évoluer, et
|
||
on pourrait penser qu&rsquo;UNIX a fait son temps. Cependant, ce n&rsquo;est pas
|
||
exactement la façon dont l&rsquo;informatique fonctionne. Effectivement, les
|
||
standards, les systèmes d&rsquo;exploitation, les logiciels, tout doit évoluer
|
||
- ou mourir - et UNIX ne fait pas exception a la règle. Mais ce n&rsquo;est
|
||
pas d&rsquo;UNIX que nous parlons ici. C&rsquo;est de la <em>philosophie</em> UNIX. Et
|
||
celle-ci n&rsquo;a pas fait son temps, <strong>elle a fait ses preuves.</strong> La
|
||
philosophie UNIX, en plus d&rsquo;être efficace sur le papier, a aussi 44 ans
|
||
de tests derrière elle, et fonctionne aussi bien qu&rsquo;au premier jour.<br />
|
||
La philosophie UNIX est aussi et surtout une garantie d&rsquo;utilisabilité
|
||
et de simplicité pour les administrateurs systèmes, pour les
|
||
développeurs, bref pour tous ceux qui font de l&rsquo;informatique<em>sérieusement</em> (je ne dis pas que les autres métiers de l&rsquo;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).</p>
|
||
<p>Tous OS se doit d&rsquo;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&rsquo;échanger des informations. C&rsquo;est
|
||
efficace, ça respecte le &ldquo;tout est fichier&rdquo;, c&rsquo;est standard, c&rsquo;est
|
||
simple a comprendre, bref, ça fonctionne parfaitement. Dbus vient
|
||
remplacer ça, avec une interface qui n&rsquo;est explicitement pas faite pour
|
||
être utilisée a la ligne de commande mais a l&rsquo;aide d&rsquo;APIs, et un
|
||
programme monolithique qui effectue sa tache d&rsquo;une façon complètement
|
||
obscure pour l&rsquo;utilisateur. Alors bien sur, il l&rsquo;effectue d&rsquo;une façon
|
||
efficace, cette tache. Oui, ça va plus vite qu&rsquo;avant. Oui, c&rsquo;est plus
|
||
&ldquo;rangé&rdquo;, ça fait moins &ldquo;fouillis&rdquo;. Mais c&rsquo;est moins efficace. C&rsquo;est<em>beaucoup</em> moins utilisable pour l&rsquo;utilisateur final. C&rsquo;est
|
||
horriblement chiant pour les sysadmins, parce qu&rsquo;ils ne peuvent plus
|
||
lire facilement les échanges entre programmes. C&rsquo;est peu pratique, en
|
||
fin de compte. Et ça ne respecte pas du tout la philosophie UNIX.<br />
|
||
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&rsquo;utilisateur final. Alors oui, il parait que ça
|
||
augmente la vitesse de boot. Eh bien, au risque d&rsquo;en choquer quelques
|
||
uns, je préfère avoir un système qui boote <em>légèrement</em> plus lentement
|
||
et que je puisse modifier facilement, et qui soit ouvert, compréhensible
|
||
et distribué. C&rsquo;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&rsquo;employant plus les
|
||
systèmes basiques d&rsquo;UNIX.</p>
|
||
<p>Le problème est qu&rsquo;il est facilement visible que la direction prise par
|
||
la communauté Linux n&rsquo;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&rsquo;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&rsquo;autres raisons&hellip;), et on peut
|
||
compter sur le fait que les autres distributions l&rsquo;adopteront un jour ou
|
||
l&rsquo;autre.</p>
|
||
<p>Bon, maintenant que nous avons, si ce n&rsquo;est démontré la nocivité de ces
|
||
systèmes, tout du moins exprimé les raisons qui font qu&rsquo;ils me
|
||
déplaisent, on pourrait penser qu&rsquo;il suffit de passer a une distribution
|
||
n&rsquo;incluant pas systemd, voire a une distribution n&rsquo;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&rsquo;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&rsquo;ubuntu, qui ne changera
|
||
probablement pas (je les vois mal revenir en arrière sur ce point.)
|
||
Toujours est-il que l&rsquo;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&rsquo;exploitation une date
|
||
d&rsquo;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&rsquo;init
|
||
(ou qui ne risque pas de passer sous systemd). Dans ce cas, deux options
|
||
principales s&rsquo;ouvrent a moi: OpenSolaris et *BSD. Minix n&rsquo;est pas
|
||
vraiment un choix, vu le peu de programmes qu&rsquo;il permet de faire
|
||
fonctionner et le fait qu&rsquo;il ne soit disponible que sur i386, ce qui
|
||
n&rsquo;est pas vraiment avantageux au vu de mon système en x86_64. Haiku
|
||
n&rsquo;est pas un choix non plus, puisque le but est de rester dans une
|
||
optique UNIX.</p>
|
||
<p>OpenSolaris est un système d&rsquo;exploitation tout a fait valable. Je n&rsquo;ai
|
||
en théorie aucun problème sur cet OS, sauf que certains choix de design
|
||
ne correspondent pas du tout a l&rsquo;idée que j&rsquo;ai d&rsquo;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 &ldquo;release-only&rdquo;), et une tendance a faire des scripts et
|
||
des outils installés par défaut pour tout et n&rsquo;importe quoi. Bref, cela
|
||
n&rsquo;est pas le sujet. Il convient aussi de voir qu&rsquo;avec la récente
|
||
acquisition de Sun par Oracle, il est possible que le projet OpenSolaris
|
||
n&rsquo;ait pas de très beaux jours devant lui (la <a href="http://hub.opensolaris.org/bin/view/Main/">page d’accueil</a> du
|
||
projet affiche d&rsquo;ailleurs un ÉNORME logo Oracle, du meilleur gout.)</p>
|
||
<p>Il reste donc *BSD. Pourquoi choisir FreeBSD plutôt qu&rsquo;OpenBSD, NetBSD
|
||
ou DragonFlyBSD (pour ne citer que les plus connus) ? Et bien c&rsquo;est
|
||
simple : pour aucune raison particulière. OpenBSD et NetBSD ont pour
|
||
réputation d&rsquo;être orientées sécurité, et d&rsquo;après ce que j&rsquo;ai pu en voir
|
||
DFBSD ressemble aussi au système de l&rsquo;assistance a l&rsquo;user a outrance
|
||
décris plus haut. Mais la vérité est que je n&rsquo;ai pas fait suffisamment
|
||
de recherches et que FreeBSD ne va me voir arriver que par hasard, parce
|
||
qu&rsquo;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&rsquo;aime
|
||
pouvoir configurer mes logiciels de façon assez profonde.)</p>
|
||
<p>Voila, c&rsquo;est mon avis sur ce &ldquo;problème&rdquo; 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&rsquo;apparaissent jamais chez certaines distributions, créant de ce fait un
|
||
choix pour les utilisateurs.<br />
|
||
[1]: Je n&rsquo;ai pas trouvé de traduction satisfaisante a &ldquo;software leveraging&rdquo;, mais l&rsquo;idée est la&hellip;*</p></summary></entry><entry><title>Update et pensées a propos du Raspberry Pi</title><link href="//wxcafe.net/posts/update-et-pensees-a-propos-du-raspberry-pi/" rel="alternate"></link><updated>2013-01-27T01:55:00+01:00</updated><author><name>Wxcafe</name></author><id>tag:wxcafe.net,2013-01-27:posts/update-et-pensees-a-propos-du-raspberry-pi/</id><summary type="html"><p>Bon.<br />
|
||
J&rsquo;ai annoncé il y a environ 20 jours que j&rsquo;avais pour projet de faire
|
||
une Piratebox basée sur un Raspberry Pi, <del>astucieusement</del> nommée
|
||
PiRatBox. Il se trouve qu&rsquo;après de nombreux essais, un problème
|
||
récurrent apparait: le Raspberry Pi n&rsquo;est pas capable de fournir assez
|
||
de courant par défaut pour faire fonctionner a la fois un disque dur et
|
||
une antenne WiFi.<br />
|
||
Alors, autant il me semble évident qu&rsquo;avec une
|
||
alimentation provenant d&rsquo;un port USB a 2A (max), je n&rsquo;avais pas
|
||
énormément de chances d&rsquo;avoir 2A sur chacun des ports host du Raspi,
|
||
autant avoir moins de 250 mA sur chacun de ces ports me semble un tout
|
||
petit peu exagéré en terme de rentabilité. </p>
|
||
<p>De même, le fait de ne pas pouvoir désactiver le port Ethernet (ne me
|
||
servant a rien) (vous savez, celui qui est monté en USB&hellip;), qui
|
||
consomme énormément, est assez louche. Il devrait toujours être possible
|
||
de désactiver une device USB, me semble-t-il, au niveau logiciel. La,
|
||
bien qu&rsquo;il soit surement possible de la désactiver au niveau du kernel,
|
||
il n&rsquo;est pas <strong>simplement</strong> possible de la &ldquo;débrancher&rdquo;. Ce qui est bien
|
||
chiant, étant donné le besoin évident de puissance électrique dans
|
||
lequel on se retrouve. </p>
|
||
<p>Bon, je dois avouer n&rsquo;avoir pas testé de lancer les différents services
|
||
composant le système des piratebox sous arch, pour la simple <del>et
|
||
bonne</del> raison qu&rsquo;arch utilise systemd et qu&rsquo;il n&rsquo;existe pas de wrapper
|
||
systemd pour les daemons piratebox, et que j&rsquo;ai la flemme d&rsquo;en faire,
|
||
parce que systemd est une horreur a utiliser avec les scripts init. Donc
|
||
non, j&rsquo;utiliserai debian. Le problème d&rsquo;utiliser debian dans ce cas
|
||
précis est que apt/dpkg a une gestion des dépendances dans un sens mais
|
||
pas dans l&rsquo;autre, en ce sens que si on installe un package &ldquo;haut&rdquo;, c&rsquo;est
|
||
a dire dépendant de plusieurs autres packages, apt/dpkg se charge
|
||
efficacement d&rsquo;installer toutes les dépendances nécessaires, tandis que
|
||
si on désinstalle un package &ldquo;bas&rdquo;, c&rsquo;est a dire sur lequel de nombreux
|
||
autres packages dépendent, apt/dpkg ne désinstalle pas ces packages
|
||
&ldquo;hauts&rdquo;, ce qui pose un vrai problème quand on se retrouve sur un
|
||
Raspberry Pi, puisqu&rsquo;il n&rsquo;y a pas de moyen &ldquo;facile&rdquo; de choisir ce qui
|
||
sera installé sur le système avant l&rsquo;installation proprement dite
|
||
(puisque le moyen &ldquo;universel&rdquo; d&rsquo;installation sur Raspberry Pi est le dd
|
||
vers la SD qui sert de disque système.)</p>
|
||
<p>Il y a <strong>énormément</strong> d&rsquo;autres critiques que l&rsquo;ont pourrait faire
|
||
concernant le Raspberry Pi. Son système de démarrage a s&rsquo;arracher les
|
||
cheveux, par exemple. En effet, plutôt que de faire comme tout pc
|
||
normalement constitué ou la partie calcul démarre, lance le bootloader,
|
||
cherche le kernel de l&rsquo;OS qui lui même se lance, initialise le hardware,
|
||
etc&hellip;, a un système bâtard du au fait que la puce au centre de la carte
|
||
est a la base une puce graphique a laquelle on a greffé un cœur de
|
||
calcul (probablement au fond d&rsquo;une cour d&rsquo;immeuble, dans les quartiers
|
||
pauvres de Bratislava, vu la propreté de la greffe&hellip;), et le moyen le
|
||
plus efficace qu&rsquo;aient trouvé les personnes ayant implémenté cette
|
||
atrocité de gérer le boot est donc de faire démarrer le cœur graphique
|
||
en premier, ce dernier exécute un code propriétaire pour démarrer le
|
||
cœur de calcul, qui a son tour lance le bootloader qui cherche le kernel
|
||
etc&hellip; </p>
|
||
<p>Ce qui non seulement complique énormément le boot, non seulement ajoute
|
||
du code propriétaire a un projet se disant libre, mais en plus n&rsquo;est<strong>visiblement</strong> pas fait pour être utilisé de cette manière. Le hack,
|
||
oui, mais uniquement quand c&rsquo;est bien réalisé, sinon je dis non. </p>
|
||
<p>Enfin, le projet que j&rsquo;avais est toujours en cours de réalisation. Je
|
||
le terminerai dès que j&rsquo;aurai récupéré les outils nécessaires pour
|
||
monter mon alimentation personnalisée pour le Raspberry Pi. Et une fois
|
||
que cela sera fait, ce Raspi restera une Piratebox pour le reste de sa
|
||
vie. Les problèmes qu&rsquo;il m&rsquo;a posé, qu&rsquo;il n&rsquo;aurait pas du me poser, m&rsquo;ont
|
||
trop agacé pour que j&rsquo;aie envie de le sortir et de jouer avec une fois
|
||
sa mission remplie. </p>
|
||
<p>Dommage.</p></summary></entry></feed> |