Les dépôts

Encore… j’en profite de la sortie de GIMP 2.8, voici ce que l’on peut lire sur pcinpact:

Bien que The GIMP 2.8 soit officiellement disponible, les utilisateurs de distributions Linux devront attendre que les dépôts idoines soient mis à jour. Il reste possible de le télécharger manuellement pour l’installer soi-même ensuite.

Merci de faire comprendre que les gens sous linux ne peuvent pas être à jour tout de suite, et sont ainsi des gens calmes non impulsifs. Ah mais, on peut l’installer soi-même, allons faire un tour sur la page de téléchargement

Déjà on découvre que les « devs » de GIMP sont de vrais branleurs: ils ne fournissent pas de binaire officiellement pour Windows. Mais ils ne sont pas débile non plus, ils ont heureusement un binaire de disponible. Mais ça veut dire quoi ? il n’est pas officiel donc peut-être qu’il ne faut pas avoir confiance ? Qu’il y a un trojan dedans ? D’ailleurs en général, un développeur Windows fournit au minimum un exécutable (pour sa plateforme donc), et quand son application est plus conséquente, il s’emmerde, lui, à créer l’installeur de son application.

Et bien pour linux, c’est souvent je compile pour moi et que pour moi, les autres se démerdent. GIMP est un bel exemple, mais mauvais exemple pour montrer que les dépôts sont bidons, car sa popularité va lui permettre d’être rapidement disponible dans la majorité des distributions. C’est également un bon exemple pour montrer la complexité si l’on souhaite l’installer soi-même.

Je modère toute fois mes propos, sous linux le développeur participe généralement aux dépôts de sa distribution, en particulier si elle est populaire, comme Ubuntu. Les dépôts sont bien pour centraliser les applications, comme les Store, par contre les rendre obligatoire (pour un noob qui ne sait pas compiler ou qui n’a pas installer ce qu’il faut pour), c’est stupide.

Publicités

Ext4 ? Extra merdique v4 ?

Ext4 est l’évolution de Ext3, des articles ont fleuri pour vanter ce système, avec des benchmarks, des explications, et tout le bla bla bla pour dire que c’est génial, que c’est la nouvelle technologie « tip top caviar ».

Et c’était vrai à une époque. Récemment, mon linux (abréviation de GNU/Linux/Arch linux/KDE/etc) est devenu tellement lent que j’ai l’impression d’être sous une version de Windows bourrée de malwares. A vrai dire, quand j’ai booté sur Windows XP (en dual boot) pour tester la béta de Diablo 3 en avril, cela a été une très grande bouffée d’air frais, que c’était bon. A me demander « mais putain pourquoi je suis allé sur linux ?« , la réponse est qu’il faut essayer les alternatives pour savoir si elles sont meilleures… et aussi parce que la propagande linux cay tro bi1 cay prey pr l3 d3skt0p a fait son effet.

Bref, sous linux Firefox met 2h pour se lancer, il freeze quand je regarde des vidéos flash (chromium aussi), le disque dur ne cesse de gratter et semble être le goulot d’étranglement. Même une petite vidéo (en débit) sous VLC j’obtiens parfois des freezes de l’image, même si à ce niveau là cela correspond plus à de l’incompétence à mettre en cache suffisamment de données. Et tous ces problèmes, je ne les avais pas avant, je ne serai jamais resté sur linux aussi longtemps sinon.

La solution se traduit comme d’habitude sous linux par de la perte énorme de temps. De la recherche, des tests, des échanges avec la communauté avec les cons qui vont répondre à coté ou dire que chez eux ça marche. Bref, en fait j’ai sauté toutes ces étapes que je connais trop bien. J’ai direct appliqué les optimisations bourrines ext4 de la partition /home, car à vrai dire, je n’étais pas sûr à 100% que ça pouvait venir de là.

Résultat: alléluia, j’ai retrouvé un linux réactif et rapide. Presque dingue… Mais ces optimisations ne sont pas sans risque, elles entraînent un risque de corruption des données en cas d’arrêt brutal. Ce sont les options barrier=0, data=writeback, nobh et commit=60 (certaines décrites ici, d’autres ). Il va de soit que j’avais déjà la classique option noatime.

