Co to jest typ „none” dla punktów montowania i dlaczego punkty montowania tego samego typu znajdują się poniżej / uruchom?

10

W Ubuntu 14.04 podczas wykonywania polecenia mount otrzymuję następujący fragment

tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)

Nie rozumiem, dlaczego podkatalogi /runsą montowane osobno w już zamontowanym katalogu nadrzędnym ( /run) i co noneoznacza system plików. Mój /etc/fstabplik jest pusty.

Trismegistos
źródło

Odpowiedzi:

6

Że nonepo prostu oznacza, że nie ma fizycznej partycji dysku powiązana z punktem podłączenia można zobaczyć wydając mountpolecenie. Jest on używany do wirtualnych systemów plików, takich jak shm, ramfs, proci tmpfs. Te lock, shmi userpunkty montowania w tym przykładzie są tworzone oddzielnie, więc mogą być montowane z różnymi uprawnieniami i ustawieniami. Zauważ część w nawiasach?

Powodem, dla którego nie widzisz tych konfiguracji montowania, /etc/fstabjest to, że są one wykonywane przez upstart(tj. Podczas inicjalizacji systemu) i initramfs-tools. Możesz to sprawdzić za pomocą:

grep --color -RE '/run/(lock|shm|user)' /etc 2>/dev/null

ale bardziej interesujące jest prawdopodobnie:

# grep --color -R 'run_migrate' /etc 2>/dev/null
/etc/init/mounted-var.conf:    run_migrate () {
/etc/init/mounted-var.conf:    run_migrate /var/run /run
/etc/init/mounted-var.conf:    run_migrate /var/lock /run/lock

Ostatnia część pokazuje, że aby znaleźć pochodzenie /run/lock, musisz na przykład wyszukać /var/lock.

captcha
źródło
Popraw mnie, jeśli źle rozumiem, ale mówisz: Mogę zamontować partycję np. / Dev / sda1 w / home z pewnymi przywilejami np .: tylko do odczytu, ale następnie ponownie zamontować część / home np. / Home / captcha z uprawnieniami do odczytu i zapisu. W takim scenariuszu / home / capcha jest zgłaszany przez mount jako system plików „none”, ale jest przechowywany na / dev / sda1 tak samo jak reszta partycji / home.
Trismegistos,
Nie jestem pewien, ale domyślam się, że pozwoliłoby to na bardziej restrykcyjne uprawnienia w podzestawach punktów montowania. Metodę „mount --bind” dla różnych systemów plików / run / można zobaczyć w /lib/init/mount-functions.sh Robiąc teraz man tmpfs ..
captcha
Nie sądzę, że to znaczy, że nie ma partycji. Żadne nie ma miejsca w systemie plików typu np. Tmpfs, więc oznaczałoby to raczej, że do tego punktu montowania nie przypisano żadnego systemu plików, ale nie ma to żadnego sensu.
Trismegistos
Jaki jest pożytek, dfjeśli nawet nie potrafi rozróżnić różnych systemów plików? Co się stanie, jeśli istnieją dwa nonesystemy plików, które faktycznie reprezentują dwa różne systemy plików, a co jeśli takie same? Jak mam je rozróżnić?
Artem Novikov