Eu preciso que uma linha específica /etc/fstab
seja montada sempre após duas outras linhas:
# 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
O comportamento atual é reverter a ordem das duas últimas linhas de maneira imprevisível. Como posso especificar a ordem necessária?
noauto
e monterc.local
?Respostas:
Uma opção é adiar a montagem até depois de
/etc/fstab
concluída, isso lhe dá controle total sobre a ordem de montagem.Basta adicionar
noauto
às opções de montagem no fstab e montarrc.local
.De acordo com a página do manual ,
mount -a
monta as entradasfstab
sequencialmente, enquanto a adição da opção-F
('fork') as monta paralelamente. Parece que a inicialização padrão está usando 'fork', presumivelmente para reduzir o tempo de inicialização, então acho que montar (semi-) manualmente depois é a maneira mais simples de recuperar o controle da ordem de montagem.fonte
Eu posso considerar a configuração de um script que monta os segundos discos após a chamada do script de montagem. No Ubuntu initd é o serviço que inicia todos os componentes do seu sistema operacional e é chamado de inicial .
É baseado em eventos, ou seja, parece / espera e emite eventos durante o processo de inicialização. Como este post apontou , o serviço initd tenta fazer as coisas em paralelo, o que provavelmente está causando seus problemas. Portanto, você pode configurar seu script para ser executado logo após a montagem terminar e concluir os processos.
Os scripts de montagem são mantidos no diretório / etc / init /. Eu adicionaria seu script de montagem adicional também. Veja esta descrição do processo de inicialização. Esse site provavelmente o ajudará a obter o seu próprio script o mais rápido possível.
Você precisa iniciar a seção em seu próprio script. Consulte esta seção para iniciar um trabalho depois que um outro terminar.
Ainda estou pensando em como criar meus próprios scripts de inicialização, então não posso ser mais útil. Se você encontrar uma solução funcional, publique-a aqui.
fonte
O Ubuntu usa
mountall
no momento da inicialização, nãomount -a
. Mountall espera que os dispositivos subjacentes apareçam e, em seguida, monta o fs neles imediatamente, a menos que o fs sob o qual ele está sendo montado ainda não tenha sido montado, aguarde esse fs.Você deve conseguir a ordem que deseja, definindo os pontos de montagem dos 3 sistemas de arquivos para que eles sejam empilhados um sob o outro. Em vez de montar os três em /home/.something, coloque o primeiro em /home/.x e o segundo em /home/.x/.y e o terceiro em /home/.x/.y/ .z.
fonte
O Systemd agora incluiu uma opção de dependência que impõe a ordem de montagem. No seu caso, adicione os argumentos fstab:
A opção noauto não funcionará se você precisar montar sobre outros sistemas de arquivos montados. No meu caso, o procedimento acima funcionou, consulte commit https://github.com/systemd/systemd/commit/3519d230c8bafe834b2dac26ace49fcfba139823 para obter mais detalhes.
fonte
De acordo com
man fstab
, ashowthrough
opção pode ser o que você está procurando. Tente configurá-lo em / home / ak e veja se funciona.É possível que
mount
bifurque-se ao montar sistemas de arquivos durante a inicialização; Nesse caso, a ordem em que suas partições são montadas seria indefinida.fonte
showthrough
não resolveu o problema.