« HFS+ est certainement le pire système de fichiers » selon Linus Torvalds

Stéphane Moussie |

« Franchement, HFS+ est certainement le pire système de fichiers jamais créé. Dieu que c'est de la merde. » Linus Torvalds ne mâche pas ses mots pour dire combien il déteste le système de fichiers d'OS X.

Tout est parti d'un message sur Google+ annonçant une mise à jour de sécurité importante pour Git, un logiciel de gestion de versions mis au point par Torvalds. Le patch comble une vulnérabilité de Git sur les systèmes insensibles à la casse. Un malandrin pouvait en effet créer un arbre Git malveillant avec une casse différente, comme .Git ou .GIT, qui écrase le contenu du dossier original .git/. L'attaquant pouvait ensuite exécuter des commandes arbitraires sur la machine (les détails techniques sur ce blog). D'où le courroux de l'inventeur de Linux :

L'insensibilité à la casse est tout simplement une idée horriblement mauvaise, et Apple aurait pu la réparer. Ils ne l'ont pas fait. À la place, ils ont mis les bouchées doubles sur cette mauvaise idée et l'ont étendu activement à Unicode.

Torvalds note que NTFS, le système de fichiers de Windows, a eu les mêmes problèmes avec UTF-8, mais ils ont été résolus. « Les problèmes d'OS X semblent être fondamentaux », estime cet utilisateur de MacBook Air (avec une distribution Linux).

Ce qui est effrayant avec HFS+, ce n'est pas qu'il s'agit d'un "système de fichiers pas terrible", mais comment il a été activement conçu pour être un mauvais système de fichiers par des personnes qui pensaient qu'elles avaient de bonnes idées. (le gras est de Torvalds, ndr)

