Mam zainstalowane urządzenie z Ubuntu 14.04.5, które ma jeden dysk twardy z systemem plików ext4.
Czytając dokument System plików Ext4 dowiedziałem się, że domyślnym trybem danych jest ordered
tylko ochrona metadanych. W moim projekcie chcemy to zmienić, aby journal
chronić również dane plików, ponieważ bezpieczeństwo danych ma większą wartość.
Pierwszą rzeczą, którą próbowałem, była modyfikacja /etc/fstab
pliku. Próbowałem się zmienić
UUID=<UUID> / ext4 errors=remount-ro 0 1
do
UUID=<UUID> / ext4 errors=remount-ro,data=journal 0 1
dołączając data=journal
do pola opcji.
Jednak po ponownym uruchomieniu urządzenia pojawił się komunikat o błędzie cannot change data mode on remount
. Sprawdziłem dmesg
i zobaczyłem wcześniejszy komunikat o montażu napędu w ordered
trybie danych.
Przez żenująco długi czas uważałem, że /etc/fstab
jest używany do zastąpienia domyślnych opcji montażu, więc dyski są montowane tylko raz. Ale teraz wygląda to źle: dysk jest montowany przy użyciu domyślnych opcji montowania, a następnie /etc/fstab
podnoszony w celu ponownego zamontowania .
Moje pytania to :
- Czy ten proces „mount-remout” jest projektem systemu? Przeczytałem
Fstab
stronę wiki, ale nie widziałem, żeby wspomniała o rzeczy „mount-remount”. - Jeśli
/etc/fstab
naprawdę jest używany do ponownego montażu , w którym etapie procesu uruchamiania dysk jest montowany po raz pierwszy? Czy to jest zaimplementowane w/etc/init.d
? Widziałem niektóre skrypty w/etc/init.d
nazwieumountfs
iumountroot
, ale przeglądając ich zawartość, nie wyglądają na odpowiednie.
źródło
/etc/fstab
rezyduje w głównym systemie plików, ale nie można go odczytać, dopóki nie zostanie zamontowany system plików): Czy initramfs używa / etc / fstab?Odpowiedzi:
Od
man ext4
:Usuń
data=ordered
z linii fstab i edytuj/etc/default/grub
zamiast tego. W/etc/default/grub
dokonać korektydo
uruchom
sudo update-grub
i uruchom ponownie.źródło
Gdy używany jest plik / etc / fstab
Po uruchomieniu
sudo strace -e open,openat mount -o remount,rw /
zobaczysz, że polecenie faktycznie się otwiera/etc/fstab
. Jest to najczęstsze polecenie, które zobaczysz, często przywoływane w artykułach na temat pracy z powłoki odzyskiwania.Cytując również odpowiedź sourcejedi (która pochodzi z
mount(8)
instrukcji):Nie oznacza
/etc/fstab
to jednak, że zawsze jest używany. W szczególności, gdy podasz również plik urządzenia; odniesienie domount(8)
instrukcji :Ma to sens, ponieważ
/dir
może być arbitralne - ponowne podłączenie urządzenia do innego punktu montowania.Nie
/etc/fstab
odnosi się to również do montowania/
systemu plików w jądrze podczas rozruchu/etc/fstab
. Cytując odpowiedź psusi :Systemy plików, które nie potrzebują fstab
Zauważ też, że jądro Linuksa ma inne systemy plików, które znajdują się w pamięci - nie są one normalnie dostępne dla użytkowników, niektóre z nich w ogóle nie mają punktu montowania, a niektóre są udostępniane użytkownikom. Jądro nie musi się do nich odwoływać
/etc/fstab
. Przykładem tego jest/proc
- wirtualny system plików, który odsłania głównie informacje o procesach, a także pewne rzeczy dotyczące sprzętu i systemu, które powinny być w rzeczywistości/sys
- inny wirtualny system plików.źródło