การแชร์โฟลเดอร์จากโฮสต์ Windows ไปที่ Freebsd Guest


10

สิ่งที่ฉันพยายามทำ:

  • ฉันมีพีซีที่ติดตั้ง Windows 7 (ที่บ้าน)
  • ฉันต้องการเรียกใช้ Unix ใน Virtual Box เพราะฉันคุ้นเคยกับการพัฒนา / เขียนสคริปต์มากกว่า

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

ฉันค้นหาบนเน็ตและพบสองวิธีที่แตกต่างกัน:

ฉันติดตั้งส่วนเพิ่มเติมของผู้เยี่ยมชมใน freebsd โดยใช้pkg_add -r virtualbox-ose-additionsการติดตั้งดำเนินต่อไปอย่างรวดเร็วและฉันแก้ไข/etc/rc.confเพื่อเพิ่มสองบรรทัดที่แนะนำ: vboxguest_enable="YES"และvboxservice_enable="YES"และรีบูต

มันไม่ได้ผล. คำสั่งเพื่อเมาต์ระบบสิ้นสุดข้อผิดพลาด:

# mount -t vboxsf shared /home/myuser/shared
mount: shared : Operation not supported by device

ที่sharedชื่อของโฟลเดอร์ที่ฉันติดตั้งในการตั้งค่ากล่องเสมือนของฉันสำหรับ VM นี้

เป็นไปได้จริงที่จะใช้vboxsfประเภทระบบไฟล์ใน freebsd? ความคิดเห็นบางอย่างดูเหมือนจะแนะนำว่าไม่รองรับ แต่การค้นหาข้อมูลที่ทันสมัยเป็นเรื่องยาก

ต่อไปฉันไปที่ samba ฉันทำตามคำแนะนำที่ฉันลิงก์ไว้ น่าเสียดายที่มันจบลงด้วย:

# mount_smbfs -N -I 192.168.56.1 //winuser@winmachinename/Shared /mnt/shared
mount_smbfs: unable to open connection: syserr = RPC struct is bad

ที่Sharedชื่อของโฟลเดอร์ที่ใช้ร่วมกันที่ฉันกำหนดค่าด้วย windows สามารถเข้าถึงได้winuserอย่างชัดเจน ping ใช้งานได้

ฉันต้องการที่จะทราบว่าฉันไม่มีรหัสผ่านในบัญชีผู้ใช้ windows ที่ฉันพยายามเชื่อมต่อที่มันดูเหมือนง่ายขึ้น แต่บางทีมันอาจรบกวนแซมบ้า

แก้ไข:ทำงานจาก PuTTY ฉันไม่เคยเห็นว่ามีบางข้อความถูกพิมพ์ในคอนโซล:

smb_maperror: Unmapped error 3:31
smb_co_lock: recursive lock for object 1

ทั้งสองปรากฏขึ้นหลายครั้ง / สิ้นสุดการแก้ไข

หากการแบ่งปัน filesytem โดยตรงไม่ทำงานคุณมีความคิดวิธีการที่จะทำให้ samba ทำงานได้อย่างไร? บทความแนะนำให้ทำอย่างน้อยบางส่วน

ข้อมูลทางเทคนิค:

  • โฮสต์: รุ่น Windows 7 Familial (ทันสมัย)
  • ผู้เยี่ยมชม: FreeBSD 9.0-RELEASE # 0: อังคาร 3 ม.ค. 07:15:25 UTC 2012 root@obrian.cse.buffalo.edu: / usr / obj / usr / src / sys / GENERIC i386 ทั่วไป
  • กล่องเสมือน: 4.1.16 r78094

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

ฉันยังเปิดให้เปลี่ยนระบบ ฉันชอบปรัชญาของ freebsd แต่ถ้ามันไม่ได้ผลฉันไม่มีความมั่นใจเลยที่จะย้ายไปที่ลินุกซ์

แก้ไข :

คำถามนี้เป็นคำถามที่น่าสนใจทางทฤษฎีอย่างแท้จริง ฉันเปลี่ยนไปใช้เซิร์ฟเวอร์ Ubuntu และจัดการเพื่อตั้งค่าโดยไม่ต้องใช้ samba เนื่องจาก vboxsf ได้รับการสนับสนุนเป็นอย่างดี