Torvalds ne préconise pas pour autant de remplacer HFS+ par ZFS, un système prometteur qu'Apple a projeté d'utiliser pendant un temps (lire : ZFS : chronique d'un abandon). « Il y a beaucoup de bonnes raisons de ne pas passer à ZFS », notamment pour des questions de licence, « mais ils auraient pu pousser les gens vers HFS+ sensible à la casse, ce qui aurait rendu ensuite beaucoup plus facile (sur le long terme) la migration vers quelque chose de plus sain. »

L'option dans l'Utilitaire de disque pour rendre OS X sensible à la casse. Cliquer pour agrandir

À vrai dire, la sensibilité à la casse n'est pas tout à fait étrangère à HFS+. Depuis Tiger, OS X sait prendre en compte la casse, « mais Apple cache délibérément [cette option] et ne la maintient pas », admoneste Torvalds. L'activer revient par ailleurs à déclencher des bugs dans une flopée de logiciels qui n'ont pas prévu ce cas de figure (certains logiciels Adobe et Apple, pour ne citer qu'eux, s'accomodent très mal de cette option).

Pour le développeur et journaliste John Siracusa, qui connait bien les entrailles d'OS X, cette prise en charge seulement optionnelle n'est pas le plus gros défaut du système de fichiers. Il pense par ailleurs qu'iOS a toujours utilisé une version de HFS+ sensible à la casse.

Non, pour Siracusa il manque avant tout des fonctions modernes à ce système de fichiers vieux de 17 ans (il était déjà présent dans Mac OS). Apple l'a bien amélioré au fil du temps, mais il accuse toujours le poids des années. Schématiquement, il ne tire pas pleinement parti des SSD maintenant largement répandus ni des processeurs multicœurs qui sont devenus la norme... sans compter le problème de corruption de données qui peut rendre illisible un disque entier. « En 26 ans d'utilisation du Mac, la cause majeure de pertes de mes données a été et continue d'être la corruption du système de fichiers. »

« HFS+ a bien rendu service à Apple, et certainement pendant bien plus longtemps que ses concepteurs ne l'avaient imaginé. Mais comme les produits et technologies Apple qui rentrent dans cette description (par exemple Classic, Carbon, PowerPC), il arrive un moment où ces choses qui furent précieuses doivent disparaître de ce monde », écrivait Siracusa en 2011, au moment de la sortie de Lion. Quatre ans plus tard, on en est toujours au même point.


Source
photo de une : Mario Behling CC BY
avatar oomu | 

non.

avatar abioninho | 

ExFat

avatar Moonwalker | 

Torvalds raconte n'importe quoi. Il ferait mieux de s'occuper de son noyau boursoufflé.

Comme signalé dans l'article Il retarde de plusieurs wagons sur ce coup car HFSX est le système de fichier sensible à la casse de Mac OS X et ça existe depuis au moins Panther (2003).

"l'option cachée" laissez-moi rire. Un menu déroulant. "Ne la maintient pas" ? WTF ! HFSX sensible à la casse est le format par défaut de Time Machine.

C'est à cause de Microsoft et Adobe, dont les logiciels ne sont toujours pas compatibles avec le sensible à la casse, qu'on est obligé de rester en HSF+ non sensible à la casse en 2015.

Passez-vous de M$, passez-vous de la daube, et vous pourrez utiliser le système de fichier d'OS X dans toute sa latitude. Effectivement, sur GNU-Linux c'est plus facile que sur Mac, il n'y sont pas.

Sinon, je ne vois pas quel logiciel Apple pose problème (à part peut-être des vieilleries de l'époque MacOS dont je me contre-fiche) ? Si vous avez des exemples, il faut les signaler.

Maintenant, je ne dis pas que c'est le meilleur file system du monde, loin de là. Je dis que ça fonctionne et que ça me convient. Tant pis pour l'autre pingouin con-gelé qui parle trop vite de ce qu'il ne connait pas.

avatar oomu | 

""l'option cachée" laissez-moi rire. Un menu déroulant. "Ne la maintient pas" ? WTF ! HFSX sensible à la casse est le format par défaut de Time Machine."

cachée car pas mise en avant au prés des UTILISATEURS.

Apple n'a pas voulu pousser les gens à une migration, qui leur aurait considérablement simplifié la vie le jour où il faudra PASSER à Autre Chose (obligatoire, inéluctable).

-
Oui, un des grands freins qu'a Apple, c'est que des logiciels majeurs comme Photoshop ont encore nombre d'hypothèses de travail issue de Os 9 (!)

"Tant pis pour l'autre pingouin con-gelé qui parle trop vite de ce qu'il ne connait pas."

je crains que votre haine des manchots vous aveugle quand vous pensez que Torvalds ne s'y connaît pas.

Vous me rappelez ceux qui voulait absolument s'auto-convaincre que Steve Jobs n'était qu'un abruti quasi illettré de commercial. (ces gens là n'aimaient pas les pommes).

Autrement dit, selon votre camps, vous rejetez le savoir de l'autre car il vous dérange.

avatar BeePotato | 

@ oomu : « Apple n'a pas voulu pousser les gens à une migration, qui leur aurait considérablement simplifié la vie le jour où il faudra PASSER à Autre Chose (obligatoire, inéluctable). »

En quoi donc cela leur aurait-il simplifié la vie ?
En rien, en fait : le passage d’un système de fichiers insensible à la casse vers un système sensible à la casse se fait sans douleur et sans risque. C’est en sens inverse qu’il y a un risque de perte de données.

Et pourquoi donc le passage à autre chose (c’est-à-dire un FS sensible à la casse) serait-il inéluctable ?
Ce n’est pas parce qu’un passage à un autre système de fichiers est nécessaire qu’Apple ne peut pas en proposer un qui soit également insensible à la casse.

avatar cedric1997 | 

«En rien, en fait : le passage d’un système de fichiers insensible à la casse vers un système sensible à la casse se fait sans douleur et sans risque»

C'est ce qu'on pourrait se dire, mais certains programmes ne fonctionnent pas sur un système insensible à la casse. Pourquoi ? Car ces programmes ont été programmés en faisant n'importe quoi au niveau de la casse. Donc dès que la casse est considérée, rien ne fonctionne.

avatar BeePotato | 

@ cedric1997 : Oui, je suis bien au courant de ce genre de souci. Mais je parlais en fait du transfert de données d’un système à l’autre (j’aurais dû le préciser).
C’est ce qui est le plus important.

Si jamais Apple se lançait dans une telle transition, l’adaptation des logiciels se ferait rapidement. Et forcer HFS+ à devenir sensible à la casse, comme le suggérait oomu dans le commentaire auquel je répondais, n’aurait pas facilité cette partie-là — le problème aurait été exactement le même.
C’est donc pour ça que je lui répondais que « préparer les utilisateurs à un passage INÉLUCTABLE à autre chose » en leur sabotant HFS+ n’avait en fait aucun intérêt.

avatar Moonwalker | 

Cher Oomu,

Ce n'est pas Apple qui freine, c'est la situation maintenue par l'inertie de M$ et Adobe.

Torvalds vocifère stupidement car il ne tient pas compte de la réalité. Venant de quelqu'un de son niveau c'est assez affligeant.

Simplifier la vie du client c'est ne pas le contraindre à re-formater et donc ré-installer tout son OS X (alors qu'il n'y connait souvent rien) parce qu'il a acheté M$ Office ou Photoshop Eléments.

Le choix par défaut du HFS+ journalisé non sensible à la casse est logique dans la situation actuelle.

Quand je dis qu'il n'y connait rien, ce n'est pas en rapport des systèmes de fichiers en général mais de la situation sur OS X, un OS qu'il n'utilise pas comme le démontre ses fausses assertions sur le HFSX. La théorie c'est bien beau, mais la pratique du macuser c'est autre chose.

Je n'ai aucune haine envers les pingouins, mais il faudrait que celui-là aille voir un peu plus loin que sa banquise car le monde n'est pas blanc et bleu.

avatar TotOOntHeMooN | 

Qu'est-ce qu'il vient critiquer le pére Torvalds?
HFS+ existe depuis 1998 et contrairement à Windows ou Linux, je n'ai jamais eu de problème lié au système de fichier... Autant j'ai déjà perdu des données en FAT, NTFS ou EXT que là...

Après, peut-être serait-il temps de voir autre chose que la beauté intérieure... L'utilisateur en à rien à faire de savoir si le code est propre, si c'est bien architecturé ou si c'est un gros bordel.
L'essentiel est que ça soit ergonomique à l'usage... Un truc que justement, sous Linux (OS), il a un peut zappé avec son regard de programmeur bas niveau !

avatar kueisaho | 

Autant je n'ai JAMAIS perdu de données avec FAT32, NTFS ou EXT3/4, autant j'en ai perdu avec HFS+ et EXT2 !

avatar oomu | 

ext2 est notoirement ben... heu, c'est ext2 il était speed, mais c'est tout.

avatar kueisaho | 

Je me rappelle d'un temps (+10 ans) où quand Linux crashait avec de l'EXT2, on était pas sûr de récupérer toutes les données.

Franchement quand je vois maintenant ce qu'on peut faire avec Linux en EXT4 avec une petite couche LVM dessus, c'est que du bonheur.

Je ne comprend pas comment on peut comparer le système de fichier de MacOS X avec ce qu'on trouve sur Linux (ou tout autre Unix) !!

MacOS X est un très bon OS desktop, mais c'est une PUTAIN de blague de parler de son système de fichier face à ce qu'on trouve ailleurs ! (VxVM/ZFS)

avatar oomu | 

redoutablement EXACT.

sauf une chose: ça devient grave pour un usage bureau ET FAMILLE (j'insiste), AUSSI.

avatar oomu | 

Torvalds a rarement tort.

HFS+ n'a pas de test de corruption sur écriture
HFS+ n'a pas de réparation à chaud (ça signifie: sans faire chier l'utilisateur)
HFS+ n'a pas de snapshot (photographie), ce qui pinaize, simplifierai royalement la vie à Time Machine (tout ce qui simplifie la vie d'un ingénieur = bug en moins)
HFS+ ne gère pas le clonage, ce qui accélèrerait de manière foudroyante la "copie" (vu qu'on se contenterait au début d'utiliser le même endroit que l'original)

etc

Tout cela sert à un truc:

+ fiable, + vite, + MIEUX.

-
depuis quand vous êtes contre le + mieux ? quand c'est demandé par un finlandais ? "AAAAR ces finlandais et leur + mieux !"

-
notez qu'Apple est rusé comme un sioux dans un film de cape d'épée : Core Storage a permis d'ajouter le cryptage natif sans qu'il y ait eu besoin de remplacer HFS+ , malin.

avatar BeePotato | 

@ oomu : « Torvalds a rarement tort. »

Si, régulièrement.
Comme tout le monde, quoi, mais pas de chance pour lui : ce qu’il dit est souvent répété et amplifié (quand ce n’est pas carrément déformé), et du coup ça se remarque.

Et là, franchement, dans cette attaque contre l’insensibilité à la casse dans HFS+, il a tort.
Qu’il reste donc dans son monde peuplé de systèmes de fichiers qui considèrent « fort logiquement » que « toto.jpeg » et « toto.JPEG » sont deux noms qui désignent forcément deux fichiers distincts — des systèmes de fichiers dans lesquels, de toute façon, les fichiers n’ont pas réellement de nom et ne savent même pas où ils sonst rangés. Bref, un monde très éloigné de la vision bien plus humaine du système de fichiers à laquelle le Mac nous as habitués.

avatar RyDroid | 

Linux est uniquement un noyau de système d'exploitation. https://fr.wikipedia.org/wiki/Noyau_Linux https://fr.wikipedia.org/wiki/Noyau_de_syst%C3%A8me_d%27exploitation
GNU/Linux est bien plus qu'un noyau, c'est un système d'exploitation entier, avec de multiples interfaces graphiques (GNOME 2, GNOME 3 Shell, KDE, Xfce 4, LXQT, LXDE, OpenBox, etc). https://www.gnu.org/gnu/linux-and-gnu.html
Il existe aussi des OS basés sur Linux sans GNU, comme Android.
Parler de Linux comme un OS et de son ergonomie est donc du grand n'importe quoi.

avatar BeePotato | 

@ RyDroid : « GNU/Linux est bien plus qu'un noyau, c'est un système d'exploitation entier, avec de multiples interfaces graphiques (GNOME 2, GNOME 3 Shell, KDE, Xfce 4, LXQT, LXDE, OpenBox, etc). »

Notons toutefois que, si on veut vraiment distinguer qui fait quoi dans tout ça et éviter le terme hyper-générique « Linux » pour désigner tout OS basé sur ce noyau, je ne pense pas qu’on puisse dire que GNU/Linux est un « système d’exploitation entier avec de multiples interfaces graphiques ». Gnome, KDE, etc., sont encore des surcouches au dessus de GNU/Linux lui-même. Et il y en a d’autres, des composants non GNU qui se retrouvent inclus dès lors qu’on cherche à avoir un système d’exploitation « entier » (entre guillemets car ce terme est tellement sujet à interprétation).
Ce n’est pas facile, la précision dans ce domaine. :-)

