Warum können gelesene Dateien nicht in "/etc/fstab.d/" eingebunden werden?

24

Ich versuche, ein automatisch /etc/fstab.d/bereitgestelltes Volume einzurichten, und habe festgestellt, dass sich auf meinem Server jetzt ein befindet . Ich habe im Verzeichnis eine neue Datei mit folgendem Inhalt angelegt:

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

Aber wenn ich laufe wird mount -adas Volume nicht gemountet. Auch wenn ich laufe mount /mnt/backupstoreoder /dev/mapper/bagend-backupstoreerfahren habe, dass das System den Eintrag in fstab nicht gefunden hat (und um es vorwegzunehmen: Ja, das Gerät und der Einhängepunkt sind korrekt - ich kann dies einfach einhängen mount -t ext4 /dev/mapper/bagend-backupstore /mnt/backupstore)

Wenn ich die Datei von lösche /etc/fstab.d/und den Eintrag in die Hauptdatei lege /etc/fstab, habe ich keine Probleme beim Mounten des Volumes.

Kann der Befehl mount ausgeführt werden, um nach Einträgen in zu /etc/fstab.d/suchen, und wenn ja, was kann ich tun, um dies zu erreichen?

HorusKol
quelle

Antworten:

20
  • /bin/mount kann noch nicht lesen /etc/fstab.d , nur die library ( libmount) kann.
  • Dies ist ein bekannter "wishlist" Fehler in util-linux , dem Paket, das es gibtmount
  • Die Funktion wurde in den neuesten hinzugefügt util-linux 2,21 (die Release Notes sagen "Use Filter arg von scandir * Pickup /etc/fstab.d/*.fstab Dateien")
  • Da sogar Debian Unstable (Sid) auf Version 2.20-x von util-linux ist , bezweifle ich, dass wir 2.21 in Ubuntu bis zum 13.04 sehen werden
  • Wenn Sie es früher brauchen, können Sie entweder 2.21 aus der Quelle von kernel.org kompilieren , aber ich würde Ihnen empfehlen, zu warten, bis es zumindest in Debian eingeht ( util-linux bietet auch eine Reihe anderer kritischer Systemdienstprogramme / -bibliotheken an )
ish
quelle
Als Update verwendet Ubuntu 13.04 weiterhin die Version 2.20.1 von util-linux.
Blair
2
Als Update verwendet Ubuntu 14.04 noch die Version 2.20.1 von util-linux
Philip Couling
2
Ubuntu 14.10 hat Util-Linux 2.25. Ich glaube jedoch nicht, dass Ubuntus Mountall /etc/fstab.d unterstützt. Erwarten Sie daher nicht, dass diese beim Booten automatisch gemountet werden.
Marius Gedminas
1
Wie ist der Status auf Ubuntu 16.04?
Becko
11

Die /etc/fstab.dUnterstützung wurde nach vorgelagerter Diskussion von mount (8) zurückgesetzt . Die Mount-Tab-Verzeichnisse werden nur von libmount unterstützt. Es ist nicht geplant, fstab.dstandardmäßig mount (8) zu unterstützen .

Das Problem ist, dass dies /etc/fstabde facto ein Standard ist, der an vielen Stellen verwendet wird (libc, systemd, UI-Programme, ..), und es ist ein unwirklicher Wunsch, dass alle Stellen geändert werden können, um Unterstützung zu bieten fstab.d.

Wie auch immer, Sie können einen neuen mount (8) von util-linux> = 2.21 und eine neue Option --fstab <path>zum Angeben einer alternativen mount-Tabelle verwenden. Diese Option unterstützt auch Verzeichnisse. Dies bedeutet, dass Sie das Verzeichnis explizit angeben müssen - mount (8) liest es standardmäßig nicht. Siehe Halterung (8) man - Seite für weitere Details.

Karel Zak
quelle
Möglicherweise hat libmount getfsent abgelöst und die genauen Dateien zu einem Implementierungsdetail gemacht. Oder getfsent wurde möglicherweise aktualisiert. Na ja, es gibt immer Augeas.
Tobu