URL: https://linuxfr.org/users/shuba/journaux/ou-systemd-resout-des-problemes-de-cifs Title: Où systemd résout des problèmes de cifs Authors: Shuba Date: 2014年09月24日T22:29:56+02:00 License: CC By-SA Tags: systemd et cifs Score: 26 Cher journal, Je voudrais partager avec toi le fruit d'une récente victoire sur une épine qui perforait mon pied depuis longtemps. La petite histoire ================== Comme beaucoup de gens, j'accède à quantité de données stockées sur le réseau via le protocole [[CIFS]]. Peu enclin à la répétition de commandes ```mount``` à rallonge, j'avais choisi de renseigner mon fichier ```/etc/fstab``` avec les points de montage désirés. Cependant, sur mes machines transportables, j'ai découvert que passer en mode veille avec un partage réseau monté pour se réveiller sur un nouveau réseau n'ayant plus accès au dit partage causait d'ennuyeux bugs. Tout processus qui tentait d'accéder au point de montage du disque partagé se retrouve bloqué pendant un important laps de temps. Après d'infructueuses recherches quand à une solution à ce problème, je tente de le contourner via les fonctionnalités d'automount de ```systemd```. Sans succès hélas. Mais hier, une nouvelle tentative a fonctionné. L'automount n'était qu'une solution partielle à mon problème, il me fallait également démonter automatiquement ces partages réseaux lors de la mise en veille de mon ordinateur. Quelques minutes de lecture de ```man systemd.special``` m'ont fourni une réponse très simple: en ajoutant ```Conflicts=sleep.target``` à mes unités de mount, systemd s'occuperait tout seul du démontage lorsque nécessaire. Après quelques tests, je peux confirmer que tout fonctionne parfaitement, et j'en suis très heureux. Le code pour les admins pressés =============================== Voici donc les configurations nécessaires: Fichier ```/etc/systemd/system/mnt-mydrive.mount``` ```ini [Unit] Description=Mount of network drive Requires=network.target Conflicts=sleep.target [Mount] Where=/mnt/mydrive What=//my-drive-address/my-share-name Options=uid=1000,user=username,password=***** Type=cifs TimeoutSec=5s [Install] WantedBy=multi-user.target ``` Fichier ```/etc/systemd/system/mnt-mydrive.automount``` ```ini [Unit] Description=Automount of network drive Requires=network.target [Automount] Where=/mnt/mydrive [Install] WantedBy=multi-user.target ``` On installe les services et on les démarre: ```systemctl daemon-reload``` ```systemctl enable mnt-mydrive.mount mnt-mydrive.automount``` ```systemctl start mnt-mydrive.automount``` Ensuite, un ```ls /mnt/mydrive``` monte le disque réseau, et une mise en veille (ou veille prolongée) le démonte.