Por que não é possível montar arquivos de leitura em "/etc/fstab.d/"?

24

Estou tentando configurar um volume montado automaticamente e notei que agora existe um /etc/fstab.d/no meu servidor. Criei um novo arquivo no diretório com o seguinte conteúdo:

# backupstore: large volume
/dev/mapper/bagend-backupstore  /mnt/backupstore        ext4    auto,relatime,users,sync        0       0

Mas quando executo mount -ao volume não está montado. Além disso, quando corro mount /mnt/backupstoreou /dev/mapper/bagend-backupstoresou informado de que o sistema não conseguiu encontrar a entrada no fstab (e para antecipar: sim, o dispositivo e o ponto de montagem estão corretos - posso montá-lo facilmente mount -t ext4 /dev/mapper/bagend-backupstore /mnt/backupstore)

Quando excluo o arquivo /etc/fstab.d/e coloco a entrada no /etc/fstabarquivo principal , não tenho problemas para montar o volume.

Portanto, o comando mount pode ser feito para verificar entradas /etc/fstab.d/e, se sim, o que faço para que isso aconteça?

HorusKol
fonte

Respostas:

20
  • /bin/mount /etc/fstab.dainda não pode ler , apenas a biblioteca ( libmount) pode.
  • Este é um bug conhecido da "lista de desejos" no util-linux , o pacote que fornecemount
  • O recurso foi adicionado no util-linux 2.21 mais recente (as notas de versão dizem "Use arg de filtro scandir * para capturar arquivos /etc/fstab.d/*.fstab")
  • Como até o Debian Unstable (Sid) está na versão 2.20-x do util-linux , duvido que veremos 2.21 no Ubuntu até 13.04
  • Se você precisar mais cedo, você pode compilar o 2.21 a partir do código-fonte kernel.org , mas eu recomendo que você espere até que ele entre no Debian (o util-linux também fornece vários outros utilitários / bibliotecas críticas do sistema )
ish
fonte
Como atualização, o Ubuntu 13.04 ainda está usando a versão 2.20.1 do util-linux.
Blair
2
Como uma atualização Ubuntu 14,04 ainda está usando a versão 2.20.1 do util-linux
Philip Couling
2
O Ubuntu 14.10 possui o util-linux 2.25. No entanto, não acho que o mountall do Ubuntu suporte /etc/fstab.d, portanto, não espere que eles sejam montados automaticamente na inicialização.
Marius Gedminas
1
Qual é o status do Ubuntu 16.04?
Becko
11

O /etc/fstab.dsuporte foi revertido do mount (8) após a discussão inicial . Os diretórios da guia mount são suportados apenas pela libmount. Não está planejado suportar fstab.dno mount (8) por padrão.

O problema é que esse /etc/fstabpadrão é de fato usado em muitos locais (libc, systemd, programas de interface do usuário, etc.) e é irreal desejar que todos os locais possam ser alterados para oferecer suporte fstab.d.

De qualquer forma, você pode usar um novo mount (8) em util-linux> = 2.21 e uma nova opção --fstab <path>para especificar uma tabela de montagem alternativa; essa opção também suporta diretórios. Isso significa que você precisa especificar explicitamente o diretório - mount (8) não o lerá por padrão. Consulte a página do manual mount (8) para obter mais detalhes.

Karel Zak
fonte
A libmount pode ter substituído o getfsent e tornado os arquivos exatos um detalhe de implementação. Ou o getfsent pode ter sido atualizado. Oh bem, sempre há Augeas.
Tobu