Donc, deux choses.
Premier : Linux et Unix ont une norme de hiérarchie des systèmes de fichiers que Ubuntu et Snaps suivent. https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
Deuxièmement : si l'on choisit de s'écarter de la norme mondiale en vigueur depuis 1979, c'est parfaitement bien, mais il faut alors relier le répertoire non standard pour que snap puisse le trouver.
mount --bind /nonstandard_mountpoint /media/$USER/directory
ou
mount --bind /nonstandard_mountpoint /home/$USER/directory
alors vous pouvez continuer à utiliser votre point de montage non standard ET en même temps tous vos snaps peuvent trouver vos données de point de montage non standard.
Il est même possible de rendre ce montage permanent en l'ajoutant à votre FSTab.
sudo nano /etc/fstab
ajouter la ligne
/source /destination none defaults,bind 0 0
pour sauvegarder et quitter
CTRL+X y
Voici un exemple : Fichiers de musique stockés dans /srv/dsmusic
créez d'abord un répertoire dans /home/$USER/Music/dsmusic
mkdir /home/$USER/Music/dsmusic
puis lier la musique mount /srv/ds à ce répertoire
sudo mount --bind /srv/dsmusic /home/$USER/Music/dsmusic
Ensuite, tous vos programmes de musique instantanée trouveront automatiquement et magiquement les fichiers musicaux.
pour poursuivre l'exemple de la musique :
sudo nano /etc/fstab
ajouter la ligne
/srv/dsmusic /home/username/Music/dsmusic none defaults,bind 0 0
** Unmounting **
si vous voulez démonter, vous pouvez utiliser la commande umount normale comme pour un point de montage normal.
sudo umount /home/$USER/Music/dsmusic
Pour plus d'informations, veuillez consulter : https://unix.stackexchange.com/questions/198590/what-is-a-bind-mount
SystemD
** Veuillez noter qu'il existe un moyen plus moderne de faire cela dans SystemD au lieu d'utiliser fstab.
Pour créer des montages liés dans SystemD, vous devez créer un fichier .mount avec le chemin vers le point de montage non standard séparé par - (moins) au lieu de barres obliques (/).
sudo systemctl edit --full --force path-nonstandard.mount
après ce qui suit et modifier les points de montage
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target
[Mount]
What=/some/old/dir
Where=/the/new/dir
Type=none
Options=bind
[Install]
WantedBy=local-fs.target
si nano est l'éditeur par défaut CTRL+X y (pour nano) :wq (pour vim)
activer le fichier systemD
sudo systemctl enable path-nonstandard.mount
puis recharger le démon SystemD
sudo systemctl daemon-reload
Ensuite, commencez votre montage avec
sudo systemctl start path-nonstandard.mount
Si vous avez besoin de le modifier à nouveau, il suffit de
sudo systemctl edit --full path-nonstandard.mount
Exemple : Pour reprendre l'exemple de la musique :
sudo systemctl edit --full --force srv-dsmusic.mount
ceci ouvrira un éditeur vide et créera un nouveau fichier .mount dans le bon dossier système auquel on ajoutera les lignes suivantes
pour un point de montage local sur le même matériel :
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target
[Mount]
What=/srv/dsmusic
Where=/home/username/Music/dsmusic
Type=none
Options=bind
[Install]
WantedBy=local-fs.target
Veuillez noter que si votre point de montage non standard est un NAS ou un autre périphérique distant, vous devrez utiliser remote-fs.target et non local-fs.target.
pour un point de montage distant sur un matériel différent tel qu'un NAS
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=remote-fs.target umount.target
[Mount]
What=/srv/dsmusic
Where=/home/username/Music/dsmusic
Type=none
Options=bind
[Install]
WantedBy=remote-fs.target
puis quittez l'éditeur CTRL+X y (pour nano) :wq (pour vim)
activer le fichier systemD
sudo systemctl enable srv-dsmusic.mount
Puis recharger le démon systemD
sudo systemctl daemon-reload
puis démarrez votre nouveau point de montage
sudo systemctl start srv-dsmusic.mount
pour démonter le bindmount juste
sudo systemctl stop srv-dsmusic.mount
Vous pouvez maintenant trouver des miroirs de vos données dans /srv/dsmusic et snap pourra trouver les mêmes données dans /home/$USER/Music/dsmusic.
pour plus d'informations, veuillez consulter : https://utcc.utoronto.ca/~cks/space/blog/linux/SystemdBindMountUnits et https://www.freedesktop.org/software/systemd/man/systemd.mount.html