ผู้คนมากมายบอกว่าลีนุกซ์ไม่เก็บข้อมูลเกี่ยวกับการผูกเมาท์ดังนั้นจึงไม่มีวิธีรับรายการของพวกเขาและแหล่งที่มา นี่คือตัวอย่างบางส่วน:
-
IIRC ข้อมูลนี้จะไม่ถูกเก็บไว้ที่ใด: หลังจาก
mount --bindนั้นสำเนาสองชุดนั้นมีความเท่าเทียมกันและไม่มี "ต้นฉบับ" มากกว่าอีกชุดหนึ่ง/mntท้ายที่สุดอาจไม่มีต้นฉบับถ้าคุณยกเลิกการต่อเชื่อมแล้ว จากคำตอบในเว็บไซต์นี้ :
/etc/mtabดังนั้นวิธีเดียวที่จะจำสิ่งที่ม้าเป็นม้าผูกเป็นบันทึกการติดคำสั่งที่เหลืออยู่ใน การดำเนินการ bind mount ถูกระบุโดยตัวเลือก bind mount (ซึ่งทำให้ระบบไฟล์ถูกละเว้น) แต่การเมานต์ไม่มีตัวเลือกให้แสดงเฉพาะระบบไฟล์ที่เมาท์พร้อมชุดของชุดตัวเลือกโดยเฉพาะจากรายงานข้อบกพร่องของเดเบียน :
นี่คือเจตนา จุดเชื่อมต่อทั้งสองนั้นเท่ากันทุกวิธีดังนั้นเคอร์เนลจะไม่เก็บค่าสถานะใด ๆ เพื่อแยกความแตกต่าง
ข้างต้นเป็นเรื่องไร้สาระแม้ว่า เครื่องมือfindmntนี้สามารถแสดงรายการที่มาของเส้นทางของการเชื่อมต่อผูก (ในรูปแบบของdevice[source-path]; ฉันยังพยายามที่จะได้รับมันเพียงแค่รายการเส้นทางที่มาและไม่ได้อุปกรณ์) ถ้าเคอร์เนลคือการรักษาผูกติดแล้วว่าข้อมูลที่จะต้องมีการจัดเก็บไว้ที่ใดที่หนึ่งมิฉะนั้นจะไม่สามารถรู้ว่าถูกผูกไว้กับ/home /usersแล้วข้อมูลนี้อยู่ที่ไหน? มันถูกเก็บไว้ในพื้นที่ที่ไม่ชัดเจนใน RAM หรือไม่? ไม่findmntมองใน/procบาง?
/proc/self/mountinfoค่อนข้างเร็วปรับโครงสร้าง ฉันอยู่ในเครื่อง RHEL6 ของฉันก่อนหน้านี้ซึ่งไม่มีข้อมูลเส้นทาง แต่เครื่อง RHEL7 ของฉันทำและตามที่ระบุไว้ในลิงก์ของคุณ Wheezy ก็ทำได้เช่นกัน
/dev/Aติดตั้งใน/Bและคุณทำmount --bind /B /Cเมล็ดเก่าจำเท่านั้น/B → /dev/Aและ/C → /dev/Aพวกเขาจำไม่ได้ว่าความสัมพันธ์ระหว่างการใด ๆและ/B /Cดังนั้น unmounting ธรรมชาติไม่มีผลต่อ/B /Cเมล็ดที่ใหม่กว่าจำได้ว่า/Cเป็นภูเขาผูก/Bแต่ในวิธีที่ไม่ได้ป้องกันไม่/Cให้ทำงานต่อไปหาก/Bไม่มีการเมานท์ฉันไม่รู้วิธีการอย่างแน่นอน
findmntคุณกำลังใช้เวอร์ชันใดอยู่และมีตัวเลือกอะไรบ้าง ฉันไม่ได้พิมพ์ออกมาอย่างนั้นและดูที่ซอร์สโค้ดมันดูเหมือนว่าจะใช้_PATH_PROC_MOUNTINFOซึ่งดูเหมือนว่าจะ/proc/self/mountinfoไม่มีข้อมูลนี้อยู่ในนั้น