คำถามติดแท็ก bind-mount

2
การผูกติดคืออะไร?
“ ภูเขาผูก” คืออะไร? ฉันจะสร้างได้อย่างไร มันดีสำหรับอะไร? ฉันได้รับคำสั่งให้ใช้ตัวยึดสำหรับบางอย่าง แต่ฉันไม่เข้าใจว่ามันคืออะไรหรือใช้อย่างไร

3
เหตุใดการเมานท์จึงไม่เคารพตัวเลือกแบบอ่านอย่างเดียวสำหรับการเชื่อมการเชื่อมโยง?
บนระบบ Arch Linux ของฉัน (Linux Kernel 3.14.2) การเชื่อมต่อผูกไม่เคารพตัวเลือกอ่านอย่างเดียว # mkdir test # mount --bind -o ro test/ /mnt # touch /mnt/foo /mnt/fooสร้างไฟล์ รายการที่เกี่ยวข้องใน/proc/mountsคือ /dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0 ตัวเลือกการติดตั้งไม่ตรงกับตัวเลือกที่ร้องขอของฉัน แต่ทำตรงทั้งพฤติกรรมการอ่าน / เขียนของผูกติดและตัวเลือกที่ใช้ในการติดเดิม/dev/sda2บน/ /dev/sda2 / ext4 rw,noatime,data=ordered 0 0 อย่างไรก็ตามถ้าฉันเมานต์ใหม่ก็จะเคารพตัวเลือกการอ่านอย่างเดียว # mount --bind -o remount,ro test/ /mnt # touch /mnt/bar …


1
mount - ผูกผู้ใช้รายอื่นด้วยตนเอง
ฉันใช้ fstab เพื่อผูกโฟลเดอร์ที่เป็นของผู้ใช้รายอื่นในไดเรกทอรีของตัวเอง ฉันรู้ว่าฉันสามารถแมปผู้ใช้เมื่อฉันเมานต์ SSHFS ฉันได้ทำการวิจัยและฉันไม่สามารถหาที่mount --bindเทียบเท่าได้ มีวิธีใดบ้างที่ฉันจะสามารถเมานท์โฟลเดอร์และไฟล์ของผู้ใช้คนอื่นเป็นของฉันเองได้? ปรับปรุง: มันไม่จำเป็นต้องมีmount --bindที่จะเป็น มันต้องทำสิ่งที่คล้ายกันในขณะที่ทำแผนที่ผู้ใช้และสามารถทำได้เมื่อเริ่มต้น
16 mount  bind-mount 

1
ทำไมฉันไม่สามารถผูก“ /” ในเนมสเปซของผู้ใช้ไม่ได้
ทำไมมันไม่ทำงาน $ unshare -rm mount --bind / /mnt mount: /mnt: wrong fs type, bad option, bad superblock on /, missing codepage or helper program, or other error. งานเหล่านี้ตกลง: $ unshare -rm mount --bind /tmp /mnt $ unshare -rm mount --bind /root /mnt $ $ uname -r # Linux kernel version …

2
เหตุใดการเชื่อมโยงของฉันจึงมองเห็นได้นอกเนมสเปซการเมานท์
ดังนั้นฉันจึงพยายามที่จะจัดการกับ mount namespace ของ Linux ว่าทำงานอย่างไร ดังนั้นฉันจึงทำการทดลองเล็กน้อยและเปิดเทอร์มินัลสองเครื่องและวิ่งต่อไปนี้: อาคาร 1 root@goliath:~# mkdir a b root@goliath:~# touch a/foo.txt root@goliath:~# unshare --mount -- /bin/bash root@goliath:~# mount --bind a b root@goliath:~# ls b foo.txt อาคาร 2 root@goliath:~# ls b foo.txt ทำไมการมองเห็นการติดตั้งจึงปรากฏในเทอร์มินัล 2 เนื่องจากมันไม่ได้เป็นส่วนหนึ่งของเมานต์เนมสเปซฉันจึงคาดว่าไดเรกทอรีจะว่างเปล่าที่นี่ ฉันพยายามผ่าน-o shared=noและใช้--make-privateตัวเลือกด้วยmountแต่ฉันก็ได้ผลลัพธ์เดียวกัน ฉันพลาดอะไรไปบ้างและฉันจะทำให้เป็นส่วนตัวได้อย่างไร

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

1
ถอนติดตั้งเมานด์ rbind โดยไม่มีผลกับเมานต์ดั้งเดิม
ถามถึงข้อผิดพลาดของเซิร์ฟเวอร์แต่ไม่ได้รับความสนใจเพียงพอจึงโพสต์ที่นี่อีกครั้งด้วยความหวังว่าบางคนที่นี่รู้คำตอบ มีคำถามอีกข้อหนึ่งที่พูดถึงการติดตั้ง rbind mounts แต่วิธีแก้ปัญหามีผลที่ไม่ต้องการ พิจารณาเค้าโครงไดเรกทอรีต่อไปนี้: . ├── A_dir │ └── mount_b ├── B_dir │ └── mount_c └── C_dir ตอนนี้ผมผูกC_dirไปB_dir/mount_cและ rbind B_dirเพื่อA_dir/mount_b: [hidden]$ sudo mount --bind C_dir B_dir/mount_c [hidden]$ sudo mount --rbind B_dir A_dir/mount_b [hidden]$ mount | grep _dir | wc -l 3 ตอนนี้umount A_dir/mount_bจะล้มเหลวซึ่งไม่น่าแปลกใจ ตามที่ตอบทุกที่บนเว็บเราต้องก่อนแล้วumount A_dir/mount_b/mount_c umount A_dir/mount_bอย่างไรก็ตามumount A_dir/mount_b/mount_cจะยกเลิกการต่อเชื่อมB_dir/mount_cซึ่งไม่เป็นที่ต้องการ: …

2
ทำไมฉันไม่สามารถสร้าง "hardlink" ไปยังไฟล์จากไดเรกทอรี“ mount --bind” ในระบบไฟล์เดียวกันได้
ปัญหาเดิม ฉันมีไฟล์ในระบบไฟล์เดียว: /data/src/file และฉันต้องการเชื่อมโยงอย่างหนักกับ: /home/user/proj/src/file แต่/homeอยู่ในดิสก์หนึ่งและ/dataอยู่ในอีกดิสก์หนึ่งดังนั้นฉันจึงได้รับข้อผิดพลาด: $ cd /home/user/proj/src $ ln /data/src/file . ln: failed to create hard link './file' => '/data/src/file': Invalid cross-device link ตกลงดังนั้นฉันเรียนรู้ว่าฉันไม่สามารถลิงก์ข้ามอุปกรณ์ได้ยาก มีเหตุผล. ปัญหาที่เกิดขึ้น ดังนั้นฉันคิดว่าฉันจะได้รับแฟนซีและผูกติดsrcโฟลเดอร์ที่อยู่ใน/dataระบบไฟล์ของ: $ mkdir -p /data/other/src $ cd /home/user/proj $ sudo mount --bind /data/other/src src/ $ cd src $ # (now we're technically …
9 mount  ln  bind-mount 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.