Comment puis-je monter en permanence une partition séparée en tant que dossier dans une partition d'accueil distincte?

J'aimerais créer la situation suivante:

  • Une partition distincte pour le directory personnel de mon user,
  • Une seconde partition séparée pour ~ / Documents , et
  • Une troisième partition séparée pour ~ / Videos et ~ / Music .

L'obtention du premier point ne semble pas être difficile, et cela est déjà couvert dans des questions telles que: Comment puis-je déplacer le directory personnel vers une partition distincte?

La réalisation des deux autres objectives devrait suivre le même schéma, mais je ne suis pas sûr de devoir prendre en charge l'ordre de assembly / -how ( premier / home / user , / home / user / whatever ). AFAIK l'ordre dans / etc / fstab n'a pas d'importance du tout.

Bien que cela puisse être plus facile à configurer, je ne veux pas rendre les liens symboliques des directorys XDG, à less que d'autres solutions soient trop complexes.

TL, DR: Je recommand les liens symboliques.

Si vous montez une partition sur un sharepoint assembly qui ne se trouve pas dans la partition racine, vous devez d'abord monter la partition hôte et démonter la partition hôte. Par exemple, si vous avez des partitions séparées pour / , /home et /home/htorque/Documents , vous devez monter /home avant /home/htorque/Documents . Si vous listz les partitions dans /etc/fstab , il suffit de listr /home avant /home/htorque/Documents , car les inputs sont montées dans l'ordre au démarrage. Ainsi, les points de assembly nesteds ne posent pas de problème en fonctionnement normal.

Les points de assembly nesteds peuvent être un problème dans des circonstances inhabituelles. Supposons que le disque contenant l'une des partitions se bloque ou que vous procédiez à la maintenance, par exemple le déassembly d'un système de files pour le déplacer vers un autre disque. Vous ne pouvez pas démonter /home sauf si vous avez démonté les partitions dont le sharepoint assembly est dessus. Si /home n'est pas monté au démarrage car son système de files est endommagé, alors /home/htorque/Documents ne sera pas monté non plus. Si vous décidez de renommer /home/torque/Documents , vous devrez d'abord démonter la partition. De plus, si à un moment donné /home/htorque/Documents n'est pas monté et que vous avez accidentellement déposé un file dans ce directory, le file disparaîtra mystérieusement lorsque vous monterez /home/htorque/Documents .

Un cas où vous ne pouvez pas (commodément) utiliser des points de assembly dans votre directory personnel est s'il est chiffré et monté lorsque vous vous connectez, par exemple la façon dont Ubuntu utilise ecryptfs si vous requestz que votre directory personnel soit crypté. Vous devrez ensuite monter les autres partitions manuellement (ou à partir d'un script de connection) et faire attention à les démonter avant de vous déconnecter.

Une limitation qui peut être ou ne pas être pertinente est que si vous souhaitez que votre directory personnel ne soit pas lisible publiquement mais que vous souhaitiez par exemple que votre musique soit lisible publiquement, le directory de votre musique ne doit pas passer par votre directory personnel. Ceci est un autre argument contre les points de assembly dans votre directory personnel dans une instance spécifique.

Les fixations ne vous achèteront pas beaucoup ici. Ils sont utiles lorsqu'un lien symbolique ne le permet pas, par exemple lorsque vous avez besoin de files disponibles dans un chroot. Mais ils associent le lourd entretien des points de assembly à certains des inconvénients des liens symboliques (les files existent également ailleurs), ainsi que leurs inconvénients (plusieurs paths canonique vers un file nécessitent une attention particulière lors des sauvegardes, entre autres).

Je recommand donc de créer des partitions montées directement sur la partition racine (pas nécessairement directement sous le directory racine), et de créer des liens symboliques. Ou vous pouvez configurer un path différent pour ces directorys dans ~/.config/user-dirs.dirs .

Les liens symboliques sont beaucoup plus faciles que les autres approches, mais je ne les appellerais pas une approche «propre». Si vous supprimez un lien symbolique, par exemple, vous supprimez uniquement le lien et non le file qu'il pointe, ce qui ressemble à un comportement incohérent . Vous pouvez utiliser par exemple bind mount:

 mount --bind /media/my-disk /home/user/Documents 

Ceux-ci sont généralement indiscernables de la chose réelle.

Liens symboliques pour les sous-domaines de la maison est de loin l'approche la plus propre.

Bien que je pense que vous pourriez utiliser une superposition de système de files , il sera beaucoup plus complexe d'initialiser les directorys lors de la création d'un nouvel user – vous devrez créer de nouvelles twigs pour chaque directory ou utiliser des pseudo-liens des liens symboliques).