« Parler de Linux comme un OS et de son ergonomie est donc du grand n'importe quoi. »

Pour ce qui est d’un OS pour le grand public, à interface graphique, etc., tout à fait.
Mais notons (encore) que pour certains, la définition d’OS peut s’arrêter au noyau, et du coup il devient possible de parler de Linux comme d’un OS et de discuter de son ergnomie d’un point de vue de développeur, du coup).

avatar RyDroid | 

GNU/Linux est un système d'exploitation entier, dans le sens ou il est utilisable sans entrer du code binaire. Mais il est effectivement vrai que personne (ou presque ?) ne l'utilise tel quel sans rajouter d'autres logiciels.
Pour ce qui est de GNOME, c'est l’abréviation de GNU Network Object Model Environment, il fait donc bien parti du projet GNU. https://fr.wikipedia.org/wiki/GNOME

On peut effectivement parler de l’ergonomie du noyau Linux. Mais c'est un adjectif bizarre/ambigu pour des API, et ça entretient la confusion entre le noyau Linux et un système plus gros basé dessus. Il est préférable d'utiliser d'autres termes comme flexibilité ou lisibilité.

avatar BeePotato | 

@ RyDroid : « Pour ce qui est de GNOME, c'est l’abréviation de GNU Network Object Model Environment, il fait donc bien parti du projet GNU. »

