« 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 Gueven | 

Se focaliser sur la sensibilité ou non de la casse est un faux débat.
Informatiquement parlant l'insensibilité a la casse est une aberration.
Humainement parlant, l'insensibilité a la casse est une évidence (sauf pour les informaticiens :))
Bref, on perçoit clairement les orientations d'Apple qui sont a l'opposé de ceux de Linus.
D'ailleurs Linus a toujours produit des logiciels pour des informaticiens (kernel linux, git).
Les défauts de HSFS+ sont ailleurs (principalement la tolérance aux pannes).

avatar BeePotato | 

@ Gueven : « Informatiquement parlant l'insensibilité a la casse est une aberration. »

Même pas.
La sensibilité à la casse vient juste de la grande facilité de programmation qu’elle représente. Mais il n’y a rien d’aberrant à utiliser une fonction de comparaison moins bête que ce qu’on faisait pour des noms de fichiers en ASCII.

« Bref, on perçoit clairement les orientations d'Apple qui sont a l'opposé de ceux de Linus. »

Tout à fait.

« Les défauts de HSFS+ sont ailleurs (principalement la tolérance aux pannes). »

Tout à fait aussi.

avatar françois bayrou | 

"Informatiquement parlant l'insensibilité a la casse est une aberration.
Humainement parlant, l'insensibilité a la casse est une évidence (sauf pour les informaticiens :))"

Hein ???????
Pour Mme Michu, toi, et moi, a == A, mais pour une machine, il y autant de différence entre "a" et "A" qu'entre "a" et "z" !

Informatiquement parlant la logique va à l'insensibillité à la casse bien évidemment !

D'ailleurs quel language accepte encore l'insensibilité ? Même Flash ne le fait plus depuis, au moins, ... 1995 :)
getThis(), getthis(), Getthat(), GetThat(), GETTHAT()... :)

avatar BeePotato | 

@ françois bayrou : « Hein ???????
Pour Mme Michu, toi, et moi, a == A, mais pour une machine, il y autant de différence entre "a" et "A" qu'entre "a" et "z" ! »

Oui et non. Pour un logiciel utilisant un fonction de comparaison de caractères bête et simple, il y a certes autant de différence dans les deux cas. Mais pour un logiciel utilisant une fonction moderne comme il se doit dans le monde actuel, il n’y a aucun souci à considérer qu’il y a une différence dans un cas mais pas dans l’autre.
Comme je le disais précédemment, le tout ASCII c’est fini depuis un moment. Certaines habitudes prises à cette époque devraient disparaître aussi.

« Informatiquement parlant la logique va à l'insensibillité à la casse bien évidemment ! »

Vu l’exemple que tu as donné, je pense que tu voulais plutôt écrire que « la logique va à la sensibilité à la casse » (comme Gueven, quoi). ;-)
Mais encore une fois, il ne s’agit pas vraiment d’une logique — plutôt d’une (vieille) habitude.

avatar françois bayrou | 

Vu l’exemple que tu as donné, je pense que tu voulais plutôt écrire que « la logique va à la sensibilité à la casse » (comme Gueven, quoi). ;-)

Oops ! oui effectivement ...
Et en parlant des vieilles habitudes, finalement, le plus gros souci avec la casse ce sont les accents.
Je suis dév. et en pleine préparation d'une grosse migration de données, dans lesquelles je retrouve cette vieille habitude de mettre les noms au format "DUPONT Jean" : le nom tout en majuscules... et du coup sans accents, sûrement parce que sous windows c'était trop contraignant de taper les majuscules avec les accents !...

avatar BeePotato | 

@ françois bayrou : Ah, ça… Le jour où on aura systématiquement des noms propres saisis correctement, on saura que la fin du monde est proche ! :-)

Bon, heureusement, on bénéficie aussi de fonctions de comparaison ignorant les accents, donc leur absence n’est pas le pire problème qu’on peut rencontrer (à condition qu’ils soient réellement absents partout, et non générateurs de doublons avec un entrée sans accent et une avec). La variabilité de l’orthographe des noms propres me donne souvent envie de recourir à une comparaison purement phonétique. :-)

avatar Ali Ibn Bachir Le Gros | 

Tss, tss. Torvalds vient de critiquer Apple. On peut parler de tout, pointer des défauts sur tout, mais il y a une limite à ne pas franchir.

On ne critique pas Apple. C'est harām.

Salaud de Torvalds.

avatar françois bayrou | 

