bagaimana cara memeriksa apakah bind mount di linux bersifat pribadi atau dibagikan?

8

Perintah mount memungkinkan kita untuk membuat bind mount di-share, slave, shared + slave, private atau unbindable, namun, saya tidak dapat menemukan titik mount tertentu apa jenis subtree yang di-root pada bind-mount (shared, slave, pribadi, + budak bersama atau tidak terikat). Bagaimana saya menemukan jika bind mount adalah slave atau privat?

anaken78
sumber

Jawaban:

8

Jawabannya ada di mount(8)halaman manual juga:

Gunakan findmnt -o TARGET, PROPAGATION untuk melihat bendera propagasi saat ini.

Sebuah contoh:

$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   shared

$ sudo mount -o bind /opt /mnt
$ sudo mount --make-slave /opt
$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   private,slave

$ sudo umount /mnt
$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   private

Periksa findmnthalaman manual untuk opsi lain.

Untuk referensi, contoh-contoh ini menggunakan:

$ findmnt --version
findmnt from util-linux 2.27.1
dawud
sumber
Versi mana findmntyang Anda gunakan? Saya menggunakan findmntUbuntu 14.04 dan sepertinya tidak memiliki opsi "PROPAGASI".
anaken78
7

Atau sebagai jawaban untuk dawud , Anda dapat langsung menanyakan kernel seperti ini:

# cat /proc/1/mountinfo
14 19 0:14 / /sys rw,nosuid,nodev,noexec,relatime shared:7 - sysfs sysfs rw
15 19 0:3 / /proc rw,nosuid,nodev,noexec,relatime shared:12 - proc proc rw
[...]

Anda dapat melihat dari bidang ke-7 bahwa /syssistem file saya dibagi (seperti /proc).

Juga, itu adalah dan di grup peer 7 (mount di grup peer yang sama menyebarkan acara satu sama lain).

Angka dalam /proc/1/mountinfoadalah PID dari suatu proses, karena proses dapat berada di mount namespaces yang berbeda dan "melihat" hasil yang berbeda. Anda mungkin ingin menggunakan PID lain, yaitu jika Anda bekerja dengan kontainer. Kalau tidak, 1sederhana dan mudah.

Mount bersama tersedia sejak kernel Linux versi 2.6.15.

Totor
sumber
-3

Ini 2 pandangan dari data yang sama, modifikasi dalam satu mencerminkan yang lain

mount --bind / source / destrination

/unix/198590/what-is-a-bind-mount

mount binds hanyalah cara memesan tampilan filesystem sesuai keinginan Anda

Sum1sAdmin
sumber
1
Ini tidak menjawab pertanyaan. Pertanyaannya menanyakan bagaimana menemukan mode dari bind-mount yang diberikan (shared, slave, private, dll.) Untuk tidak mendefinisikan apa itu bind mount.
Cosmic Ossifrage
tautan yang disediakan menjelaskan, ini bukan dari yang di atas
Sum1sAdmin
1
@ Rob-d apa maksudmu dengan "tidak ada yang di atas"? Seperti Cosmic Ossifrage menunjukkan pertanyaan saya bagaimana dengan tipe mount, bukan bagaimana menggunakan bind mount.
anaken78
Ini adalah tipe apa pun yang Anda gunakan untuk mengikat, jika tidak gunakan bindfs -r dll.
Sum1sAdmin