Dlaczego nie można montować odczytanych plików w „/etc/fstab.d/”?

24

Próbuję skonfigurować automatycznie podłączony wolumin i zauważyłem, że /etc/fstab.d/na moim serwerze jest teraz wolumin . Utworzyłem nowy plik w katalogu o następującej treści:

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

Ale po uruchomieniu mount -awolumin nie jest montowany. Ponadto, gdy uruchamiam mount /mnt/backupstorelub pojawia /dev/mapper/bagend-backupstoresię komunikat, że system nie może znaleźć wpisu w fstab (i uprzedzić: tak, urządzenie i punkt instalacji są poprawne - mogę to łatwo zamontować mount -t ext4 /dev/mapper/bagend-backupstore /mnt/backupstore)

Kiedy usuwam plik /etc/fstab.d/i umieszczam wpis w głównym /etc/fstabpliku, nie mam problemów z zamontowaniem woluminu.

Czy można więc wykonać polecenie montowania, aby sprawdzić wpisy, /etc/fstab.d/a jeśli tak, co mam zrobić, aby tak się stało?

HorusKol
źródło

Odpowiedzi:

20
  • /bin/mount nie może /etc/fstab.d jeszcze czytać , tylko biblioteka ( libmount) może.
  • Jest to znany błąd „listy życzeń” w pakiecie util-linux , który zapewniamount
  • Ta funkcja została dodana w najnowszym oprogramowaniu util-linux 2.21 (informacje o wydaniu mówią: „Użyj filtru arg scandir * do pobierania plików /etc/fstab.d/*.fstab”)
  • Ponieważ nawet Debian Unstable (Sid) jest dostępny w wersji 2.20-x programu ut-linux , wątpię, czy zobaczymy 2.21 w Ubuntu do 13.04
  • Jeśli potrzebujesz go wcześniej, możesz albo skompilować 2.21 ze źródła kernel.org , ale radzę poczekać, aż przynajmniej dostanie się do Debiana ( util-linux udostępnia również szereg innych krytycznych narzędzi / bibliotek systemowych )
ish
źródło
Jako aktualizacja, Ubuntu 13.04 nadal używa wersji 2.20.1 programu ut-linux.
Blair
2
Jako aktualizacja Ubuntu 14.04 nadal korzysta z wersji 2.20.1 util-linux
Philip Couling
2
Ubuntu 14.10 ma util-linux 2.25. Jednak nie sądzę, aby mountall Ubuntu wspiera /etc/fstab.d , więc nie oczekuj, że zostaną one zamontowane automatycznie przy starcie systemu.
Marius Gedminas
1
Jaki jest status Ubuntu 16.04?
becko
11

/etc/fstab.dWsparcie zostało cofnięte z mount (8) po upstream dyskusji . Katalogi kart montowania są obsługiwane tylko przez libmount. fstab.dDomyślnie nie jest planowane wsparcie w mount (8).

Problem polega na tym, że /etc/fstabde facto jest standardem używanym w wielu miejscach (libc, systemd, programy interfejsu użytkownika, ...) i nierealne jest życzenie, aby wszystkie miejsca mogły zostać zmienione w celu obsługi fstab.d.

W każdym razie możesz użyć nowego mounta (8) z util-linux> = 2.21 i nowej opcji --fstab <path>do określenia alternatywnej tabeli montowania, ta opcja obsługuje także katalogi. Oznacza to, że musisz jawnie określić katalog - mount (8) domyślnie go nie przeczyta. Zobacz stronę manuala mount (8) po więcej szczegółów.

Karel Zak
źródło
libmount mógł zastąpić getfsent i uczynić z dokładnych plików szczegół implementacji. Lub getfsent mógł zostać zaktualizowany. No cóż, zawsze jest Augeas.
Tobu