Virtualbox: Gắn thư mục dùng chung trong Guest FreeBSD từ Host Ubuntu


9

Tôi có Ubuntu 12.10 là Hệ điều hành máy chủ và FreeBSD 9 là Hệ điều hành khách trong Virtualbox 4.1.18. Tôi đã cài đặt Samba trong cả Ubuntu và FreeBSD và chia sẻ một vài thư mục từ hộp ảo, cũng đánh dấu automounttùy chọn.

Tôi cũng đã thực hiện right click and sharetrong Ubuntu. Nhưng khi tôi cố gắng gắn kết FreeBSD bằng cách sử dụng

mount -t vboxfs sharedfolder /home/user/shared`

Nó nói sharedfolderhoạt động không được phép. Tôi cũng đã sử dụng

mount_smbfs //10.0.0.2/sharedfolder /home/user/shared

nhưng tôi hiểu can't get server address

Làm cách nào để chia sẻ thư mục / tệp giữa Host Ubuntu và Guest FreeBSD từ hộp ảo?


Bạn có bất kỳ lý do cho việc không sử dụng NFS?
peterph

1
NFS ??? Làm thế nào để ? hoặc nó được cài đặt theo mặc định?

2
Hệ thống tệp mạng nên được cài đặt theo mặc định và nếu không, bạn có thể cài đặt nó như bất kỳ gói nào khác. Đây là hệ thống tệp mạng nổi bật nhất cho Unices.
peterph 18/03/13

BTW, rất có thể có sharedfolder: Operation not permittednghĩa là chỉ root mới có thể làm điều đó.
Sứ đồ

"Thư mục dùng chung cho khách FreeBSD chưa được hỗ trợ" - xem câu trả lời của tôi bên dưới
Alexander Pozdneev

Câu trả lời:


4

Samba

Có thể gắn thư mục FreeBSD được chia sẻ hoặc thư mục Ubuntu được chia sẻ với samba. Cả hai cách làm việc. Trong trường hợp bạn cần định cấu hình thư mục chia sẻ (bạn đã đề cập rằng bạn đã sử dụng GUI GUI để làm điều đó) và sau đó trên máy khác, bạn cần gắn chia sẻ bằng IP chính xác và đảm bảo rằng cả Khách và Máy chủ đều giống nhau mạng hoặc sử dụng chuyển tiếp cổng trong trường hợp bạn đã cấu hình NAT.

Bởi vì có quá nhiều giải pháp, tôi sẽ không liệt kê tất cả chúng ở đây. Vui lòng cung cấp thêm thông tin về cấu hình mạng của Hệ điều hành khách của bạn? Bạn đã sử dụng cài đặt nào khi tạo VM? Bạn có sử dụng NAT, Bridge, chỉ lưu trữ hoặc Mạng nội bộ không? Tôi sẽ cung cấp cho bạn một ví dụ giả định rằng khách của bạn có thể xem trên mạng máy chủ của bạn (ví dụ: bạn có một thẻ mạng được xác định là chỉ lưu trữ).

Đầu tiên hãy chia sẻ một thư mục mạng trên Ubuntu như bạn đã làm. Đảm bảo tạo tài khoản người dùng trong Samba trên máy chủ Ubuntu hoặc có thể truy cập khách (ví dụ: sudo smbpasswd -a <username>để cấp quyền truy cập cho người dùng, thay thế bằng tên người dùng.

Sau đó, trên FreeBSD, gắn kết chia sẻ Ubuntu bằng cách sử dụng đúng địa chỉ IP (10.0.0.2 có thể là địa chỉ cho "bộ định tuyến" NAT của bạn được tạo bởi VirtualBox và do đó có thể nó sẽ không hoạt động), ví dụ: sử dụng địa chỉ IP Ubuntu trên mạng LAN của bạn (ví dụ 192.168.1.x) hoặc mạng LAN được xác định cho giao diện chỉ lưu trữ. Sau đó, mount_smbfslệnh của bạn sẽ thành công:

mount_smbfs -U <username> //<correct IP>/sharedfolder /home/user/shared

vboxsf

Khi vboxsf được FreeBSD hỗ trợ (cảm ơn Alexander đã chỉ ra điều đó) và nếu bạn muốn sử dụng cơ chế chia sẻ tích hợp VirtualBox với vboxsf, bạn cần cài đặt Guest Additions trong Guest OS (một số FreeBSD trong trường hợp của bạn). Thường này được thực hiện thông qua menu VirtualBox dưới Devices , có một phím tắt để cài đặt Guest Additions ... .

Tuy nhiên, đối với FreeBSD bạn phải làm điều đó khác đi. Họ có một tài liệu chuyên dụng cho việc này:

Khi cài đặt bổ sung khách, bạn có thể sử dụng mountlệnh với vboxsfhệ thống tệp. Bạn cần tuy nhiên để chia sẻ một thư mục sử dụng VirtualBox cơ chế thư mục chia sẻ, xem dưới VirtualBox của Devices menu item Share Folders ... . Lưu ý rằng tên bạn sẽ đặt cho chia sẻ trong menu này sẽ là tên của "thiết bị" bạn đặt để gắn kết.


Tôi sử dụng NAT, mạng mặc định cho GuestOS. Tôi đã cố gắng với mount vboxsfthậm chí với su, nhưng không có may mắn. Tôi đã chia sẻ thư mục theo cơ chế VirtualBox chia sẻ, settingsShared Foldersvà đưa tên sharedfolderscho những người mà tôi muốn chia sẻ. Tôi cũng đã sử dụng automounttùy chọn có sẵn trong khi chia sẻ bằng hộp ảo.

@JhilkeDai Như tôi đã nói, bạn chỉ có thể sử dụng vboxsfShared Foldernếu bạn đã cài đặt Bổ sung khách bên trong Hệ điều hành khách, tôi đã cung cấp cho bạn một vài liên kết. Bạn đã cài đặt chúng? Đối với Samba, hãy thử sử dụng chế độ "Cầu", chia sẻ thư mục trên Máy chủ (Ubuntu) và thử truy cập nó từ Khách (FreeBSD) bằng cách sử dụng smbclient -L <ubuntu hostname>.
Huygens

vâng, Guest Additions là mánh khóe trong GuestOS, tôi không bao giờ đoán nó có thể như vậy, tôi cũng không hiểu nó hoạt động như thế nào. Nhưng nó hoạt động: D

1
Thêm các Bổ sung khách cũng giống như thêm một bộ trình điều khiển mới vào máy ảo Khách của bạn. Đối với một sự tương tự trong môi trường không ảo, nó giống như cài đặt một card đồ họa mà không có trình điều khiển, bạn không có quyền truy cập vào tất cả các khả năng. Khi bạn cài đặt trình điều khiển, bạn có thể nhận được tất cả các tính năng vì HĐH biết về chúng và đề nghị sử dụng chúng cho người dùng.
Huygens

1
Xin lỗi vì đã khắc nghiệt, tôi đã bị cắn rất tệ sau khi tin tưởng câu trả lời và dành nhiều thời gian cố gắng sử dụng nó cho đến khi đọc câu trả lời khác.
Abel Cheung

10

Như đã chỉ ra ở một chủ đề khác ,

Thư mục được chia sẻ cho khách FreeBSD chưa được hỗ trợ [...] Có một số mã dự thảo và mô-đun hạt nhân cho nó nhưng nó chưa hoạt động.

Đó là vào ngày 24 tháng 6 năm 2014.


2

Có một cổng có sẵn trên github:

https://github.com/lwhsu/freebsd-vboxfs

Nó được thử nghiệm để làm việc thành công trên FreeBSD 11.0-RELEASE-p1.


1
Nói "không hoạt động đầy đủ" trên GitHub. Và đã không được cập nhật kể từ ngày 11 tháng 1 - một ngày sau khi bạn đăng câu trả lời của mình :)
Mikhail T.

0

Kể từ hôm nay (2020-05), tất cả các cách để gắn kết các thư mục máy chủ bằng cách sử dụng vboxvfs gốc chính thức hoạt động:

mount_vboxvfs -w myshare /mnt
mount -t vboxvfs myshare /mnt

Vấn đề duy nhất ở đây là kết quả rất không ổn định (máy chủ được sử dụng là FreeBSD 12). Tôi đã thử các kết hợp khác nhau của các phiên bản HĐH khách (FreeBSD 11 và 12), lưu trữ cờ bộ đệm I \ O trong cài đặt bộ điều khiển, cờ gắn kết chỉ đọc, v.v. - không có gì mang lại công việc ổn định. Các tệp xuất hiện \ biến mất, bạn sẽ thấy tất cả các loại trục trặc như ví dụ thư mục hoạt động như một tệp, v.v. Tôi cũng có nhiều sự hoảng loạn hạt nhân trong hệ điều hành khách.

Vì vậy, cách hợp lệ duy nhất để chia sẻ thư mục từ hệ điều hành máy chủ đến "FreeBSD Guest" là sử dụng NFS. Điều này thực sự tuyệt vời, không có vấn đề cho đến nay.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.