On est tombé dans une faille théologique ! Linus critique et personne oh non personne ne critique Linus, sinon Linus.
Tu mériterais qu'on te tranche la gorge pour ce que tu viens de dire mais ce n'est pas à moi d'en décider.

Appelons l'Oracle qui nous dira qui nous devons suivre !

:)))

avatar en ballade | 

@Darth Philou

Fat ne gère aucun os juste pour le stockage

avatar en ballade | 

@Moonwalker

Se passer de MS et Adobe? Il reste quoi?

avatar Moonwalker | 

Pour M$ => LibreOffice (je n'ose pas dire iWork)

Pour Adobe… Pixelmator, The Gimp, etc.

Bref, il ne faut pas être un professionnel qui a besoin d'outils spécifiques que seuls ces deux éditeurs peuvent lui fournir.

avatar Mark Twang | 

@Moonwalker :

C'est comme les débats Fender ou Gibson ou Gretsch... Le pro choisit l'outil dont il a besoin à chaque tâche. J'ai un PC Windows 8.1 que j'utilise pour le travail, un iMac pour la musique et la vidéo, un PC Linux Debian pour la bureautique et comme serveur, un Raspberry Pi pour initier des jeunes à la programmation... Notre intérêt n'est pas qu'un système fasse disparaître les autres mais que tous progressent. L'intégration ARM + Linux est particulièrement intéressante, plus que pour les plateformes Mac et Windows, mais si une gamme de Mac ARM voit le jour, cela stimulera efficacement les autres OS.

avatar Ludo | 

Pour ma part et avoir fait "l'erreur" de formatter une fois un disque Mac avec la sensibilité à la casse je peux vous assurer que c'est une très mauvaise idée si vous voulez utilisez des produits d'Adobe et j'en suis sûr pleins d'autres…
Bref il faudrait d'abord que les développeurs se définissent des lignes directrices dans la façon d''écrire ds chemins d'accès mais probablement que là où ça coince c'est que bien longtemps les système M$ ne prennaient que des majuscules tandis que les systèmes Apple bien qu'insensible à la casse, la dinstingue tout de même si bien que HD par défaut se nomme "Macintosh HD" et non "macintosh hd" ou MACINTOSH HD"…

De mon point de vue je ne pense pas qu'on va encore "vivre" / "subir" / voir longtemps sur Mac le système par arborescence que l'on connaît, cfr iCloud et le Sandboxing…

avatar keyzone | 

Il suffit que Apple dise
"Nous allons activer automatiquement la sensibilité à la casse sur les nouveaux iMac, MacBook dans 1 an. Ce sera une révolution."
M$ et Adobe se pencheront sur le souci

avatar jerome74 | 

Au lieu de gueuler que l'insensibilité à la casse est une hérésie, faudrait nous expliquer pourquoi. Pour l'utilisateur (et un OS est quand même fait pour lui, hein), ça me semble plutôt bien. Pour le développeur, tant qu'il a accès à une fonction qui lui permet de comparer deux noms de fichiers pour savoir s'ils sont équivalents ou non, ou est le problème? Si un développeur est trop con pour adapter son code à l'OS qu'il utilise, c'est pas à l'OS qu'il faut s'en prendre. Et c'est pas la peine d'insulter les développeurs d'OS X comme le fait ce type.

avatar BeePotato | 

@ jerome74 : Houlà, malheureux ! Mais tu imagines les conséquences de ce que tu dis ? Pour en arriver là, il faudrait que le développeur se sorte les doigts et adapte son code pour prendre en compte les contextes d’utilisation de ses divers utilisateurs, au lieu de se contenter de ne prendre en compte que ses propres besoins. :-)

avatar lolo-69 | 

Non mais il se prend pour qui, ce Linus Torvalds?
Croit-il que sa vision soit universelle, son système si parfait? A un tel point que son bousin fasse tourner tous les ordis grand public de la planète?

Il n'a pas du pain sur la planche pour:

(a) -Populariser son OS, le rendre attirant pour les grands éditeurs de logiciels pour qu'il soit apte à faire tourner des trucs sérieux et qualitatifs?

(b) -Faire en sorte qu'il puisse s'adresser à d'autres que des geeks ou des informaticiens?

Parce que ceux/celles qui n'appartiennent pas aux deux catégories (certainement minoritaires) mentionnées ci-dessus, le cambouis informatique, le système de fichiers, ils s'en cognent!
Ils ne veulent pas "faire de l'ordinateur", mais utiliser un ordinateur.
Ceux-là le font sous OS-X ou Windows...

