Gérer les fichiers Zone Identifier en WSL sur Windows 10 et 11


Déplacer son repos local dans WSL et pleurer

Récemment, j’ai été confronté à un problème de performance avec Laravel lorsqu’il est hébergé sous WSL dans Docker sur Windows 10. Les performances étaient catastrophiques, alors que je n’avais jamais rencontré de problème sur ce type de configuration avec des technologies comme Node ou .NET.

J’ai donc déplacé mes fichiers directement dans WSL (je ferai un article si nécessaire). Les performances étaient de nouveau satisfaisantes.

Cependant, des fichiers .Zone.Identifier se généraient automatiquement, et je ne pouvais y accéder sans devoir changer les droits à chaque fois, ce qui complique la gestion du flux Git.

Que sont les fichiers Zone.Identifier ?

Définition : Les fichiers .Zone.Identifier sont des flux de données alternatifs utilisés par Windows pour marquer les fichiers provenant de différentes zones de sécurité, notamment ceux téléchargés d’Internet. Bien que cela ajoute une protection contre l’exécution de code non fiable, ces fichiers peuvent poser des problèmes dans l’environnement WSL. Et je vous confirme que cela pose des problèmes.

Solution 1 : Désactiver la conservation des informations de zone via la stratégie de groupe locale

Une première solution consiste à empêcher Windows d’ajouter les informations de zone aux nouveaux téléchargements en modifiant la stratégie de groupe locale :

  • Appuyez sur Win + R, tapez gpedit.msc, puis appuyez sur Entrée pour ouvrir l’Éditeur de stratégie de groupe locale.
  • Accédez au chemin suivant : Configuration utilisateur > Modèles d’administration > Composants Windows > Gestionnaire de pièces jointes
  • Activez la stratégie intitulée Ne pas conserver les informations de zone dans les pièces jointes de fichiers.
Stratégie de groupe pour ne plus avoir de fichier Zone Identifier dans WSL Windows

Activer cette stratégie empêche la création de nouveaux fichiers .Zone.Identifier. Microsoft avertit que cela peut rendre votre système plus vulnérable. Si vous préférez conserver ces mesures de sécurité et seulement supprimer les fichiers d’identification de zone au besoin, utilisez plutôt la solution suivante.

Supprimer les fichiers .Zone.Identifier existants via des commandes

Si vous avez déjà ce type de fichier voici une commande à executer en WSL Linux :

find . -name "*Zone.Identifier" -type f -delete

Cette commande simplifie la suppression des fichiers .Zone.Identifier de votre environnement WSL, évitant ainsi les erreurs de permissions et assurant une meilleure compatibilité des fichiers dans WSL.

Dites moi en commentaire si vous êtes intéressé par un article pour passer vos fichiers sous WSL et avoir de meilleurs performance sur votre environnement de développement Laravel Docker.

Sources

Cet article a été inspiré par https://linuxbeast.com/blog/manage-zone-identifier-files-in-wsl-on-windows-10-and-windows-11/