Comment puis-je configurer bind mount au démarrage correctement dans le monde systemd?

systemd , en essayant d'être intelligent, parallélise les inputs de assembly de /etc/fstab . Malheureusement, cela perturbe randomment les montures:

Un coup d'oeil à mon fstab , nettoyé un peu:

 $ grep -Ev 'ntfs|swap|#' /etc/fstab UUID=3cbb59fd-ff2c-47ed-955f-e4945b5c95b6 / ext4 rw,relatime,data=ordered 0 1 UUID=2d7b3de8-782b-4981-9db6-a4b9a6d45cac /home/muru/devel ext4 rw,relatime,data=ordered 0 2 UUID=38d31418-ed63-49e8-b11b-df90da4833e2 /home/muru/var btrfs rw,relatime,space_cache 0 0 UUID=77307ad0-35e1-439b-8fe2-07a7bb5376b2 /mnt ext4 rw,relatime,data=ordered 0 2 /home/muru /home/muru/devel/debian/jessie/home/muru none bind 0 0 /home/muru /home/muru/devel/debian/jessie-test/home/muru none bind 0 0 /home/muru/devel /home/muru/devel/debian/jessie/home/muru/devel none bind 0 0 /home/muru/devel /home/muru/devel/debian/jessie-test/home/muru/devel none bind 0 0 

Et mes montures réelles:

 $ mount | grep ^/dev/ | grep -Ev 'fuseblk|run' /dev/sdb1 on / type ext4 (rw,relatime,data=ordered) /dev/sda1 on /mnt type ext4 (rw,relatime,data=ordered) /dev/sda7 on /home/muru/devel type ext4 (rw,relatime,data=ordered) /dev/sdb1 on /home/muru/devel/debian/jessie/home/muru type ext4 (rw,relatime,data=ordered) /dev/sdb1 on /home/muru/devel/debian/jessie-test/home/muru type ext4 (rw,relatime,data=ordered) /dev/sda7 on /home/muru/devel/debian/jessie-test/home/muru/devel type ext4 (rw,relatime,data=ordered) /dev/sda7 on /home/muru/devel type ext4 (rw,relatime,data=ordered) /dev/sda7 on /home/muru/devel/debian/jessie/home/muru/devel type ext4 (rw,relatime,data=ordered) /dev/sda7 on /home/muru/devel/debian/jessie/home/muru/devel type ext4 (rw,relatime,data=ordered) /dev/sda7 on /home/muru/devel/debian/jessie-test/home/muru/devel type ext4 (rw,relatime,data=ordered) /dev/sda7 on /home/muru/devel type ext4 (rw,relatime,data=ordered) /dev/sda7 on /home/muru/devel type ext4 (rw,relatime,data=ordered) /dev/sdb8 on /home/muru/var type btrfs (rw,relatime,space_cache) /dev/sdb8 on /home/muru/devel/debian/jessie/home/muru/var type btrfs (rw,relatime,space_cache) /dev/sdb8 on /home/muru/devel/debian/jessie-test/home/muru/var type btrfs (rw,relatime,space_cache) 

Comme vous pouvez le voir, il semble que les assemblys aient été réalisés avec succès. Mais, l'effet:

 $ ls -l /home/muru/devel/debian/jessie/home/ total 4.0K drwxr-xr-x 2 root root 4.0K Jun 20 20:36 muru/ $ ls -l /home/muru/devel/debian/jessie/home/muru/ total 0 

Je pense que cela est dû à l'ordre random des montures. Si c'est le cas, comment puis-je assurer une command? Dois-je utiliser autre chose que fstab ? Si ce n'est pas le cas, qu'est-ce qui pourrait l'avoir causé?

J'utilise Arch Linux.

 $ systemctl --version systemd 221 +PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID -ELFUTILS +KMOD +IDN 

Plus d'un an plus tard, avec la version de systemd (229) maintenant disponible avec ubuntu 16.04, il existe un support dans fstab pour le assembly de dependencies comme celui-ci.

donc c'est aussi simple que de faire ça.

 # /etc/fstab /home/var /var bind x-systemd.requires=/home,x-systemd.automount,none 0 0 

J'ai eu l'idée de ce post https://copyninja.info/blog/systemd_automount_entry.html

Pour moi, systemd est un désordre.

J'ai dû recourir à l'ajout de scripts à /etc/rc.local (ou équivalent sur votre OS).

Il suffit de listr tous vos points de assembly dans l'ordre désiré.

Cela permettra de contourner "l'intelligence" de systemd.