table of contents
- NAZWA
- SKŁADNIA
- OPIS
- OPCJE WIERSZA POLECEŃ
- OPCJE MONTOWANIA NIEZALEŻNE OD SYSTEMU PLIKÓW
- OPCJE MONTOWANIA SPECYFICZNE DLA RÓŻNYCH SYSTEMÓW PLIKÓW
- OBSŁUGA DM-VERITY
- OBSŁUGA URZĄDZENIA PĘTLI (LOOP)
- STATUS ZAKOŃCZENIA
- ZEWNĘTRZNE PROGRAMY POMOCNICZE
- ŚRODOWISKO
- PLIKI
- HISTORIA
- USTERKI
- AUTORZY
- ZOBACZ TAKŻE
- ZGŁASZANIE BŁĘDÓW
- DOSTĘPNOŚĆ
- experimental 2.41-2
MOUNT(8) | Administracja systemem | MOUNT(8) |
NAZWA¶
mount - montuje system plików
SKŁADNIA¶
mount [-h|-V]
mount [-l] [-t typ-syst-pl]
mount -a [-fFnrsvw] [-t typ-syst-pl] [-O lista-opcji]
mount [-fnrsvw] [-o opcje] urządzenie|punkt-montowania
mount [-fnrsvw] [-t typ-syst-pl] [-o opcje] urządzenie punkt-montowania
mount --bind|--rbind|--move stary-katalog nowy-katalog
mount --make-[shared|slave|private|unbindable|rshared|rslave|rprivate|runbindable] punkt-montowania
OPIS¶
Wszystkie pliki dostępne w systemie Unix są zorganizowane w jednym wielkim drzewie, hierarchii plików, zakorzenionej w /. Pliki te mogą być położone na wielu urządzeniach. Polecenie mount umożliwia przyłączenie systemu plików znajdującego się na danym urządzeniu do wielkiego drzewa plików. Odwrotnie, polecenie umount(8) powoduje odłączenie go. System plików służy do kontroli sposobu przechowywania danych na urządzeniu albo udostępnienia ich w wirtualnej postaci przez sieć lub inne usługi.
Standardowa postać polecenia mount to:
mount -t typ urządzenie katalog
Nakazuje jądru, by przyłączyło system plików znaleziony na danym urządzeniu (które jest typu typ) w zadanym katalogu. Opcja -t typ jest opcjonalna. Polecenie mount potrafi zwykle rozpoznać system plików. Domyślnie, do zamontowania systemu plików wymagane są uprawnienia roota. Więcej informacji znajduje się poniżej, w rozdziale "Montowanie przez zwykłych użytkowników". Poprzednia zawartość (jeśli istniała) i właściciel oraz prawa katalogu katalog stają się niewidzialne na czas przyłączenia (zamontowania) nowego systemu plików. W tym czasie ścieżka katalog odnosi się do korzenia systemu plików na podanym urządzeniu.
Jeśli podano jedynie urządzenie lub katalog, na przykład:
mount /katalog
to mount szuka punktu montowania (a jeśli go nie znajdzie – urządzenia) w pliku /etc/fstab. Można użyć opcji --target lub --source, aby uniknąć niejednoznacznej interpretacji podanego argumentu np.:
mount --target /punkt_montowania
Ten sam system plików można zamontować kilka razy, a w niektórych przypadkach (np. sieciowe systemy plików) może być zamontowany wielokrotnie nawet w tym samym punkcie montowania. Polecenie mount nie implementuje żadnych zasad kontrolujących to zachowanie. Jest to zadanie jądra i zwykle zależy od danego sterownika systemu plików. Wyjątkiem jest --all - w tym przypadku wszystkie już zamontowane systemy plików zostaną zignorowane (więcej informacji w opisie opcji --all poniżej).
Wypisywanie montowań¶
Tryby wypisywania są utrzymywane tylko dla wstecznej kompatybilności.
Aby uzyskać spójniejsze i dające się konfigurować wyjście, proszę korzystać z findmnt(8), w szczególności w swoich skryptach. Proszę zauważyć, że znaki kontrolne w nazwach punktów montowania są zastępowane znakiem "?".
Poniższe polecenie wypisze wszystkie zamontowane systemy plików (typu typ):
mount [-l] [-t typ]
Opcja -l ujmuje w zestawieniu również etykiety. Patrz niżej.
Wskazywanie urządzenia i systemu plików¶
Większość urządzeń jest wskazywanych przez nazwę pliku (specjalnego urządzenia blokowego), jak np. /dev/sda1, lecz istnieją inne możliwości. Na przykład w przypadku montowania NFS, urządzenie może wyglądać tak: knuth.cwi.nl:/katalog.
Nazwy urządzeń partycji dysku są niestabilne i mogą ulec zmianie na skutek zmiany konfiguracji sprzętu albo dodaniu lub usunięciu urządzenia. Z tego względu usilnie zaleca się używanie UUID lub LABEL (etykiet) do identyfikowania systemów plików i partycji. Obecnie obsługiwane są następujące identyfikatory (znaczniki):
LABEL=etykieta
UUID=uuid
Proszę zauważyć, że mount używa UUID-ów jako łańcuchów tekstowych. UUID-y z wiersza poleceń lub fstab(5) nie są konwertowane do wewnętrznej reprezentacji binarnej. Litery w reprezentacji łańcucha UUID powinny być małymi literami.
PARTLABEL=etykieta
PARTUUID=uuid
ID=id
Polecenie lsblk --fs udostępni przegląd systemów plików, etykiet (LABEL) oraz UUID-ów dla dostępnych urządzeń blokowych. Polecenie blkid -p <urządzenie> wypisze szczegóły o systemie plików na podanym urządzeniu.
Proszę nie zapomnieć o tym, że nie ma gwarancji, iż etykiety i UUID-y są faktycznie unikalne, szczególnie jeśli kopiuje się, współdzieli lub przenosi urządzenie. Polecenie lsblk -o +UUID,PARTUUID pozwoli na zweryfikowanie unikalności UUID-ów w bieżącym systemie.
Zalecaną metodą jest używanie znaczników (np. UUID=uuid) zamiast dowiązań symbolicznych /dev/disk/by-{label,uuid,id,partuuid,partlabel} udev w pliku /etc/fstab. Znaczniki są bardziej czytelne, solidne i przenośne. Polecenie mount(8) korzysta wewnętrznie z dowiązań symbolicznych udev, tak więc ich używanie w /etc/fstab nie daje żadnej przewagi nad znacznikami. Aby dowiedzieć się więcej, proszę zapoznać się z podręcznikiem libblkid(3).
System plików proc nie jest związany z żadnym urządzeniem specjalnym i podczas jego montowania, zamiast nazwy urządzenia, można użyć dowolnego słowa kluczowego, np. proc (zwyczajowy wybór none jest mniej udany: komunikat błędu "none jest już zamontowany" od umount może być mylący).
Pliki /etc/fstab, /etc/mtab i /proc/mounts¶
Plik /etc/fstab (zobacz fstab(5)), może zawierać wiersze opisujące, gdzie są zazwyczaj montowane które urządzenia i przy użyciu jakich opcji. Domyślne położenie pliku fstab(5) można przesłonić opcją wiersza poleceń --fstab ścieżka (więcej szczegółów poniżej).
Polecenie
mount -a [-t typ] [-O
lista-opcji]
(zwykle podawane w skryptach startowych) powoduje zamontowanie wszystkich systemów plików wymienionych w fstab (odpowiedniego typu i/lub posiadające, lub nie, odpowiednie opcje), poza tymi, których wpisy zawierają słowo kluczowe noauto. Podanie opcji -F spowoduje, że mount się rozdzieli na kilka procesów, tak że systemy plików będą montowane równocześnie.
Podczas montowania systemu plików wymienionego w fstab lub mtab, wystarczy podać w wierszu poleceń tylko nazwę urządzenia lub tylko punkt montowania.
Programy mount i umount(8) tradycyjnie opiekowały się listą obecnie zamontowanych systemów plików w pliku /etc/mtab. Obsługa klasycznego pliku /etc/mtab domyślnie jest całkowicie wyłączona przy kompilacji, ponieważ na aktualnych systemach linuksowych lepiej uczynić /etc/mtab dowiązaniem symbolicznym do /proc/mounts. Zwykły plik mtab funkcjonujący w przestrzeni użytkownika nie działa stabilnie z przestrzeniami nazw, kontenerami i innymi zaawansowanymi funkcjami systemu Linux. Jeśli obsługa klasycznego pliku mtab jest włączona, możliwe jest korzystanie z niego lub z dowiązania symbolicznego.
Jeśli nie poda się argumentów do mount, wypisywana jest lista zamontowanych systemów plików.
Aby przesłonić opcje montowania z /etc/fstab konieczne jest użycie opcji -o:
mount urządzenie|katalog -o
opcje
po czym opcje montowania z wiersza poleceń zostaną dodane do listy opcji z /etc/fstab. To domyślne zachowanie można zmienić opcją wiersza poleceń --options-mode. Zwykłym zachowaniem jest działanie ostatniej opcji, jeśli występują sprzeczne.
Program mount nie odczytuje pliku /etc/fstab jeśli podano urządzenie (lub LABEL, UUID, ID, PARTUUID lub PARTLABEL) oraz katalog. Na przykład, aby zamontować urządzenie foo w /katalogu:
mount /dev/foo /katalog
To domyślne zachowanie można zmienić opcją wiersza poleceń --options-source-force, aby zawsze odczytywać konfigurację z fstab. W przypadku zwykłych użytkowników, mount zawsze odczytuje konfigurację fstab.
Montowanie przez zwykłych użytkowników¶
Tradycyjnie, tylko superużytkownik może montować systemy plików. Jednak jeśli fstab w danym wierszu zawiera opcję user, to każdy może zamontować odpowiadający temu wpisowi system plików.
Tak więc, jeśli mamy wiersz
/dev/cdrom /cd iso9660 ro,user,noauto,unhide
to dowolny użytkownik może zamontować system plików iso9660 umieszczony na włożonym CD-ROM-ie, posługując się poleceniem
mount /cd
Proszę zauważyć, że mount jest bardzo restrykcyjny w przypadku zwykłych użytkowników; wszystkie ścieżki podane w wierszu poleceń są weryfikowane, przed przetworzeniem fstab lub wykonaniem programu pomocniczego. Usilnie zaleca się używanie prawidłowego punktu montowania przy podawaniu systemu plików, w innym przypadku mount może zwrócić błąd. Złym pomysłem jest na przykład użycie źródła CIFS lub NFS w wierszu poleceń.
Od util-linux 2.35, mount nie wychodzi, w przypadku gdy uprawnienia użytkownika są niezgodnie z wewnętrznymi regułami bezpieczeństwa libmount. Program porzuca wówczas uprawnienia suid i kontynuuje jako zwykły użytkownik. To zachowanie pozwala na obsługę przypadków, gdy uprawnienia roota nie są wymagane (np. systemy plików w przestrzeni użytkownika, przestrzeń nazw użytkownika itp).
Szczegóły opisuje fstab(5). Tylko użytkownik, który zamontował system plików może ponownie go odmontować. Jeżeli zachodzi potrzeba, by odmontowywać mógł każdy, w odpowiednim wierszu fstab należy zamiast user wpisać users. Opcja owner przypomina opcję user, poza tym, że dany użytkownik musi być właścicielem odpowiedniego pliku specjalnego. Jest przydatna np. w przypadku /dev/fd, jeśli skrypt zgłoszeniowy (logowania) czyni danego użytkownika korzystającego z konsoli, właścicielem tego urządzenia. Opcja group jest podobna, z tym ograniczeniem, że użytkownik musi być członkiem grupy pliku specjalnego.
Opcja montowania user jest akceptowana, gdy nie określa żadnej nazwy użytkownika. Jeśli użyje się jej w postaci user=ktoś, opcja zostanie po cichu zignorowana i będzie widoczna tylko dla zewnętrznych programów pomocniczych (/sbin/mount.<typ>), ze względu na kompatybilność z niektórymi sieciowymi systemami plików.
Operacja montowania przez podpięcie (ang. bind mount)¶
Możliwe jest ponowne zamontowanie części systemu plików w innym miejscu. Służy do tego wywołanie:
mount --bind stary-katalog nowy-katalog
lub za pomocą tego wpisu fstab:
/stary-katalog /nowy-katalog none
bind
Po tym wywołaniu ta sama zawartość jest dostępna w dwóch miejscach.
Ważne jest zrozumienie, że w wirtualnym systemie plików jądra (VFS) operacja ta nie tworzy żadnego węzła gorszego sortu, czy specjalnego typu. Jest to jedynie inny sposób na dołączenie systemu plików. Informacja o tym, że system plików został podpięty za pomocą "bind" nie jest nigdzie przechowywana. Stary-katalog i nowy-katalog są niezależne od siebie, a stary-katalog może być odmontowany.
Można również zamontować ponownie pojedynczy plik (na pojedynczym pliku). Jest także możliwe użycie montowania "bind" do utworzenia punktu montowania ze zwykłego katalogu, na przykład:
mount --bind foo foo
Wywołanie montowania przez podpięcie dołącza tylko (część) pojedynczego systemu plików, bez możliwych montowań znajdujących się poniżej. Cała hierarchia plików, uwzględniając takie montowania, może być dołączana w drugie miejsce za pomocą:
mount --rbind stary-katalog nowy-katalog
Proszę zauważyć, że opcje montowania systemu plików zarządzane przez jądro pozostaną takie same, jak te pierwotnego punktu montowania. Opcje montowania w przestrzeni użytkownika (np. _netdev) nie zostaną skopiowane przez mount i trzeba je jawnie podać w wierszu polecenia mount.
Od util-linux 2.27 mount pozwala zmieniać opcje montowania przez przekazanie ich razem z --bind np.:
mount -o bind,ro foo foo
Opcja ta nie jest obsługiwana przez jądro Linux, jest zaimplementowana w przestrzeni użytkownika przez dodatkowe przemontowanie za pomocą wywołania systemowego mount(2). To rozwiązanie nie jest nierozdzielne (atomowe).
Alternatywnym (klasycznym) sposobem utworzenia montowania przez podpięcie, tylko do odczytu, jest operacja przemontowania np.:
mount --bind stary-katalog nowy-katalog
mount -o remount,bind,ro stary-katalog nowy-katalog
Proszę zauważyć, że tego typu montowanie utworzy punkt montowania tylko do odczytu (wpis VFS), ale oryginalny superblok systemu plików wciąż będzie zapisywalny, tzn. stary-katalog będzie zapisywalny, a nowy-katalog tylko do odczytu.
Można również zmienić następujące znaczniki wejściowe wirtualnego systemu plików: nosuid, nodev, noexec, noatime, nodiratime, relatime i nosymfollow operacją "remount,bind". Inne znaczniki (np. zależne od systemu plików) są po cichu ignorowane. Klasyczne wywołanie systemowe mount(2) nie pozwala zmieniać opcji montowania rekurencyjnie (np. za pomocą -o rbind,ro). Zachowanie rekurencyjne umożliwia nowe wywołanie systemowe jądra mount_setattr(2), które jest obsługiwane od biblioteki libmount z util-linux v2.39 przez nowy, eksperymentalny argument "recursive" opcji (np. -o rbind,ro=recursive). Więcej informacji w rozdziale OPCJE MONTOWANIA NIEZALEŻNE OD SYSTEMU PLIKÓW.
Od util-linux 2.31, mount ignoruje flagę bind z /etc/fstab podczas operacji remount (jeśli podano "-o remount" w wierszu polecenia). Jest to konieczne do uzyskania pełnej kontroli nad opcjami montowania przy przemontowywaniu za pomocą wiersza poleceń. W poprzednich wersjach flaga bind była zawsze stosowana i nie dało się zmienić opcji montowania bez interakcji z semantyką bind. To zachowanie mount nie wpływa na sytuację, gdy "remount,bind" podano w pliku /etc/fstab.
Od util-linux 2.39, mount może korzystać z nowego API montowań jądra, jeśli takie jest dostępne. Ten nowy interfejs jądra udostępnia precyzyjniejszy sposób na pracę z atrybutami punktów montowań. Przykładowo, operacja -o bind,rw utworzy węzeł w trybie do odczytu i zapisu nawet, gdy pierwotny węzeł był tylko do odczytu. Było to niewykonalne za pomocą starego, klasycznego wywołania systemowego mount(2), ponieważ flaga tylko do odczytu VFS była dziedziczona z pierwotnego węzła.
Operacja przenoszenia¶
Przenosi nierozdzielne (atomowo) zamontowane drzewo w inne miejsce. Wywołaniem jest:
mount --move stary-katalog nowy-katalog
Spowoduje to pojawienie się zawartości, która wcześniej znajdowała się w starym-katalogu, w nowym-katalogu. Fizyczne położenie plików nie zmienia się. Istotne jest, że stary-katalog musi być punktem montowania.
Proszę zauważyć, że przeniesienie punktu montowania leżącego pod współdzielonym punktem montowania jest nieprawidłowe i niewspierane. Proszę użyć findmnt -o TARGET,PROPAGATION, aby sprawdzić bieżące flagi propagacji.
Współdzielone operacje na poddrzewach¶
Od Linuksa 2.6.15 możliwe jest oznaczenie montowania i jego podmontowań jako współdzielone (shared), prywatne (private), podrzędne (slave) i niepodpinalne (unbindable). Montowania współdzielone udostępniają możliwość tworzenia kopii takich montowań tak, że montowania i odmontowania którejkolwiek z kopii dotyczy ich wszystkich. Montowania podrzędne otrzymują montowania i odmontowywania z montowania nadrzędnego, ale nie działa to w drugą stronę. Montowania prywatne nie posiadają powyższych właściwości. Montowanie niepodpinalne jest montowaniem prywatnym, które nie może zostać sklonowane za pomocą operacji podpięcia (bind). Szczegółowe wyjaśnienia można znaleźć w pliku dokumentacji w Documentation/filesystems/sharedsubtree.txt w drzewie źródeł jądra; zob. też mount_namespaces(7).
Obsługiwane są następujące operacje:
mount --make-shared punkt-montowania mount --make-slave punkt-montowania mount --make-private punkt-montowania mount --make-unbindable punkt-montowania
Następujące polecenia pozwalają na rekurencyjną zmianę typu wszystkich montowań pod danym punktem montowania.
mount --make-rshared punkt-montowania mount --make-rslave punkt-montowania mount --make-rprivate punkt-montowania mount --make-runbindable punkt-montowania
mount nie odczytuje fstab(5) gdy żądana jest operacja --make-*. Wszystkie potrzebne informacje trzeba podać w wierszu polecenia.
Proszę zauważyć, że jądro Linux nie pozwala zmieniać wielu flag propagacji pojedynczym wywołaniem systemowym mount(2), flag tych nie można również łączyć z innymi opcjami i operacjami montowania.
Od util-linux 2.23 polecenia mount można użyć do wykonania wielu zmian propagacji (topologii) jednocześnie, jednym wywołaniem mount(8) oraz łączenia ich również z innymi operacjami montowania. Flagi propagacji korzystają z dodatkowych wywołań systemowych mount(2), wykonywanych po pomyślnym zakończeniu wcześniejszych poleceń montowania. Proszę zauważyć, że w tym wypadku polecenie nie jest nierozdzielne (atomowe). Flagi propagacji można podać w fstab(5) jako opcje montowania (private, slave, shared, unbindable, rprivate, rslave, rshared, runbindable).
Na przykład:
mount --make-private --make-unbindable /dev/sda1 /foo
jest tym samym co:
mount /dev/sda1 /foo mount --make-private /foo mount --make-unbindable /foo
OPCJE WIERSZA POLECEѶ
Pełny zestaw opcji używanych przy wywoływaniu mount jest ustalany przez pobranie opcji dla danego systemu plików z fstab, a następnie zastosowanie wszelkich opcji podanych argumentem -o, a na koniec opcji -r lub -w, o ile istnieją.
Polecenie mount nie przekazuje wszystkich opcji wiersza poleceń do programów pomocniczych /sbin/mount.przyrostek. Interfejs pomiędzy mount i programami pomocniczymi opisano poniżej, w rozdziale ZEWNĘTRZNE PROGRAMY POMOCNICZE.
Opcje wiersza poleceń, dostępne do polecenia mount to:
-a, --all
Prawidłowa funkcjonalność zależy od /proc (wykrywanie już zamontowanych systemów plików) oraz /sys (sprawdzanie znaczników systemów plików, takich jak UUID= lub LABEL=). Usilnie zaleca się montować systemy plików /proc i /sys przed wykonywaniem mount -a albo utrzymywać /proc i /sys na początku pliku fstab.
Opcję --all można użyć również do operacji ponownego montowania (przemontowania). W takim przypadku wszystkie filtry (-t i -O) są stosowane do tablicy już zamontowanych systemów plików.
Od wersji 2.35, opcji wiersza poleceń -o można użyć do modyfikacji parametrów montowania z fstab (zob. też --options-mode).
Proszę zauważyć, że złą praktyką jest używanie mount -a do sprawdzenia fstab. Zalecane jest korzystanie w zamian z findmnt --verify.
-B, --bind
-c, --no-canonicalize
Proszę zauważyć, że mount nie przekazuje tej opcji do programów pomocniczych /sbin/mount.typ.
-F, --fork
-f, --fake
Plik /etc/mtab nie jest już utrzymywany w przestrzeni użytkownika, a od wersji 2.39, operacja montowania może być złożonym łańcuchem działań z zależnościami pomiędzy wywołaniami systemowymi. Opcja --fake wymusza na libmount pomijanie: wszystkich przygotowań źródeł montowań, analizy opcji montowań i samego procesu montowania.
Różnica pomiędzy wykonaniem typu fake i zwykłym jest znaczna. Jest to powód, dla którego w aktualnej implementacji mount(8), opcja --fake ma znikome znaczenie, i jest utrzymywana głównie ze względu na kompatybilność wsteczną.
-i, --internal-only
-L, --label etykieta
-l, --show-labels
-M, --move
-m, --mkdir[=tryb]
--map-groups, --map-users wewn:zewn:liczba
--map-users /proc/PID/ns/user
-n, --no-mtab
-N, --namespace przestrzeń-nazw
mount przełącza się na przestrzeń nazw gdy odczytuje /etc/fstab, zapisuje /etc/mtab (lub pisze do /run/mount) i wywołuje mount(2), w innych przypadkach działa w oryginalnej przestrzeni nazw. Oznacza to, że docelowa przestrzeń nazw nie musi zawierać żadnych bibliotek lub innych wymaganych składników do wykonania wywołania mount(2).
Więcej informacji można znaleźć w podręczniku mount_namespaces(7).
-O, --test-opts opcje
mount -a -O no_netdev
montuje wszystkie systemy plików z wyjątkiem posiadających podaną opcję netdev w polu opcji pliku /etc/fstab.
Różni się od -t tym, że każda opcja jest dopasowywana dokładnie; a podanie no na początku jednej opcji, nie neguje pozostałych.
Opcje -t i -O łączą swe działanie; to jest polecenie
mount -a -t ext2 -O _netdev
montuje wszystkie systemy plików ext2 z opcją _netdev, a nie wszystkie systemy które są albo typu ext2, albo mają podaną opcją _netdev.
-o, --options opcje
mount LABEL=moj_dysk -o noatime,nodev,nosuid
Proszę zauważyć, że kolejność opcji ma znaczenie, ponieważ w przypadku występowania sprzecznych opcji, pod uwagę brana jest ostatnia. Opcje z wiersza polecenia przesłaniają również domyślnie opcje z fstab.
Aby dowiedzieć się więcej, proszę zapoznać się z rozdziałami OPCJE MONTOWANIA NIEZALEŻNE OD SYSTEMU PLIKÓW i OPCJE MONTOWANIA SPECYFICZNE DLA RÓŻNYCH SYSTEMÓW PLIKÓW.
--onlyonce
--options-mode tryb
--options-source źródło
--options-source-force
-R, --rbind
-r, --read-only
Proszę zauważyć że, w zależności od systemu plików, stanu i zachowania jądra, system może wciąż zapisywać na urządzenie. Na przykład ext3 lub ext4 odtworzy dziennik, jeśli system plików jest zmodyfikowany (dirty). Aby zapobiec takiemu typowi dostępu do zapisu, można zamontować system plików ext3 lub ext4 z opcją montowania ro,noload lub ustawić urządzenie blokowe w trybie tylko do odczytu, patrz polecenie blockdev(8).
-s
--source urządzenie
--target katalog
--target-prefix katalog
mount --all --target-prefix /chroot -o X-mount.mkdir
montuje wszystkie systemy plików z fstab do katalogu /chroot, przy czym tworzone są wszystkie brakujące punkty montowań (ze względu na opcję X-mount.mkdir). Patrz też opcja --fstab, pozwalającą na użycie alternatywnego pliku fstab.
-T, --fstab ścieżka
Proszę zauważyć, że mount nie przekazuje opcji --fstab programom pomocniczym /sbin/mount.typ, co oznacza, że alternatywne pliki fstab będą dla nich niewidoczne. Nie jest to problemem przy normalnych montowaniach, ale montowania wykonywane przez użytkownika (nie roota) zawsze wymagają fstab w celu weryfikacji jego uprawnień.
-t, --types typ_systemu_plików
Programy mount i umount(8) obsługują podtypy systemów plików. Podtypy są definiowane przyrostkiem ".podtyp". Przykładowo "fuse.sshfs". Zalecane jest używanie notacji podtypów zamiast dodawać jakieś przedrostki do źródła montowania (np. "sshfs#example.com" jest przestarzałe).
Bez podania opcji -t lub gdy podany jest typ auto, mount postara się odgadnąć właściwy typ. mount używa do tego celu biblioteki libblkid(3); jeśli nie zwróci to niczego, co wygląda znajomo, mount postara się odczytać plik /etc/filesystems lub, jeśli on nie istnieje, /proc/filesystems. Wypróbowane zostaną wszystkie wypisane tam typy, z wyjątkiem tych oznaczonych jako "nodev" (np. devpts, proc i nfs). Jeśli /etc/filesystems kończy się wierszem z pojedynczą *, mount odczyta później plik /proc/filesystems. Podczas tych prób, wszystkie typy systemów plików będą montowane z opcją montowania silent.
Typ auto może być przydatny do montowanych przez użytkownika dyskietek. Utworzenie pliku /etc/filesystems przydaje się do zmiany kolejności rozpoznawania (np. do próbowania vfat przed msdos lub ext3 przed ext2) lub w przypadku stosowania modułu jądra autoloader.
Można podać więcej niż jeden typ, w postaci listy rozdzielonej przecinkami do opcji -t, jak również jako wpis /etc/fstab. Lista typów systemów plików do opcji -t może być poprzedzona słowem no aby określić systemy plików, na których żadna akcja nie powinna być wykonywana. Przedrostek no nie działa przy wpisach w /etc/fstab.
Przedrostek no może być przydatny przy opcji -a. Na przykład polecenie
mount -a -t nomsdos,smbfs
montuje wszystkie systemy plików poza tymi, które są typu msdos lub smbfs.
Dla większości typów, jedyne, co robi program mount, to po prostu wywołuje wywołanie systemowe mount(2), i nie jest tu wymagana żadna szczegółowa wiedza o danym systemie plików. Jednakże dla kilku typów (jak np. nfs, nfs4, cifs, smbfs, ncpfs) konieczny jest niezaplanowany kod. Systemy plików nfs, nfs4, cifs, smbfs i ncpfs mają osobny program montujący. Żeby umożliwić jednolite traktowanie wszystkich typów, mount wywołany z typem typ uruchamia program /sbin/mount.typ (jeśli takowy istnieje). Ponieważ rozmaite wersje programu smbmount mają różne konwencje wywołań, być może /sbin/mount.smb będzie musiał być skryptem powłoki, który dobierze właściwe wywołanie.
-U, --uuid uuid
-v, --verbose
-w, --rw, --read-write
Synonimem jest -o rw.
Proszę zauważyć, że podanie -w w wierszu polecenia wymusza na mount pominięcie próby zamontowania w trybie tylko do odczytu na nośnikach zabezpieczonych przed zapisem lub w przypadku systemów plików już zamontowanych w trybie tylko do odczytu.
-h, --help
-V, --version
OPCJE MONTOWANIA NIEZALEŻNE OD SYSTEMU PLIKÓW¶
Część opcji jest przydatna tylko wówczas, gdy znajdują się w pliku /etc/fstab.
Część tych opcji może zostać domyślnie włączona lub wyłączona przez jądro systemu. Aby odnaleźć bieżące ustawienia, proszę sprawdzić opcje w /proc/mounts. Proszę zauważyć, że istnieją również domyślne opcje montowania charakterystyczne dla poszczególnych systemów plików (zob. np. wynik tune2fs -l dla systemów plików extN).
Uwagi nt. wirtualnego systemu plików (VFS)¶
Wirtualny system plików (ang. Virtual File System - VFS) jest warstwą abstrakcji w jądrze, która udostępnia interfejs systemu plików programom w przestrzeni użytkownika. Zapewnia również abstrakcję wewnątrz jądra, pozwalającą na współistnienie różnych implementacji systemu plików. Część z opcji montowania tyczy się tylko tej warstwy.
Opcje nosuid, noexec, nodiratime, relatime, noatime, strictatime i nosymfollow są interpretowane tylko przez warstwę wirtualnego systemu plików jądra i są stosowane wobec węzła punktu montowania, a nie do samego systemu plików. Pełny przegląd opcji systemów plików i VFS da polecenie:
findmnt -o TARGET,VFS-OPTIONS,FS-OPTIONS
Od v2.39 libmount może korzystać z nowego interfejsu montowania jądra, aby ustawiać atrybuty VFS rekurencyjnie. Ze względu na kompatybilność wsteczną, funkcja ta nie jest domyślnie włączona, nawet gdy zażądano operacji rekurencyjnej (takiej jak rbind). Można korzystać z nowego argumentu opcji "recursive" np.:
mount -orbind,ro=recursive,noexec=recursive,nosuid /foo /bar
To rekurencyjnie podpina systemy plików z /foo do /bar; czyniąc /bar i wszystkie jego podmontowania dostępnymi tylko do odczytu oraz "noexec", lecz jedynie /bar będzie "nosuid". Opcjonalny argument "recursive" do opcji montowania VFS jest EKSPERYMENTALNY.
Uwagi nt. ustawienia tylko do odczytu¶
Ustawienie tylko do odczytu (ro lub rw) jest interpretowane przez wirtualny system plików i przez system plików, a zależy to od sposobu w jaki podano opcję w wierszu polecenia mount(8). Ze względu na kompatybilność wsteczną, domyślnym zachowanie jest użycie go do obu warstw, podczas standardowych operacji montowania.
Operacja "-o bind,remount,ro" jest stosowana tylko wobec punktu montowania VFS, natomiast operacja "-o remount,ro" jest stosowana wobec VFS oraz superbloku systemu plików. Takie zachowanie pozwala na tworzenie punktów montowania tylko do odczytu, pozwalając przy tym na zapisywanie do systemu plików z innego punktu montowania.
Od wersji 2.41, libmount ma możliwość używania opcjonalnych argumentów vfs i fs (np. ro=fs) określających do czego stosowane ma być ustawienie tylko do odczytu. Na przykład polecenie:
mount -o ro=vfs /dev/sdc1 /A
zamontuje system plików do odczytu i zapisu na poziomie superbloku, lecz węzeł /A będzie ustawiony jako tylko do odczytu. W poprzednich wersjach, to uzyskania tego samego rezultatu konieczne było przeprowadzenie dodatkowej operacji "-o bind,remount,ro".
Ogólne opcje montowania¶
Poniższe opcje dotyczą dowolnego montowanego systemu plików (choć nie każdy z systemów plików faktycznie je honoruje, np. opcja sync wpływa tylko na systemy plików ext2, ext3, ext4, fat, vfat, ufs i xfs):
async
atime
noatime
auto
noauto
context=kontekst, fscontext=kontekst, defcontext=kontekst i rootcontext=kontekst
Często używaną opcją w przypadku nośników wymiennych jest context="system_u:object_r:removable_t.
Opcja fscontext= działa ze wszystkimi systemami plików, niezależnie od ich obsługi xattr. Opcja fscontext ustawia nadrzędną etykietę systemu plików na określony kontekst bezpieczeństwa. Etykieta systemu plików jest oddzielona od poszczególnych etykiet plików. Reprezentuje cały system plików w celu określonego typu sprawdzeń uprawnień, takich jak podczas montowania lub tworzenia pliku. Poszczególne etykiety pliku są wciąż pobierane z xattrs z samych plików. Opcja context w rzeczywistości ustawia zsumowany kontekst udostępniany przez fscontext, poza podawaniem samej etykiety poszczególnych plików.
Można ustawić domyślny kontekst bezpieczeństwa do plików bez etykiety, przy użyciu opcji defcontext=. Przesłania ona wartość ustawioną przez zasady (politykę) do plików bez etykiety i wymaga systemu plików obsługującego etykietowanie xattr.
Opcja rootcontext= pozwala na jawne podanie etykiety głównego i-węzła systemu plików przed tym, zanim ten system plików lub i-węzeł stanie się widoczny dla przestrzeni użytkownika. Może być to przydatne przy wykorzystaniu bezdyskowego Linuksa. Wartość specjalna @target przypisze aktualny kontekst położenia docelowego punktu montowania.
Proszę zauważyć, że jądro odrzuca żądania przemontowania, które zawierają opcję context, nawet gdy nie różni się ona od bieżącego kontekstu.
Uwaga: wartość context może zawierać przecinki, ale musi być wówczas odpowiednio cytowana, ponieważ w przeciwnym wypadku mount zinterpretuje przecinki jako separatory pomiędzy punktami montowań. Proszę nie zapomnieć, że powłoka usunie cytowanie, dlatego konieczne jest podwójne cytowanie np.:
mount -t tmpfs none /mnt -o \ 'context="system_u:object_r:tmp_t:s0:c127,c456",noexec'
Aby dowiedzieć się więcej, proszę zapoznać się z selinux(8).
defaults
Proszę zauważyć, że rzeczywisty zestaw domyślnych opcji montowania zależy od jądra i typu systemu plików. Więcej szczegółów na początku tego rozdziału.
dev
nodev
diratime
nodiratime
dirsync
exec
noexec
group
iversion
noiversion
mand
nomand
_netdev
nofail
relatime
Od Linuksa 2.6.30, jądro używa domyślnie zachowania udostępnianego przez tę opcję (chyba że podano noatime), a opcja strictatime jest wymagana, aby uzyskać tradycyjny sposób działania. Dodatkowo, od Linuksa 2.6.30, czas ostatniego dostępu pliku jest aktualizowany zawsze, jeśli wynosi więcej niż 1 dzień.
norelatime
strictatime
nostrictatime
lazytime
Opcja ta zdecydowanie ogranicza zapisy do tablicy i-węzłów, jeśli czynione są częste, losowe zapisy do wstępnie zaalokowanych plików.
Znaczniki czasu przechowywane na dysku są aktualizowane tylko wtedy, gdy:
nolazytime
suid
nosuid
silent
loud
owner
remount
Operacja przemontowywania razem z flagą bind ma specjalną semantykę. Patrz powyżej w podrozdziale Operacja montowania przez podpięcie (ang. bind mount).
Domyślnym zachowaniem jądra wobec flag montowania VFS (nodev,nosuid,noexec,ro) jest zresetowanie wszystkich niepodanych flag przy przemontowaniu. To dlatego mount(8) stara się utrzymać aktualne ustawienia zgodnie z fstab lub /proc/self/mountinfo. Opisane zachowanie domyślne można zmienić opcją --options-mode. Rekurencyjna zmiana flag montowania (obsługiwana od v2.39 w systemach z wywołaniem systemowym mount_setattr(2)) np. mount -o remount,ro=recursive, nie stosuje zachowania "zresetuj nieokreślone", lecz działa jako prosta operacja dodania/usunięcie, a flagi niepodane nie są modyfikowane.
Funkcja ponownego montowania przestrzega standardowego sposobu, w jaki polecenie mount działa z opcjami z fstab. Oznacza to, że polecenie mount nie odczytuje fstab (lub mtab) wyłącznie wtedy, jeśli podano zarówno urządzenie jak katalog.
mount -o remount,rw /dev/foo /katalog
Po tym wywołaniu wszystkie stare opcje montowania są zastępowane, a arbitralne rzeczy z fstab (lub mtab) są ignorowane, z wyjątkiem opcji loop=, która jest tworzona i zarządzana wewnętrznie przez polecenie mount.
mount -o remount,rw /katalog
Po tym wywołaniu mount odczytuje fstab i łączy te opcje z opcjami podanymi w wierszu poleceń (-o). Jeśli we fstab nie będzie podanego punktu montowania, to zostaną użyte domyślnie opcje montowania z /proc/self/mountinfo.
mount zezwala na użycie opcji --all do ponownego zamontowania już zamontowanych systemów plików, które pasują do podanego filtra (-O i -t). Przykładowo:
mount --all -o remount,ro -t vfat
przemontuje wszystkie już zamontowane systemy plików vfat w tryb tylko do odczytu. Każdy z systemów plików jest przemontowywany zgodnie z semantyką mount -o remount,ro /katalog. Oznacza to, że polecenie mount odczyta fstab lub mtab i połączy te opcje, z opcjami podanymi w wierszu polecenia.
ro[=(recursive|vfs|fs)]
Argument recursive wymusza rekurencyjne stosowanie atrybutu VFS.
Argumenty vfs i fs określają warstwę, na jakiej ma być zastosowana flaga tylko do odczytu. Argument fs oznacza superblok systemu plików (unikalne wystąpienie systemu plików w jądrze), a vfs oznacza węzeł montowania. Jeśli nie poda się żadnego atrybutu, ustawienie tylko do odczytu jest stosowane na obu warstwach.
Więcej szczegółów w rozdziale Uwagi nt. ustawienia tylko do odczytu.
rw[=(recursive|vfs|fs)]
sync
user
nouser
users
X-*
x-*
Proszę zauważyć, że przed util-linux v2.30 opcje x-* nie były utrzymywane przez libmount, ani przechowywane w przestrzeni użytkownika (czyli odpowiadały aktualnej opcji X-*), jednak ze względu na rosnącą liczbę zastosowań (w initrd, systemd itp.) funkcjonalność ta została rozszerzona, utrzymując działanie istniejących konfiguracji fstab bez konieczności dokonywania zmian.
X-mount.auto-fstypes=lista
Lista jest rozdzieloną przecinkami listą nazw systemów plików. Automatyczne wykrywanie systemów plików jest wyzwalane typem systemu plików "auto" lub gdy nie poda się typu systemu plików.
Lista jest przetwarzana wg sposobu rozpoznawania wzorców typów (więcej szczegółów w opisie opcji -t). Dozwolone są tylko podane systemy plików albo wszystkie podane typy są zakazane, jeśli lista jest poprzedzona przedrostkiem "no".
Na przykład X-mount.auto-fstypes="ext4,btrfs" dozwala jedynie ext4 i btrfs, a X-mount.auto-fstypes="novfat,xfs" akceptuje wszystkie systemy plików poza vfat i xfs.
Proszę zauważyć, że jako separator pomiędzy opcjami montowania jest używany przecinek, co oznacza, że wartości automatycznych systemów plików muszą być poprawnie cytowane; proszę nie zapomnieć, że powłoka usunie cytowanie, dlatego konieczne jest podwójne cytowanie np.:
mount -t auto
-o’X-mount.auto-fstypes="noext2,ext3"' /dev/sdc1 /mnt/test
X-mount.mkdir[=tryb]
X-mount.nocanonicalize[=typ]
Opcja wiersza polecenia --no-canonicalize przesłania niniejszą opcję montowania i wpływa na wszystkie konwersje ścieżek i znaczników we wszystkich sytuacjach, lecz nie modyfikuje flag wywołań systemowych open_tree.
Proszę zauważyć, że mount(8) wciąż oczyszcza i normalizuje ścieżki źródła i celu podane w wierszu polecenia przez użytkowników innych niż root, niezależnie od ustawienia X-mount.nocanonicalize.
X-mount.noloop
X-mount.subdir=*katalog
Proszę zauważyć, że funkcja ta nie zadziała w sesjach z niedzielonymi, prywatnymi przestrzeniami nazw montowań (po unshare --mount), w starszych jądrach albo z programem mount(8) nieobsługującym API jądra dotyczącego montowań przy użyciu deskryptorów plików. W takim przypadku należy wykonać unshare --mount --propagation shared.
Ta funkcja jest EKSPERYMENTALNA.
X-mount.owner=nazwa-użytkownika|UID, X-mount.group=grupa|GID
X-mount.mode=tryb
X-mount.idmap=ident-typu:ident-montowania:ident-pierwotny:zakres-ident [ident-typu:ident-montowania:ident-pierwotny:zakres-ident], X-mount.idmap=plik
Mapowania identyfikatorów muszą być podane zgodnie ze składnią: ident-typu:ident-montowania:ident-pierwotny:zakres-ident. Podanie u jako przedrostek ident-typu tworzy mapowanie UID-ów, g tworzy mapowania GID-ów, a pominięcie ident-typu lub podanie b tworzy oba typy mapowań: identyfikatorów użytkowników i grup. Parametr ident-montowania określa początkowy numer identyfikatora w nowym montowaniu. Parametr ident-pierwotny określa początkowy numer identyfikatora w systemie plików. Parametr zakres-ident określa jak wiele identyfikatorów ma być zmapowanych. Można podać wiele mapowań identyfikatorów.
Poszczególne mapowania należy rozdzielić spacją. Proszę zauważyć, że w pliku /etc/fstab spacje są interpretowane jako separatory między polami. Aby temu zapobiec, konieczne jest zastąpienie spacji przez \040. Oto przykład: X-mount.idmap=0:0:1\040500:1000:1.
Na przykład mapowanie identyfikatorów: X-mount.idmap=u:1000:0:1 g:1001:1:2 5000:1000:2 tworzy montowanie typu idmapped gdzie UID 0 jest zmapowany do UID-u 1000, GID 1 jest zmapowany do GID-u 1001, GID 2 jest zmapowany do GID-u 1002, UID i GID 1000 jest zmapowany do 5000, a UID i GID 1001 jest zmapowany do 5001, w określanym montowaniu.
Gdy mapowanie identyfikatorów jest określane bezpośrednio, do żądanych mapowań identyfikatorów zostanie zaalokowana nowa przestrzeń nazw użytkownika. Ta nowo utworzona przestrzeń nazw użytkownika zostanie dołączona do montowania.
Przestrzeń nazw użytkownika zostanie następnie dołączona do montowania, a mapowania identyfikatorów przestrzeni nazw użytkownika staną się mapowaniami identyfikatorów montowania.
Na przykład X-mount.idmap=/proc/PID/ns/user dołączy do montowania przestrzeń nazw użytkownika procesu o numerze PID.
nosymfollow
OPCJE MONTOWANIA SPECYFICZNE DLA RÓŻNYCH SYSTEMÓW PLIKÓW¶
Niniejszy rozdział opisuje opcje charakterystyczne dla niektórych systemów plików. Tam gdzie to możliwe, należy zapoznać się z podręcznikiem systemowym dotyczącym danego systemu plików. Kilka z nich wymieniono w poniższej tabeli.
System(y) plików | Podręcznik systemowy |
btrfs | btrfs(5) |
cifs | mount.cifs(8) |
ext2, ext3, ext4 | ext4(5) |
fuse | fuse(8) |
nfs | nfs(5) |
tmpfs | tmpfs(5) |
xfs | xfs(5) |
Proszę zauważyć, że niektóre z powyższych podręczników mogą być dostępne dopiero po zainstalowaniu odpowiednich narzędzi.
Następujące opcje stosuje się tylko do określonych systemów plików. Są uporządkowane według systemu plików. Wszystkie występują po fladze -o.
To, czy opcje są obsługiwane, zależy w pewnej mierze od działającego jądra. Więcej informacji można uzyskać w plikach dotyczących odpowiedniego systemu plików, w podkatalogu źródeł jądra Documentation/filesystems.
Opcje montowania do adfs¶
uid=wartość i gid=wartość
ownmask=wartość i othmask=wartość
Opcje montowania do affs¶
uid=wartość i gid=wartość
setuid=wartość i setgid=wartość
mode=wartość
protect
usemp
verbose
prefix=łańcuch
volume=łańcuch
reserved=wartość
root=wartość
bs=wartość
grpquota|noquota|quota|usrquota
Opcje montowania do debugfs¶
System plików debugfs jest pseudosystemem, montowanym tradycyjnie w /sys/kernel/debug. Z jądrem w wersji 3.4 debugfs ma następujące opcje:
uid=n, gid=n
mode=wartość
Opcje montowania do devpts¶
devpts jest pseudosystemem plików, tradycyjnie montowanym w /dev/pts. W celu uzyskania pseudoterminala, proces otwiera /dev/ptmx. Jest mu wówczas udostępniany numer pseudoterminala; podporządkowany pseudoterminal jest dostępny jako /dev/pts/<numer>.
uid=wartość i gid=wartość
mode=wartość
newinstance
Wszystkie montowania devpts bez opcji newinstance współdzielą ten sam zestaw wskaźników pty (tj. tryb legacy). Każde zamontowanie devpts z opcją newinstance tworzy prywatny zestaw wskaźników pty.
Opcja jest używana głównie do obsługi kontenerów w jądrze Linux. Zaimplementowano ją w wersjach jądrach Linux od 2.6.29. Co więcej, ta opcja jest poprawna jedynie, jeśli w konfiguracji jądra włączono CONFIG_DEVPTS_MULTIPLE_INSTANCES.
Aby użyć tej opcji w sposób efektywny, /dev/ptmx musi być dowiązaniem symbolicznym do pts/ptmx. Proszę zapoznać się z plikiem Documentation/filesystems/devpts.txt w drzewie źródeł jądra Linux, aby dowiedzieć się więcej.
ptmxmode=wartość
Z obsługą wielu instancji devpts (patrz powyżej: opcja newinstance), każda kopia posiada prywatny węzeł ptmx w katalogu głównym systemu plików devpts (z reguły dev/pts/ptmx).
W celu uzyskania kompatybilności ze starszymi wersjami jądra, domyślnym trybem nowego węzła ptmx jest 0000. ptmxmode=wartość określa bardziej przydatny tryb dla nowego węzła ptmx i jest wysoce zalecany, gdy podana jest opcja newinstance.
Opcja została zaimplementowana jedynie w wersjach jądra Linux poczynając od 2.6.29. Co więcej, opcja ta jest poprawna jedynie, jeśli w konfiguracji jądra włączono CONFIG_DEVPTS_MULTIPLE_INSTANCES.
Opcje montowania do fat¶
(Uwaga: fat nie jest odrębnym rodzajem systemu plików, ale wspólną częścią systemów plików msdos, umsdos i vfat).
blocksize={512|1024|2048}
uid=wartość i gid=wartość
umask=wartość
dmask=wartość
fmask=wartość
allow_utime=wartość
20
2
Wartość domyślna jest ustawiana z opcji "dmask" (jeśli katalog jest zapisywalny, to dozwolone jest również utime(2) tj. ~dmask & 022)
Zwykle utime(2) sprawdza czy bieżący proces jest właścicielem pliku lub czy posiada przywilej CAP_FOWNER. Jednak systemy plików FAT nie posiadają na dysku UID ani GID, więc zwykłe sprawdzenie jest zbyt mało elastyczne. Opcja jest remedium na tę sytuację.
check=wartość
r[elaxed]
n[ormal]
s[trict]
codepage=wartość
conv=tryb
cvf_format=moduł
cvf_option=opcja
debug
discard
dos1xfloppy
errors={panic|continue|remount-ro}
fat={12|16|32}
iocharset=wartość
nfs={stale_rw|nostale_ro}
stale_rw: Opcja ta zarządza indeksem (buforem) i-węzłów katalogów używanych przez kod związany z nfs do usprawnienia wyszukiwań. Operacje pełnoplikowe (odczyt/zapis) przez NFS są obsługiwane, ale przy usuwaniu bufora na serwerze NFS może to powodować fałszywe błędy ESTALE.
nostale_ro: Ta opcja bazuje na numerze i-węzła i uchwycie pliku w położeniu pliku na dysku we wpisie katalogu FAT. Zapewnia to, że nie zostanie zwrócone ESTALE po usunięciu pliku z bufora i-węzła. Jednak skutkuje to również tym, że operacja takie jak zmiana nazwy, utworzenie i usunięcie (unlink) może spowodować, że uchwyty plików wskazujące na jakiś plik zaczną wskazywać na inny, powodując potencjalnie uszkodzenie danych. Z tego powodu, opcja ta montuje jednocześnie system plików jako tylko do odczytu.
Aby zachować kompatybilność wsteczną, akceptowana jest również opcja -o nfs, która daje stale_rw.
tz=UTC
time_offset=minuty
quiet
rodir
Jeśli atrybut ATTR_RO ma służyć jako flaga "tylko do odczytu" nawet dla katalogów, proszę ustawić tę opcję.
showexec
sys_immutable
flush
usefree
dots, nodots, dotsOK=[yes|no]
Opcje montowania do hfs¶
creator=cccc, type=cccc
uid=n, gid=n
dir_umask=n, file_umask=n, umask=n
session=n
part=n
quiet
Opcje montowania do hpfs¶
uid=wartość i gid=wartość
umask=wartość
case={lower|asis}
conv=tryb
nocheck
Opcje montowania do iso9660¶
ISO 9660 jest standardem opisującym strukturę systemu plików na CD-ROM-ach (system ten jest również wykorzystywany na niektórych płytach DVD; patrz również system plików udf).
Normalne nazwy plików iso9660 pojawiają się w formacie 8.3 (tzn. występują DOS-owe ograniczenia długości nazw plików), a w dodatku wszystkie znaki pisane są wielkimi literami. Poza tym nie ma pola właściciela, ochrony, liczby dowiązań, zastrzeżeń dla urządzeń znakowych/blokowych, itd.
Rozszerzeniem iso9660 jest Rock Ridge, który udostępnia wszystkie te uniksopodobne właściwości. Najprościej mówiąc, dla każdego wpisu katalogowego istnieją w nim rozszerzenia, które uzupełniają wszystkie informacje. Gdy używane jest Rock Ridge, system plików jest nieodróżnialny od normalnego uniksowego systemu plików (poza tym, że jest tylko do odczytu, oczywiście).
norock
nojoliet
check={r[elaxed]|s[trict]}
uid=wartość i gid=wartość
map={n[ormal]|o[ff]|a[corn]}
mode=wartość
unhide
block={512|1024|2048}
conv=tryb
cruft
session=x
sbsector=xxx
Poniższe opcje są takie same jak do vfat i podawanie ich ma sens tylko przy używaniu płyt zakodowanych przy użyciu rozszerzeń Joliet firmy Microsoft.
iocharset=wartość
utf8
Opcje montowania do jfs¶
iocharset=nazwa
resize=wartość
nointegrity
integrity
errors={continue|remount-ro|panic}
noquota|quota|usrquota|grpquota
Opcje montowania do msdos¶
Zobacz opcje do fat. Jeśli system plików msdos wykryje niespójność, zgłasza błąd i ustawia system plików na tylko do odczytu. System plików może być znowu dostępny do zapisu przez ponowne zamontowanie.
Opcje montowania do ncpfs¶
Tak jak przy nfs, implementacja ncpfs oczekuje binarnego argumentu (struct ncp_mount_data) wywołania systemowego mount(2). Argument ten jest konstruowany przez ncpmount(8), a bieżąca wersja mount (2.12) nic nie wie o ncpfs.
Opcje montowania do ntfs¶
iocharset=nazwa
nls=nazwa
utf8
uni_xlate={0|1|2}
posix=[0|1]
uid=wartość, gid=wartość oraz umask=wartość
Opcje montowania do overlay¶
Od Linuksa 3.18 pseudosystem plików overlay implementuje łączone montowanie dla innych systemów plików.
Overlay łączy dwa systemy plików – górny i dolny. Gdy jakaś nazwa istnieje w obu systemach plików, widoczny jest obiekt z górnego, a obiekt z dolnego jest albo ukryty, albo, w przypadku katalogów, łączony z górnym obiektem.
Dolnym systemem plików może być dowolny, obsługiwany przez Linuksa system plików. Nie musi być on zapisywalny. Dolny system plików może być nawet kolejnym systemem typu overlay. Górny system plików zwykle jest zapisywalny i jeśli tak jest, musi obsługiwać tworzenie rozszerzonych atrybutów trusted.* oraz zapewniać prawidłowe d_type w odpowiedziach readdir; z tego powodu NFS jest nieodpowiedni.
Overlay tylko o odczytu utworzony z dwóch systemów plików będących tylko do odczytu może korzystać z dowolnego typu systemu plików. Opcje lowerdir i upperdir są łączone do złączonego katalogu za pomocą:
mount -t overlay overlay \
-olowerdir=/dolny,upperdir=/górny,workdir=/katal-rob /połączone
lowerdir=katalog
upperdir=katalog
workdir=katalog
userxattr
redirect_dir={on|off|follow|nofollow}
on
off
follow
nofollow
index={on|off}
uuid={on|off}
nfs_export={on|off}
Gdy funkcja "nfs_export" jest aktywna, copy_up na dolnym obiekcie spowoduje, że wpis indeksu jest tworzony w katalogu indeksu. Nazwa wpisu indeksu jest szesnastkowym przedstawieniem, skopiowanego w górę, uchwytu pierwotnego pliku. W przypadku obiektu innego niż katalog, wpis indeksu jest dowiązaniem zwykłym do górnego i-węzła. W przypadku obiektu będącego katalogiem, wpis indeksu ma atrybut rozszerzony ustawiony na "{trusted|user}.overlay.upper", z zakodowanym uchwytem pliku i-węzła górnego katalogu.
Przy kodowaniu uchwytu pliku z obiektu systemu plików overlay, stosowane są następujące reguły:
Zakodowany uchwyt pliku overlay obejmuje:
Ten format kodowania jest identyczny z formatem kodowania uchwytu pliku, który jest przechowywany w atrybucie rozszerzonym "{trusted|user}.overlay.origin". Przy kodowaniu uchwytu pliku overlay, dokonywane są następujące kroki:
Zdekodowanie uchwytu pliku innego niż katalog może zwrócić odłączony dentry. copy_up takiego odłączonego dentry utworzy górny wpis indeksu, bez górnego aliasu.
Jeśli system plików overlay ma wiele niższych warstw, katalog środkowej warstwy może mieć "przekierowanie" do niższego katalogu. Ponieważ "przekierowania" środkowej warstwy nie są indeksowane, uchwyt dolnego pliku, który został zdekodowany z pierwotnego katalogu "przekierowania", nie może posłużyć do odnalezienia katalogu środkowej lub górnej warstwy. Podobnie, uchwyt dolnego pliku, który został zdekodowany z potomka pierwotnego katalogu "przekierowania" nie może posłużyć do odtworzenia połączonej ścieżki overlay. Aby uniknąć wystąpienia przypadków katalogów, których nie da się odkodować z uchwytu dolnego pliku, te katalogi są kopiowane w górę przy kodowaniu i są kodowane jako uchwyt górnego pliku. W systemie plików overlay, który nie ma górnej warstwy to nie zadziała; eksporty NFS w takiej konfiguracji wymagają wyłączenia podążania za przekierowaniami (np. "redirect_dir=nofollow").
System plików overlay nie obsługuje łączenia uchwytów plików niebędących katalogami, zatem eksport z konfiguracji exportfs subtree_check spowoduje błędy przy odszukiwaniu plików poprzez NFS.
Gdy funkcja eksportu NFS jest włączona, wszystkie wpisu indeksów katalogów są weryfikowane w trakcie montowania, aby zapewnić, że górne uchwyty plików nie są nieaktualne. W niektórych przypadkach, ta weryfikacja może stanowić znaczny narzut.
Uwaga: opcje montowania index=off,nfs_export=on są niekompatybilne z montowaniami do odczytu i zapisu, zatem wywołają błąd.
xino={on|off|auto}
Więcej informacji o wpływie tej opcji znajduje się pod adresem: <https://docs.kernel.org/filesystems/overlayfs.html>
metacopy={on|off}
Innymi słowy, jest to opóźniona operacja kopiowania danych, gdzie dane są kopiowane w górę tylko wtedy, gdy faktycznie zachodzi potrzeba modyfikacji danych.
volatile
Zaletą montowania z opcją "volatile" jest to, że pomija się wywołania synchronizacji górnego systemu plików we wszelkiej postaci.
Aby uniknąć fałszywego poczucia bezpieczeństwa, zachowanie syncfs (i fsync) wobec montowań ulotnych jest nieco inne, niż wobec pozostałych VFS. Jeśli w górnym systemie plików zajdzie jakiś błąd zapisu zwrotnego, po utworzeniu montowania ulotnego, wszelkie funkcje synchronizacji zwrócą błąd. Po osiągnięciu takiego stanu, system plików nie zostanie odzyskany, lecz wszystkie następne wywołania sync zwrócą błąd, nawet jeśli w górnym katalogu nie miał miejsca nowy błąd, od ostatniego wywołania synchronizującego.
Jeśli overlay jest zamontowany z opcją "volatile", tworzony jest katalog "$workdir/work/incompat/volatile". Przy następnym montowaniu, overlay sprawdza czy katalog ten istnieje, i jeśli tak jest - odmówi zamontowania. Jest to istotne wskazanie sytuacji, w której użytkownik powinien odrzucić katalogi górny i roboczy i utworzyć nowy. W bardzo niewielu przypadkach, gdy użytkownik wie, że system się nie załamał, a zawartość górnego katalogu jest nienaruszona, można usunąć katalog "volatile".
Opcje montowania do reiserfs¶
Reiserfs jest systemem plików z dziennikiem.
conv
hash={rupasov|tea|r5|detect}
rupasov
tea
r5
detect
hashed_relocation
no_unhashed_relocation
noborder
nolog
notail
replayonly
resize=liczba
user_xattr
acl
barrier=none / barrier=flush
Opcje montowania do ubifs¶
UBIFS jest systemem plików flash, którzy działa na woluminach UBI. Proszę zauważyć, że atime nie jest obsługiwane i jest zawsze wyłączone.
Nazwa urządzenia może zostać podana jako
ubiX_Y
ubiY
ubiX:NAZWA
ubi:NAZWA
Zamiast : można użyć separatora !.
Dostępne są następujące opcje montowania:
bulk_read
no_bulk_read
chk_data_crc
no_chk_data_crc.
compr={none|lzo|zlib}
Opcje montowania do udf¶
UDF jest uniwersalnym formatem dysku ("Universal Disk Format") zdefiniowanym przez Optical Storage Technology Association (OSTA) i jest używany często na DVD-ROM-ach, nierzadko w postaci hybrydowego systemu plików UDF/ISO-9660. Jest on jednak w pełni użyteczny jako samodzielny system plików na płytach, pendrivach i innych urządzeniach blokowych. Zob. też iso9660.
uid=
gid=
umask=
mode=
dmode=
bs=
Więcej szczegółów opisano w podręczniku mkudffs(8) 2.0+, w rozdziałach COMPATIBILITY (KOMPATYBILNOŚĆ) i BLOCK SIZE (ROZMIAR BLOKU).
unhide
undelete
adinicb
noadinicb
shortad
longad
nostrict
iocharset=
utf8
Opcje montowania służące do debugowania i odzyskiwania¶
novrs
session=
anchor=
lastblock=
Nieużywane, historyczne opcje montowania, które mogą się pojawiać i należy je usuwać¶
uid=ignore
gid=ignore
volume=
partition=
fileset=
rootdir=
Opcje montowania do ufs¶
ufstype=wartość
old
44bsd
ufs2
5xbsd
sun
sunx86
hp
nextstep
nextstep-cd
openstep
onerror=wartość
panic
[lock|umount|repair]
Opcje montowania do umsdos¶
Zobacz opcje do msdos. Opcja dotsOK jest jawnie ubijana przez umsdos.
Opcje montowania do vfat¶
Przede wszystkim, rozpoznawane są wszystkie opcje do fat. Opcja dotsOK jest jawnie ubijana przez vfat. Ponadto istnieją
uni_xlate
posix
nonumtail
utf8
shortname=tryb
lower
win95
winnt
mixed
Opcje montowania do usbfs¶
devuid=uid i devgid=gid i devmode=tryb
busuid=uid i busgid=gid i busmode=tryb
listuid=uid i listgid=gid i listmode=tryb
OBSŁUGA DM-VERITY¶
Cel verity device-mappera udostępnia przezroczyste sprawdzanie integralności urządzeń blokowych, za pomocą API kryptograficznego jądra (crypto) w trybie tylko do odczytu. Polecenie mount może otworzyć urządzenie dm-verity i dokonać weryfikacji integralności przed zamontowaniem systemu plików urządzenia. Wymaga libcryptsetup w libmount (opcjonalnie za pomocą dlopen(3)). Jeśli libcryptsetup obsługuje wyodrębnianie głównego skrótu na już zamontowanym urządzeniu, istniejące urządzenia zostaną automatycznie użyte ponownie, jeśli zostaną dopasowane. Opcje montowania dm-verity:
verity.hashdevice=ścieżka
verity.roothash=szesn
verity.roothashfile=ścieżka
verity.hashoffset=przesunięcie
verity.fecdevice=ścieżka
verity.fecoffset=przesunięcie
verity.fecroots=wartość
verity.roothashsig=ścieżka
verity.oncorruption=ignore|restart|panic
Obsługiwane od util-linux v2.35.
Przykładowo polecenia:
mksquashfs /etc /tmp/etc.raw veritysetup format /tmp/etc.raw /tmp/etc.verity --root-hash-file=/tmp/etc.roothash openssl smime -sign -in /tmp/etc.roothash -nocerts -inkey private.key \ -signer private.crt -noattr -binary -outform der -out /tmp/etc.roothash.p7s mount -o verity.hashdevice=/tmp/etc.verity,verity.roothashfile=/tmp/etc.roothash,\ verity.roothashsig=/tmp/etc.roothash.p7s /tmp/etc.raw /mnt
utworzą obraz squashfs z katalogu /etc, urządzenie skrótu verity i zamontują zweryfikowany obraz systemu plików w /mnt. Jądro zweryfikuje, czy główny skrót jest podpisany kluczem ze zbioru kluczy jądra, jeśli używany jest roothashsig.
OBSŁUGA URZĄDZENIA PĘTLI (LOOP)¶
Kolejnym możliwym typem jest montowanie poprzez urządzenie loop. Na przykład, polecenie
mount /tmp/disk.img /mnt -t vfat -o loop=/dev/loop3
ustawi urządzenie loop /dev/loop3 tak, aby odpowiadał plikowi /tmp/disk.img, a następnie zamontuje to urządzenie w /mnt.
Jeśli nie podano jawnie urządzenia pętli (tylko opcję "-o loop"), to mount spróbuje znaleźć jakieś nieużywane urządzenie pętli i go użyć, na przykład
mount /tmp/disk.img /mnt -o loop
Polecenie mount automatycznie tworzy urządzenie loop ze zwykłego pliku, jeśli nie podano systemu plików lub system plików jest znany libblkid, na przykład:
mount /tmp/disk.img /mnt
mount -t ext4 /tmp/disk.img /mnt
Ten typ montowań zna trzy opcje, loop, offset i sizelimit, które są tak naprawdę opcjami do losetup(8) (opcje te mogą być używane oprócz opcji specyficznych dla danego systemu plików).
Od Linuksa 2.6.25 obsługiwane jest samozniszczenie urządzeń loop, co oznacza, że każde urządzenie loop przydzielone przez mount zostanie zwolnione przez umount niezależnie od /etc/mtab.
Można również zwolnić urządzenie pętli ręcznie, przy użyciu losetup -d lub umount -d.
Od util-linux v2.29, mount używa ponownie urządzenia pętli, zamiast inicjować nowe, jeśli ten sam powiązany plik, jest już używany dla jakiegoś urządzenia pętli, z tym samym przesunięciem (offset) i limitem rozmiaru (sizelimit). Jest to konieczne, aby uniknąć uszkodzenia systemu plików.
STATUS ZAKOŃCZENIA¶
mount posiada następujące wartości statusu zakończenia (bity mogą być złożone używając alternatywy - OR):
0
1
2
4
8
16
32
64
Polecenie mount -a zwraca 0 (wszystkie się powiodły), 32 (wszystkie się nie powiodły) lub 64 (część się powiodła, a część nie).
126
ZEWNĘTRZNE PROGRAMY POMOCNICZE¶
Składnia zewnętrznych programów pomocniczych mount jest następująca:
/sbin/mount.przyrostek spec katalog [-sfnv] [-N przestrzeń-nazw] [-o opcje] [-t typ.podtyp]
gdzie przyrostek jest typem systemu plików, a opcje -sfnvoN mają to samo znaczenie, co standardowe opcje mount. Opcja -t jest używana do systemów plików z obsługą podtypów (np. /sbin/mount.fuse -t fuse.sshfs).
Polecenie mount nie przekazuje opcji montowania unbindable, runbindable, private, rprivate, slave, rslave, shared, rshared, auto, noauto, comment, x-*, loop, offset, ani sizelimit do programów pomocniczych mount.<przyrostek>. Wszystkie inne opcje są używane w postaci listy (rozdzielonej przecinkami) przekazanej jako argument do opcji -o.
Wartość statusu zakończenia programu pomocniczego jest zwracana jako status zakończenia mount(8). Wartość 126 jest ustawiona, jeśli odnaleziono program pomocniczy, lecz execl() zawiodło.
ŚRODOWISKO¶
LIBMOUNT_FORCE_MOUNT2={always|never|auto}
LIBMOUNT_FSTAB=<ścieżka>
LIBMOUNT_DEBUG=all
LIBBLKID_DEBUG=all
LOOPDEV_DEBUG=all
PLIKI¶
Zob. też rozdział "Pliki /etc/fstab, /etc/mtab i /proc/mounts" powyżej
/etc/fstab
/run/mount
/etc/mtab
/etc/mtab~
/etc/mtab.tmp
/etc/filesystems
HISTORIA¶
Polecenie mount pojawiło się w wersji 5 AT&T UNIX.
USTERKI¶
Jest możliwe, że uszkodzony system plików spowoduje załamanie systemu.
Niektóre linuksowe systemy plików nie obsługują -o sync i -o dirsync (systemy ext2, ext3, ext4, fat i vfat obsługują synchroniczne odświeżania (updates) (a la BSD), gdy zostaną zamontowane z opcją sync).
Opcja -o remount może nie być w stanie zmienić parametrów montowania (np. wszystkie parametry ext2fs, poza sb, dają się zmieniać przy ponownym montowaniu, lecz nie można zmienić gid czy umask dla fatfs).
Zdarza się, że pliki /etc/mtab i /proc/mounts nie odpowiadają sobie, na systemach ze zwykłym plikiem mtab. Pierwszy plik opiera się wyłącznie na opcjach poleceń mount, a zawartość drugiego zależy również od jądra i innych ustawień (np. na zdalnym serwerze NFS – w szczególnych przypadkach, polecenie mount może dawać niepewne informacje o punkcie montowania NFS; plik /proc/mounts zawiera z reguły pewniejsze informacje). Jest to kolejny powód do zastąpienia pliku mtab dowiązaniem symbolicznym do pliku /proc/mounts.
W w systemie plików NFS, sprawdzanie plików, do których odniesieniami są deskryptory plików (tj. rodziny funkcji fcntl i ioctl) może powodować niespójny rezultat, z powodu braku sprawdzania spójności w jądrze, nawet gdy używana jest opcja montowania noac.
Opcja loop używana razem z opcjami offset lub sizelimit może nie powieść się, gdy używa się starszych jąder, a polecenie mount nie może potwierdzić, że rozmiar urządzenia blokowego został skonfigurowany zgodnie z żądaniem. Można to obejść wywołując ręcznie polecenie losetup(8) przed wywołaniem polecenia mount już ze skonfigurowanym urządzeniem blokowym.
AUTORZY¶
Karel Zak <kzak@redhat.com>
ZOBACZ TAKŻE¶
mount(2), umount(2), filesystems(5), fstab(5), nfs(5), xfs(5), mount_namespaces(7), xattr(7), e2label(8), findmnt(8), losetup(8), lsblk(8), mke2fs(8), mountd(8), nfsd(8), swapon(8), tune2fs(8), umount(8), xfs_admin(8)
ZGŁASZANIE BŁĘDÓW¶
Problemy należy zgłaszać w systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.
DOSTĘPNOŚĆ¶
Polecenie mount jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.
2025-03-19 | util-linux 2.41 |