0 votes

Monter un volume sur un dossier qui n'existait pas auparavant

mount exige toujours un chemin d'accès à un dossier existant comme répertoire de montage de destination.

Mais sous MacOS, la fonction /Volumes ne contient pas la plupart des points de montage et ceux-ci sont créés au moment du branchement/montage.

Qu'est-ce qui rend cela possible ?

J'ai mis une entrée dans /etc/fstab ( sudo vifs ) mais j'aimerais que le dossier de montage spécifié, qui n'existe pas, soit créé au moment du montage et supprimé après le démontage ; de la même manière que cela se produit habituellement avec tous les volumes montés automatiquement sous MacOS.

1voto

Jose Chavez Points 645

Techniquement, vous ne pouvez monter un volume que sur un dossier existant. L'astuce qui rend néanmoins cela possible pour MacOS en général est qu'un programme s'assure de créer le dossier avant d'effectuer le montage.

Ce type de fonctionnalité est généralement connu (dans tous les systèmes d'exploitation) sous le nom de "auto mounter". Et en effet, MacOS contient un programme nommé automount qui crée automatiquement des dossiers et des montages en fonction de la configuration de la carte dans /etc/auto_master. Cette fonction est principalement utilisée avec certains types de partages réseau.

Le compteur automatique principal avec lequel la plupart des utilisateurs interagissent s'appelle diskarbitrationd . Ce programme est à l'écoute d'événements tels que la connexion d'une clé USB, l'insertion d'un DVD, etc. et monte n'importe quel système de fichiers montable sur ces clés.

diskarbitrationd utilise les informations contenues dans /etc/fstab pour déterminer les options spéciales ou la configuration du point de montage que l'utilisateur a défini pour un lecteur spécifique. Ces points de montage doivent toutefois exister au préalable et ils ne seront pas automatiquement supprimés après le démontage du système de fichiers.

Si vous souhaitez simplement choisir un nom de dossier différent dans le dossier /Volumes Pour cela, il vous suffit d'ouvrir l'Utilitaire de disque et de cliquer avec le bouton droit de la souris sur le volume pour choisir "Renommer". La prochaine fois que vous insérerez le disque, il sera monté dans un dossier portant ce nom.

Si vous voulez faire quelque chose de complètement différent du comportement manuel, vous pouvez désactiver la fonction diskarbitrationd et créez votre propre programme pour monter les disques automatiquement. Notez cependant que c'est beaucoup de travail pour quelque chose qui semble pouvoir être résolu d'une meilleure manière.

Enfin, vous pourriez créer un programme (c'est-à-dire un petit script) qui est exécuté chaque fois que quelque chose est monté. Lorsque votre lecteur spécial est monté, il pourrait le démonter automatiquement, créer le point de montage personnalisé et le monter à cet endroit. Vous auriez besoin d'une manipulation spéciale pour supprimer le dossier lorsque le disque est à nouveau démonté. Si vous pouvez créer de petits script, l'astuce pour que cela fonctionne est de créer un fichier de définition de démon launchd pour le script, et d'utiliser la commande StartOnMount clé. Cela permet à launchd d'exécuter votre script à chaque fois que quelque chose est monté.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X