(Estou executando o openSUSE 13.2)
Minha configuração atual
Eu tenho uma unidade de backup externa que monto na inicialização com a seguinte linha no meu /etc/fstab
:
/dev/mapper/cr_backup /backup ext4 comment=systemd.automount,nofail 0 2
Tenho essa nofail
opção porque às vezes a unidade de backup não está presente e não quero que a inicialização trave nesse caso.
O problema
Quando a unidade de backup não está presente, a execução ls
no meu diretório raiz entra em um loop infinito que devo cancelar com ctrl+c. A mensagem de erro é:
ls: cannot access /backup: Interrupted system call
Parece que ls
está falhando porque está tentando acessar a unidade de backup e não consegue.
Uma solução seria aninhar a unidade de backup /backup/backup
para que ela ls /
não tropece. No entanto, isso parece um hack sujo e estou me perguntando se existe uma solução mais elegante (estou interessado em aprender mais sobre como o sistema funciona!).
Na minha experiência (limitada) com mount
, se um dispositivo não estiver montado, o ponto de montagem será um diretório vazio. Posso conseguir algo semelhante aqui? Eu precisaria ter cuidado, pois tenho backups automáticos agendados que atualmente não são executados se o dispositivo não estiver montado. Definitivamente, não quero que o backup simplesmente despeje tudo no diretório vazio se não tiver montado a unidade de backup!
Responder1
Na minha opinião, é uma má prática tentar montar um sistema de arquivos de backup na inicialização, porque se algo der errado (rm -rf / [enter] ops), os dados no backup provavelmente serão excluídos juntos.
Portanto, se você estiver usando um script para fazer isso, monte dentro do script, ou dentro do cron, e desmonte quando terminar.
Com isso sua inicialização não travará mais e você terá o sistema de arquivos funcionando.
Porém, outra solução é removê-lo do fstab e colocá-lo como um comando de montagem em rc.local com "&" char para executá-lo em segundo plano:
mount /dev/mapper/cr_backup /backup -t ext4&
Para dispositivos removíveis, você também tem a solução autofs: https://linuxconfig.org/automatically-mount-usb-external-drive-with-autofs
Responder2
Eu sei que você está executando o SUSE, mas esta declaração do wiki fstab do Ubuntu (https://help.ubuntu.com/community/Fstab) pode apontar a direção certa:
Dispositivos removíveis, como unidades flashpodeser adicionados ao fstab, mas normalmente são montados pelo gnome-volume-manager e estão além do escopo deste documento.
ATUALIZAÇÃO: Isso pode ser interessantehttp://www.novell.com/coolsolutions/tip/17785.html, um artigo antigo sobre o SUSE.