Si ces deux OS ne sont pas la panacée, ils restent majoritaires, et ce n'est certainement pas sans raisons!

Hey, mec Linus Torvalds, il existe un vrai monde en dehors de vos lignes de code et votre charabia informatique, ouvrez les yeux!

avatar Simeon | 

Zavez quelque chose à dire sur le véritable sujet de l'article sinon ?

Le jour où votre disque dur sera corrompu, ne se lancera plus et que vous aurez perdu toutes vos photos de famille, renseignez-vous. Vous comprendrez de quoi il est ici question.

avatar BeePotato | 

@ Simeon : « Le jour où votre disque dur sera corrompu, ne se lancera plus et que vous aurez perdu toutes vos photos de famille, renseignez-vous. Vous comprendrez de quoi il est ici question. »

Ben non, il n’est pas question de ça, puisque Torvalds s’est contenté (en tout cas tel que c’est présenté dans cet article) de décrier une fonctionnalité de HFS+ (fonctionnalité mise là volontairement car à la fois souhaitable et souhaitée, et qui ne provoque nullement la corruption d’un volume ni la perte de toutes les photos de famille) au lieu de parler des faiblesses techniques de ce système de fichiers qui peuvent parfois entraîner une perte de données.

avatar Simeon | 

Je pensais plutôt à la phrase suivante : "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."

Si l'essentiel de l'article porte effectivement comme vous le dites sur la question de la casse, le problème principal rencontré par les utilisateurs (comme lolo-69) reste tout de même celui de la corruption.

avatar BeePotato | 

@ Simeon : « Je pensais plutôt à la phrase suivante : […] »

Cette phrase fait justement référence à l’insensibilité à la casse. C’est ce qui est absurde dans le commentaire de Torvalds : le plus gros reproche qu’il fait à HFS+ n’est en rien lié à ses faiblesses techniques, mais repose juste sur un choix de fonctionnalité fait lors de la conception de ce système de fichiers.
Juste parce qu’il est totalement incapable de comprendre que ce n’est pas « de la merde » que d’être d’un avis différent du sien sur le fait qu’un système de fichiers devrait être sensible à la casse ou non.

Comme je l’ai dit dans un de mes premiers commentaires, ce type n’a jamais compris ce qu’était un ordinateur personnel et se plaît à en faire régulièrement la démonstration (et contrairement à ce qu’on pourrait croire en lisant le commentaire d'Orus, écrire ça ne revient pas du tout à traiter Torvalds d’abruti ou à expliquer qu’il ne comprend rien aux ordinateurs).

« le problème principal rencontré par les utilisateurs (comme lolo-69) reste tout de même celui de la corruption. »

Oui, ce qui va justement à l’encontre de l’emportement de Torvalds au sujet de la sensibilité à la casse.
Mais ce que je faisais remarquer, c’est que ce dont il était question ici, ce n’était justement pas le souci de corruption de données.

avatar lolo-69 | 

Pénible, cette absence d'outil "citation"...

@Simeon

Bonjour.
Si je suis réfractaire au cambouis informatique, je ne suis pas neuneu au point de ne pas avoir de sauvegardes multiples, dont une délocalisée chez mes parents...

Quand je prends l'avion, je me moque du fait que les réacteurs qui propulsent ma viande soient des G&E ou des Rolls Royce, je veux qu'ils me mènent d'un point A à un point B.

Quand j'utilise un ordi, je veux que ça soit simple, que l'informatique se fasse oublier, pour cet aspect, le Mac satisfait à mon bonheur depuis des années et ne m'a pas fait de petits dans le dos.

avatar Orus | 

Résumons l'avis des "spécialistes" du Mac : Linus Torvalds est un abruti et il n'y connait rien aux ordinateurs.
Fascinant.

avatar Jef-67 | 

@Orus
Je suis expert Apple, et pour moi, Linus Torvalds est bien loin d'être un abruti, voir tout le contraire. Et je suis d'accord avec son analyse ...
A l'époque de Snow Leopard, Apple parlait de mettre en place ZFS, et je ne cachais mon plaisir de voir cet OS enfin se professionnaliser ...
Quelle ne fût pas ma déconvenue ... Au point de virer tous nos serveurs Apple, et de migrer vers Linux.

avatar Yuku | 

@Jef-67 :
Merci pour ton témoignage !
Incompréhensible de la part d'Apple je trouve...

Pages

CONNEXION UTILISATEUR