En effet, au temps pour moi. J’imagine qu’il est temps que je mette à jour ma vision mentale de la liste des composants du projet GNU, qui date d’avant l’apparition de GNOME. :-)

« On peut effectivement parler de l’ergonomie du noyau Linux. Mais c'est un adjectif bizarre/ambigu pour des API »

Non. C’est un adjectif que je vois utilisé régulièrement.

« et ça entretient la confusion entre le noyau Linux et un système plus gros basé dessus. »

Confusion qui ne dérange pas grand monde, il faut bien l’avouer. :-)

« Il est préférable d'utiliser d'autres termes comme flexibilité ou lisibilité. »

Ces adjectifs ne désignent pas la même chose, étant bien plus spécialisés (des composantes de l’ergonomie, qui ne peuvent donc pas être utilisées individuellement pour parler de l’ergonomie complète).

avatar MA8306 | 

Il a raison.....
Le pire c'est pour renommer un ensemble de fichiers....

avatar waldezign | 

Exactly!

avatar oomu | 

"« HFS+ est certainement le pire système de fichiers » selon Linus Torvalds "

le pire , il abuse. Y a FAT32...

"Il a raison.....
Le pire c'est pour renommer un ensemble de fichiers....
"

aucun rapport. Vous décrivez quelque chose qui tient de l'interface utilisateur, du Finder (qui d'ailleurs depuis Yosemite sait gérer ce cas de figure..., hé 10 versions majeurs de Os X hein ! enfin)