คุณลองใช้โปรแกรม smbclient จากชุด samba หรือไม่
arved

@ แก้ไข: ไม่ฉันไม่ได้ เป็นไปได้หรือไม่ที่จะกำหนดค่าการเมาท์อัตโนมัติผ่านไคลเอนต์ smb? (เป็นการดีที่ฉันจะไม่ชอบแซมบ้า แต่เดี๋ยวก่อนถ้ามันใช้แซมบ้าไปทำงาน ... )
Matthieu M.

ฉันไม่คิดว่ามันจะเป็นไปได้ แต่อย่างน้อยคุณก็สามารถตรวจสอบได้ว่าไม่มีการตั้งค่าผิดพลาดใน Windows Share
ปรับปรุง

คำตอบ:


5

VirtualBox โฟลเดอร์ที่แชร์ยังคงไม่ได้รับการสนับสนุนบน FreeBSD

คอมมิชชันพอร์ต FreeBSD ยืนยันสิ่งนี้ในรายชื่อผู้รับจดหมาย FreeBSD ณ วันที่ (2014-06-24):

โฟลเดอร์ที่ใช้ร่วมกันสำหรับแขก FreeBSD ยังไม่ได้รับการสนับสนุน [... ] มีรหัสร่างและโมดูลเคอร์เนลสำหรับมัน แต่มันยังไม่ทำงาน

หากคุณต้องการติดตามสถานะของพอร์ตโปรดค้นหารายชื่อผู้รับจดหมาย นอกจากนี้ยังมี#freebsd-vboxช่อง IRC บน Freenode มันถูกโพสต์ไปยังรายชื่อผู้รับจดหมาย freebsd-hackers ที่ด้านล่างของโพสต์นี้ คุณจะพบนักพัฒนาที่นั่น

ท้ายที่สุดนี่คือสิ่งที่virtualbox-ose-additionsพอร์ตปัจจุบันสนับสนุนตามบทที่ 22.2 ของ FreeBSD Handbook ณ วันนี้:

การเพิ่มเติมจากแขก VirtualBox ™ให้การสนับสนุนสำหรับ:

  • การแชร์คลิปบอร์ด
  • การรวมตัวชี้เมาส์
  • การประสานเวลาโฮสต์
  • การปรับสเกลหน้าต่าง
  • โหมดไม่มีรอยต่อ

อย่างที่คุณเห็นไม่มีโฟลเดอร์ที่แชร์ยังรองรับ FreeBSD

บทที่ 4.3 ของสถานะคู่มือ VirtualBox:

Shared Folders รองรับ Windows (2000 หรือใหม่กว่า), Linux และ Solaris

ยังไม่มี FreeBSD อีก ใช้การแบ่งปัน SMB ในตอนนี้ทำตามคำแนะนำที่คนอื่นพูดถึง


4

ตรวจสอบให้แน่ใจว่าคุณได้กำหนดค่าการแชร์ในโฟลเดอร์ windows ให้กับผู้ใช้ที่คุณต้องการใช้เพื่อแชร์บน freebsd

ฉันต้องการเพิ่มสิ่งต่อไปนี้ใน / etc / hosts เพื่อความสะดวกในการใช้งาน

<ip address of server>  vboxhost
eg.
192.168.56.1    vboxhost

ทดสอบครั้งแรกที่ติดตั้งโฟลเดอร์:

mount_smbfs -I vboxhost //username@nameofwindowsbox/foldername /mnt

หากสิ่งนี้ถูกต้องคุณจะได้รับแจ้งรหัสผ่านผู้ใช้ windows

เพื่อให้มันเมานต์เมื่อบูตเพิ่มต่อไปนี้เพื่อ / etc / fstab

//username@nameofwindowsbox/foldername  /mnt smbfs  rw,noauto  0 0

มันควรจะติดตั้งทุกครั้งที่คุณบูต

หากคุณไม่ต้องการให้ใส่รหัสผ่านให้เพิ่มใน /etc/nsmb.conf:

[default]
[NAMEOFWINDOWSBOX]              
addr=<ip address of host>
[NAMEOFWINDOWSBOX:USERNAME]
password=<myPassword>

