1 points par GN⁺ 2025-02-26 | 1 commentaires | Partager sur WhatsApp

Intérêt pour les systèmes de fichiers

  • L’auteur s’intéresse aux systèmes de fichiers depuis le Macintosh de 1984.
  • Quand Apple pouvait encore racheter Be Inc., il avait de grands espoirs pour le Be File System, mais l’entreprise a finalement acquis NeXT pour développer Mac OS X.
  • Lors de la WWDC 2017, Apple a présenté l’Apple File System (APFS) pour macOS.

Principales fonctionnalités d’APFS

  • APFS est un système de fichiers qui représente une avancée majeure par rapport à HFS+.
  • Parmi ses principales fonctionnalités figurent les instantanés à un moment donné et les clones en copy-on-write.
  • Les instantanés rendent les sauvegardes Time Machine plus fiables et plus efficaces.
  • Les fichiers clonés partagent leurs données avec le fichier d’origine, ce qui permet une duplication instantanée dans le Finder.

L’idée d’économiser de l’espace disque

  • L’auteur a réfléchi à une manière d’utiliser les fichiers clonés d’APFS pour économiser de l’espace disque.
  • Il a découvert qu’il était possible d’économiser de l’espace en convertissant en clones des fichiers ayant le même contenu.
  • Il a testé ce potentiel d’économie d’espace avec un script Perl et a constaté qu’il était possible d’économiser un volume important d’espace.

Développement de l’application Hyperspace

  • L’auteur a décidé de développer une application capable d’économiser de l’espace disque.
  • Il a créé une application nommée Hyperspace et l’a publiée sur le Mac App Store.
  • Hyperspace peut être téléchargée gratuitement, mais son utilisation pour économiser de l’espace nécessite un paiement.

Expérience de développement et technologies

  • Hyperspace a été développée avec SwiftUI et Swift 6.
  • Il indique qu’il a été plus facile de développer directement avec Swift 6 dès le départ.
  • Comme l’application modifie des fichiers, elle comporte des risques, mais il espère qu’elle sera utile à de nombreux utilisateurs.

1 commentaires

 
GN⁺ 2025-02-26
Commentaires sur Hacker News
  • Après téléchargement et exécution, l’app m’a indiqué qu’elle pouvait nettoyer « 900 » fichiers. Il n’y avait ni résumé ni liste. En revanche, on m’a demandé d’acheter l’application. Je ne sais pas si cela m’aidera, donc je me demande pourquoi je devrais l’acheter.

  • Hyperspace n’a aucun moyen de se coordonner avec toutes les autres applications et avec macOS pour déterminer à quel moment remplacer les fichiers en toute sécurité. Je me demande pourquoi le système de fichiers lui-même n’exécute pas un processus de déduplication en arrière-plan. Je me demande quels seraient les inconvénients à faire cela automatiquement dans APFS.

  • J’aime bien le modèle qui permet de scanner gratuitement, de voir s’il y a un intérêt, puis de payer pour les résultats réels. J’ai moi aussi tendance à stocker beaucoup de fichiers, et j’ai pu récupérer 7 Go. Ce n’est pas un gain énorme pour moi, mais j’apprécie que cette fonctionnalité existe.

  • J’ai créé un utilitaire en ligne de commande appelé dedup qui fait la même chose. Il dispose d’un mode dry-run, choisit « intelligemment » la meilleure source de clone, comprend les liens physiques et autres clones, préserve les métadonnées et gère correctement les fichiers compressés HFS. Il n’a jamais détruit mes données, mais comme avec tous les outils de système de fichiers, il faut l’utiliser avec prudence.

  • Lors de la WWDC 2017, Apple a présenté Apple File System (APFS) pour macOS. Auparavant, dans le cadre d’une mise à jour iOS 10.x, ils avaient secrètement converti tous les iPhone vers APFS avant de revenir à HFS+. Je me demande comment il est possible d’annuler une modification du système de fichiers.

  • Je me demande quel algorithme est utilisé pour vérifier que deux fichiers sont identiques. Il existe divers algorithmes, comme les hashes ou la comparaison bit à bit, mais ces techniques ont des inconvénients. Je me demande quelle est la meilleure méthode lorsqu’il y a beaucoup de fichiers.

  • Quand le fichier A existe à deux emplacements et qu’on exécute cet outil, je me demande si, en modifiant A_0, cela modifie aussi A_1, ou si seul le nouvel état de A_0 est reflété tandis que A_1 reste inchangé.

  • J’ai essayé sur un dossier volumineux de projet NodeJS, mais dans un dossier de 8,1 Go, il n’a trouvé qu’1 Go d’économie. J’ai réessayé en incluant mon dossier personnel, mais je n’ai obtenu que 1,3 Go d’économie. J’ai tenté de scanner le système et les bibliothèques, mais cela a été refusé pour des raisons de permissions. Comme j’utilise pnpm comme gestionnaire de paquets, l’utilisation de l’espace disque semble déjà optimisée. L’idée est bonne, mais le prix actuel est trop élevé pour être facilement justifié. Ce serait bien si cela s’exécutait une fois par mois comme processus en arrière-plan.

  • Hyperspace est une application un peu difficile à expliquer. Ils ont essayé de l’expliquer longuement dans la documentation. J’espère que cela deviendra un ajout utile à l’écosystème Mac. Mais une explication simple comme « dédupliqueur de fichiers » suffit probablement.

  • Sous Windows, il existe une fonctionnalité similaire de « copy-on-write » appelée « Dev Drive ». Si cela fonctionne bien, on pourrait se dire que cela devrait devenir l’option par défaut.