-
si vous voulez savoir de quoi Torvalds cause, je vous encourage à lire les articles de Ars Technica sur HFS+

un bon début:
http://arstechnica.com/apple/2011/07/mac-os-x-10-7/12/

-
le problème de HFS+ c'est qu'il ne répond pas aux exigences de fiabilité nécessaire aux IMMENSES stockages de données qu'utilisent les PARTICULIERS dont les FAMILLES (grand-maman, etc)

Les gens, vous, tonton et le cousin Bob, génèrent d'énormes quantités de données et elles sont Précieuses, Très précieuses: comptabiité, vidéo des enfants, hobby perso, généalogie, thèses, etc.

Or, si le stockage explose (disque dur de 6To, SSD de 1To bientôt accessible, etc), la fiabilité du matériel n'est suffisante:

le taux d'erreur de lecture et écriture d'un stockage FLAMBANT NEUF ET PARFAITEMENT BIEN FABRIQUE est trop important:

à la longue des déplacements, modifications, etc, le fichier se corrompt insidieusement.

HFS+ n'a aucune technique pour limiter la NON-confiance qu'on doit accorder au matériel (l'idée est vraiment là: vous ne pouvez pas accorder de confiance même au plus NEUF et BIEN fabriqué disque dur ou ssd, vous DEVEZ partir du principe qu'il va MAL faire son travail.)

Et c'est là un gros soucis.

-

Pour nuancer le propos de la "C'est La Fin du Monde et que Fout Apple ?", je vous rappelle que depuis Os X 10.7, il y a Core Storage.

Je ne vais pas m'étendre, mais pour ceux que cela intéressent et qui ne vivent pas dans l'aigreur, il y a de très bons articles sur Core Storage (encore une fois Ars Technica, pour qui je roule, hé, c'est un site orange aussi).

Core Storage est la technologie au sein d'os x qui progressivement leur permet de "virtualiser" hfs+ du noyau, pour ajouter des fonctionnalités (fusion drive par exemple) et peut être à terme offrir un chemin de migration vers MIEUX. On voit qu'Apple ne reste pas les bras ballants.

Mais oui, Apple ne peut plus continuer à faire l'impasse sur le système de fichier. C'est vraiment à ce point urgent. Pas tant en terme de performance que de fiabilité des données.

avatar bompi | 

Bon. Pour résumer :
a)
- HFS+ est pas terrible et devrait (depuis longtemps) être remplacé par quelque chose de mieux (qui reprenne les bonnes idées de ZFS, par exemple, sur les questions de corruption de données)
- Torvalds est excessif

b)
- l'utilisateur normal trouve normal l'insensibilité à la casse.
- je ne dois pas être normal pace que je n'ai jamais pu me faire à cette idée d'insensibilité à la casse, qui me paraît une aberration sur un plan informatique.

c) un jugement tout personnel :
les programmes qui ne fonctionnent pas sur les FS sensibles à la casse sont mal écrits [il y a une mauvaise compréhension de ce qu'est l'information et de sa conservation : ce qui est la base dans notre beau métier...]

avatar oomu | 

Torvalds est toujours excessif, c'est pour ça qu'on l'aimeuh. Snirfl :)

avatar BeePotato | 

Torvalds n’a jamais rien compris à ce qu’était un ordinateur personnel et il le montre une fois de plus avec cette remarque. Ridicule.
Comme Siracusa l’a plusieurs fois fait remarquer, HFS+ a de réels manques par rapport à ce qui est faisable de nos jours en matière de systèmes de fichiers, mais le choix de l’insensibilité à la casse n’en est pas un du tout.
Bref, du Torvalds classique. Il devrait se limiter à ce qu’il maîtrise vraiment (et ça n’inclut pas les systèmes de fichiers pour ordinateurs personnels).

Pages

CONNEXION UTILISATEUR