คุณจะเมานท์ - ผูกไดเรกทอรีท้องถิ่นได้อย่างไร


14

ใน linux หนึ่งในสิ่งที่ยอดเยี่ยมที่คุณสามารถทำได้ (โดยเฉพาะอย่างยิ่งสำหรับนักพัฒนา) คือการติดตั้งโฟลเดอร์และผูกเข้ากับโฟลเดอร์อื่นในระบบ

สิ่งนี้มีความได้เปรียบมากกว่า symlink เนื่องจากเครื่องมือข้อเท็จจริงเช่น Git ไม่ได้ตรวจพบว่ามันเป็นโหนดประเภทอื่นและคุณไม่จำเป็นต้องลบเนื้อหาต้นฉบับ เมื่อคุณทำเสร็จแล้วคุณสามารถเลิกเมานท์อย่างง่ายและปล่อยให้เนื้อหาระบบไฟล์ต้นฉบับอยู่

อย่างไรก็ตามmount -bindหรือmount.localดูเหมือนจะไม่อยู่บน Mac ( ณ OS X 10.10.2 โยเซมิตี)

คุณจะไปเกี่ยวกับเรื่องนี้ได้อย่างไร

คำตอบ:


8

ตามที่กล่าวถึงโดยผู้ใช้รายอื่นใน StackOverflowคุณสามารถใช้การเมาท์ NFS ได้ อย่างไรก็ตามต้องใช้การตั้งค่าครั้งเดียวเล็กน้อย

ขั้นแรกคุณจะต้องตั้งค่า/etc/exportsไฟล์ (หากคุณยังไม่ได้ดำเนินการ)

$ sudo tee -a /etc/exports <<< "/ -alldirs -mapall=$USER localhost"

ประการที่สองคุณจะต้องเริ่มต้นRPCและnfsdบริการ

$ sudo launchctl start com.apple.rpcbind
$ sudo nfsd start

จากนั้นให้ NFSd นิดหน่อยเพื่อตื่นและรับอาหารเช้าและคุณควรจะเมานท์:

$ sudo mount localhost:/path/to/target ./mnt

หากต้องการคืนค่าเนื้อหาต้นฉบับให้ทำ

$ sudo umount ./mnt

ฉันพยายามติดตั้งไดรฟ์ usb exfat ของฉัน$ sudo mount localhost:/Volumes/Aren/Movies /Users/me/Movies/
2560

mount_nfs: can't mount /Volumes/Aren/Movies from localhost onto /Users/me/Movies: No such file or directory
Necktwi

มันใช้งานได้ดีถ้าฉันทำอย่างอื่น!
Necktwi

หากคุณได้รับ "ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว" ให้ลองสร้างโฟลเดอร์เพื่อเชื่อมต่อไปยังปลายทางก่อน หากคุณได้รับข้อผิดพลาด "การอนุญาตปฏิเสธ" ให้ลอง "sudo nfsd restart" (สำหรับฉันแล้ว nfsd ได้เริ่มต้นแล้วดังนั้นจึงจำเป็นต้องรีสตาร์ทเพื่อดึงข้อมูลบรรทัดการส่งออกใหม่ฉันคิดว่า)
Nick

1
@ JayGee ฉันเป็น OP มันใช้งานได้สำหรับฉันในเวลานั้น Git มีข้อผิดพลาดอะไร? คุณcdอ่านแล้วกลับเข้ามาใหม่ก่อนใช้ Git เชลล์มีแนวโน้มที่จะทำงานกับ file descriptor ซึ่งเชื่อมโยงกับ inodes ไม่ใช่เส้นทางของสตริงแบบเต็มดังนั้นหากคุณเมานต์และอยู่ในไดเรกทอรี "เดียวกัน" เชลล์จะยังคงทำงานโดยใช้ไดเรกทอรีพื้นฐานแทนที่จะเป็นเมาท์ ไม่มีเหตุผล Git ควรเห็นทุกอย่างที่ติดตั้ง - การติดตั้งใช้งานไม่ได้ สำหรับทุกเจตนาและวัตถุประสงค์มันเป็นระบบไฟล์ประเภทเดียวกัน
Qix

8

มีตัวเลือกอื่น - bindfs มันต้องการให้คุณติดตั้งFUSEแต่ให้ทางเลือกอื่นในการใช้ NFS

คุณอาจต้องรวบรวมจากแหล่งที่มา แต่ฉันเห็นว่ามันมีอยู่ในMacPortsด้วย


2
Homebrew:ติดตั้งosxfuseแล้วbrew install homebrew/fuse/bindfs(ทดสอบบน El Capitan ไม่จำเป็นต้องใช้เมานต์ที่เน้นผู้ใช้sudoมาก่อนbindfs)
dhchdhd

ข้อเสียของฟิวส์คือมันไม่รองรับการรู้แจ้งเหตุการณ์ หากแหล่งที่มามีการปรับปรุงในขณะที่แอปดูการปรับปรุงในปลายทางมันจะไม่ได้รับการปรับปรุง
diimdeep

นอกจากนี้ยังเป็นเรื่องเล็กน้อยสำหรับฉันเมื่อรวบรวมสิ่งต่าง ๆ ในปริมาณ bindfs โดยเฉพาะอย่างยิ่งฉันได้รับ "ไฟล์เปิดมากเกินไป" อย่างต่อเนื่องสำหรับโครงการหนึ่งใน Xcode โดยไม่มีเหตุผลที่ชัดเจน หากฉันเพียงแค่คัดลอกเนื้อหาโดยไม่ต้องติดตั้ง
Grishka
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.