สวัสดีพีท ขอบคุณสำหรับคำตอบ. ที่จริงฉันเปลี่ยนอาวุธและไปกับเซิร์ฟเวอร์ Ubuntu เพราะฉันต้องการโซลูชันที่ไม่ใช่ samba และ FreeBSD ยังไม่รองรับ vboxfs
Matthieu M.

1
คุณไม่จำเป็นต้องติดตั้ง samba สำหรับวิธีการแก้ปัญหาข้างต้นซึ่งทำงานได้จากการติดตั้ง FreeBSD เริ่มต้น
Pete

ฉันอยากจะแนะนำให้ freebsd ไปอีกถ้าคุณมีเวลาเพราะฉันได้พบคุณลักษณะคุกมันมีประโยชน์มากสำหรับการพัฒนา ในขณะนี้ฉันมี 5 คุก: www (apache22 + php53), www (apache22 + php54), MySQL, PostgreSQL, อีเมลเซิร์ฟเวอร์ ฉันได้พบสิ่งที่มีค่านี้ในแง่ของการทดสอบ php และฐานข้อมูลเวอร์ชันต่าง ๆ
Pete

เช่นเดียวกับ FreeBSD มีเทอร์มินัลหลายตัวโดยค่าเริ่มต้น alt + f1 -> alt + f8 หมายถึงถ้าคุณไปกับคุกคุณสามารถสร้างมันในแบบคู่ขนานช่วยประหยัดเวลาของคุณเมื่อคุณใช้ระบบพอร์ต Heck คุณสามารถติดตั้งคุกเพียงเพื่อสร้างซอฟต์แวร์ ฉันใช้ qjail
Pete

จุดประสงค์ของฉันคือการแฮ็คที่ Clang / LLVM ดังนั้นมันค่อนข้างดีสำหรับฉัน
Matthieu M.

1

ฉันกำลังต่อสู้กับปัญหาเดียวกัน สองสิ่งในฝั่ง Windows ทำให้ฉันได้รับ mount_smbfs ใน FreeBSD 9.0 ในที่สุด:

  • เปิดใช้งานการเข้าถึงแบบไม่ระบุชื่อสำหรับระบบ

ศูนย์เครือข่ายและการใช้ร่วมกัน→เปลี่ยนการตั้งค่าการแชร์ขั้นสูง→ปิดการแชร์ที่ป้องกันด้วยรหัสผ่าน

  • เปิดใช้งานการเข้าถึงแบบไม่ระบุชื่อในโฟลเดอร์ผ่าน Simple Sharing

คุณสมบัติ→การแชร์→แชร์ ... →เพิ่ม 'ทุกคน'

ในคุณสมบัติการแชร์มีสองวิธีในการสร้างการแชร์ การแชร์อย่างง่ายและการแบ่งปันขั้นสูง ฉันใช้การแชร์ขั้นสูงและด้วยเหตุผลบางอย่างที่ฉันไม่สนใจจริงๆ ณ จุดนี้นั่นไม่ได้ผล ฉันเพิ่มการแชร์อีกครั้งผ่าน Simple Sharing จากนั้นเมานต์ / smbclient ในที่สุดก็ใช้งานได้

การตรวจสอบว่าการเข้าสู่ระบบแบบไม่ระบุชื่อทำงานกับ smbclient:

[root@fileserv ~]# smbclient -N -I 192.168.56.1 '\\twblamer-pc\share'
Domain=[TWBLAMER-PC] OS=[Windows 7 Professional 7601 Service Pack 1] Server=[Windows 7 Professional 6.1]
smb: \> dir
  .                                  DR        0  Thu Dec 13 04:33:09 2012
  ..                                 DR        0  Thu Dec 13 04:33:09 2012
  mydirectory                         D        0  Thu Dec 13 01:55:45 2012

ขอบคุณสำหรับคำตอบฉันเปลี่ยนไปใช้ Ubuntu ในท้ายที่สุด (ซึ่งง่ายกว่าเพราะฉันสามารถเข้าถึงเพื่อนที่ใช้งานได้)
Matthieu M.

1
อ๋อแค่อยากจะพยายามช่วยชาว Google ทุกคนในอนาคต
twblamer

และฉันขอขอบคุณที่ทำเช่นนี้มีช่วงเวลาที่ยากลำบากมากในการหาวิธีแก้ปัญหาเมื่อฉันลองทำ :)
Matthieu M.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.