J'ai besoin qu'une ligne particulière /etc/fstab
soit montée toujours après deux autres lignes:
# Always mount these first
UUID=fdf38dd4-9e9d-479d-b830-2a6989958503 / ext4 noatime,discard,errors=remount-ro 0 1
UUID=2b548eb8-fa67-46ce-a998-91d587dba62f /home/.hdd ext4 errors=remount-ro 0 2
# Always mount this second
none /home/ak aufs br:/home/.ssd/ak=rw:/home/.hdd/ak=rw 0 0
Le comportement actuel consiste à inverser souvent l'ordre des deux dernières lignes de manière imprévisible. Comment spécifier la commande nécessaire?
noauto
et monter dansrc.local
?Réponses:
Une option consiste à reporter le montage jusqu'à la
/etc/fstab
fin, ce qui vous donne un contrôle total sur l'ordre de montage.Ajoutez simplement
noauto
les options de montage dans fstab et montez dansrc.local
.Selon la page de manuel ,
mount -a
monte les entrées defstab
manière séquentielle, tandis que l'ajout de l'-F
option ('fork') les montera en parallèle. Il semble que le démarrage standard utilise 'fork', probablement pour réduire le temps de démarrage, donc je suppose que le montage (semi) manuel après coup est le moyen le plus simple de reprendre le contrôle de l'ordre de montage.la source
Je pourrais envisager de configurer un script qui monte les seconds disques après l'appel du script de montage. Dans Ubuntu initd est le service qui démarre tous les composants de votre système d'exploitation, et il est appelé upstart .
Il est basé sur des événements, ce qui signifie qu'il regarde / attend et émet des événements pendant le processus de démarrage. Comme ce post l'a souligné , le service initd essaie de faire les choses en parallèle, ce qui est probablement à l'origine de vos problèmes. Vous pouvez donc configurer votre script pour qu'il s'exécute directement après la fin du montage et l'achèvement de son traitement.
Les scripts de montage sont conservés dans le répertoire / etc / init /. J'ajouterais également votre script de montage supplémentaire. Regardez cette description du processus de démarrage. Ce site vous aidera probablement à vous familiariser avec votre propre script le plus rapidement.
Vous devez avoir une section de démarrage dans votre propre script. Reportez-vous à cette section pour démarrer un travail après la fin d'un autre.
Je cherche toujours à créer mes propres scripts de démarrage moi-même, donc je ne peux pas être plus utile. Si vous trouvez une solution de travail, veuillez la poster ici.
la source
Ubuntu utilise
mountall
au démarrage, nonmount -a
. Mountall attend que les périphériques sous-jacents apparaissent, puis monte le fs sur eux immédiatement, à moins que le fs sous lequel il est monté n'a pas encore été monté, puis il attend que fs.Vous devriez pouvoir obtenir l'ordre que vous souhaitez en définissant les points de montage des 3 systèmes de fichiers afin qu'ils soient empilés les uns sous les autres. Au lieu de monter les trois dans /home/.quelque chose, placez le premier dans /home/.x, le second dans /home/.x/.y et le troisième dans /home/.x/.y/ .z.
la source
Systemd a maintenant inclus une option de dépendance qui applique l'ordre de montage. Dans votre cas, ajoutez les arguments fstab:
L'option noauto ne fonctionnera pas si vous devez monter sur d'autres systèmes de fichiers montés. Dans mon cas, ce qui a fonctionné ci-dessus, voir commit https://github.com/systemd/systemd/commit/3519d230c8bafe834b2dac26ace49fcfba139823 pour plus de détails.
la source
Selon
man fstab
, l'showthrough
option pourrait être celle que vous recherchez. Essayez de le régler sur / home / ak et voyez si cela fonctionne.Il est possible que les
mount
fourches lors du montage des systèmes de fichiers lors du démarrage; si c'est le cas, l'ordre dans lequel vos partitions sont montées ne serait pas défini.la source
showthrough
n'a pas résolu le problème.