Le plus ironique est que cela concerne la partition /home, celle où les données sont les plus sensibles… Or, une vidéo flash n’est pas censée utiliser le disque dur, les fichiers sont sur tmpfs (RAM ou Swap, mais j’ai jamais été en swap). D’un autre coté, il est impossible d’écrire sur / car firefox/chromium n’est pas lancé en tant que root heureusement. C’est /home car tout simplement firefox (et chromium) s’en sert pour écrire ses données dont le cache, mais je ne vois pas spécialement pourquoi il se mettrait à faire ramer le disque pendant plusieurs dizaines de secondes quand une vidéo flash se lance. Par sécurité et par facilité, j’en suis réduit à me créer un espace sur / pour les données sensibles de /home.

Si je suis sur linux c’est pour ma curiosité (même si elle a des limites, comme pour le problème sous android), et suite à ce problème, je voulais savoir pourquoi et comment c’est arrivé. Je suis tombé sur cet article, sur phoronix (article sur plusieurs pages) et ce fut la révélation. D’une version à l’autre du kernel, les performances peuvent être divisée par deux, voire par 5 pour PostgreSQL.

Ceci dit, c’était à partir la version 2.6.31 du kernel qu’il y avait ces problèmes, c’est à dire septembre 2009. Cela me chagrine car j’ai eu ce problème que bien après, cela a commencé fin 2011. Je n’ai pas envie de passer plus de temps à chercher les origines. De plus il n’y a pas de filemon potable comme sous Windows (strace m’a profondément déçu). Bref, linux ? C’est de la merde.

Linux et android

J’ai un téléphone Android et je souhaite copier les photos/vidéos vers mon PC (sous linux). Cela avait toujours très bien marché, sauf ce jour là. J’effectue la copie en deux étapes: je crée un dossier de backup sur mon téléphone dans lequel je déplace les fichiers que je vais copier. Cela me permet de savoir ce que j’ai déjà transféré sur le PC tout en conservant les données sur le téléphone. La deuxième étape consiste à copier les données.

Rien de compliqué, ça a toujours marché. Je commence le déplacement, puis je copie. Soudainement, la copie s’arrête, comme si le cable avait été débranché, coté téléphone il indique que la liaison n’est plus active, et coté pc il n’y a plus rien sur le point de montage. Après tout, une coupure ça pourrait bien arriver. je reconnecte le tout… impossible à faire marcher. Je redémarre le téléphone et le PC, et ça remarche, je vais sur le téléphone dans le dossier des fichiers à copier, et TADA, tous les fichiers font 0 octet. Outch, pris de panique, je vais voir sur le téléphone pour m’assurer que ce n’est pas un bug lié à l’USB, et bien non, tous les fichiers étaient à 0 octet, tout était perdu.

Je me suis dit que c’était impossible, la copie, ça ne fait que copier, impossible que cela écrase des données. Puis j’ai pensé au déplacement de fichiers… ahahah. Merci linux, et spéciale dédicace à Windows grâce à qui j’ai pu restaurer les fichiers. Les outils sur linux ne marchant pas du tout, surement à cause d’un problème avec l’interface USB.

Ceci dit, impossible de reproduire le problème par la suite, jusqu’au jour où… la liaison USB se coupe à nouveau. Mais cette fois-ci j’ai pris mes précautions, je copie toujours avant de déplacer les fichiers (merci à la fiabilité de linux pour ces habitudes à la con). Cette fois-ci, j’ai le réflexe mount. Je vois gvfs, putain c’est quoi cette merde. GVFS is the virtual filesystem for the GNOME desktop, bla bla bla fuck, je suis sous KDE, elle vient faire quoi cette merde issue de GNOME codée avec les pieds. Avec ma super expérience de linux, j’ai tout de suite compris que ce truc de merde ne devait servir à rien, je l’ai désinstallé immédiatement. J’ai pu rebrancher mon téléphone sans problème, et depuis, je n’ai plus eu de problème. A voir sur le long terme.

C’est l’inconvénient des rollings releases, impossible de dire pourquoi cela ne marchait plus, ni depuis quand. Et un jour ce sera corrigé sans que j’en sois au courant.