Banyak orang terus mengatakan bahwa Linux tidak menyimpan informasi tentang bind mounts, jadi tidak ada cara untuk mendapatkan daftar mereka dan sumber mereka. Berikut ini beberapa contohnya:
dari salah satu komentar di sini :
IIRC informasi ini tidak disimpan di mana pun: setelah
mount --bind
, dua salinan itu setara, tidak ada satu yang lebih "asli" dari yang lain. Lagipula tidak ada yang orisinal jika Anda sudah tidak terpasang/mnt
.dari jawaban di situs ini :
Jadi satu-satunya cara untuk mengingat mount apa yang mengikat mount adalah log dari perintah mount yang tersisa
/etc/mtab
. Operasi bind mount ditunjukkan oleh opsi bind mount (yang menyebabkan tipe sistem file diabaikan). Tetapi mount tidak memiliki opsi untuk mendaftar hanya filesystem yang dipasang dengan sekumpulan set opsi tertentu.dari laporan bug Debian :
Ini disengaja. Kedua titik pemasangan sepenuhnya sama dalam semua hal sehingga kernel tidak menyimpan flag apa pun untuk membedakannya.
Di atas adalah omong kosong. Alat findmnt
ini dapat membuat daftar jalur sumber bind mounts (dalam bentuk device[source-path]
; Saya juga mencoba untuk mendapatkannya hanya mencantumkan jalur sumber dan bukan perangkat). Jika kernel Linux mempertahankan bind mount, maka informasi itu harus disimpan di suatu tempat , jika tidak, ia tidak akan tahu /home
pasti terikat /users
. Jadi di mana data ini? Apakah ini disimpan di beberapa wilayah yang tidak jelas dalam RAM? Apakah findmnt
mencari di /proc
suatu tempat?
/proc/self/mountinfo
relatif baru saja direstrukturisasi. Saya menggunakan mesin RHEL6 saya sebelumnya yang tidak memiliki info jalur tetapi mesin RHEL7 saya melakukan dan seperti yang disebutkan dalam tautan Anda Wheezy juga.
/dev/A
sudah terpasang di /B
dan Anda melakukannya mount --bind /B /C
, kernel yang lebih tua hanya ingat /B → /dev/A
dan /C → /dev/A
, mereka tidak ingat hubungan antara /B
dan /C
. Jadi unmount /B
secara alami tidak berpengaruh /C
. Kernel yang lebih baru ingat bahwa /C
itu adalah ikatan /B
, tetapi dengan cara yang tidak mencegah /C
dari melanjutkan bekerja jika /B
tidak di-mount, saya tidak tahu persis bagaimana caranya.
findmnt
yang Anda jalankan dan opsi apa yang Anda berikan? Milik saya tidak mencetaknya seperti itu dan melihat kode sumber yang tampaknya menggunakan_PATH_PROC_MOUNTINFO
yang tampaknya/proc/self/mountinfo
tidak memiliki informasi ini di dalamnya juga.