Udostępnianie folderu z hosta Windows do Freebsd Guest

10

Co próbuję osiągnąć:

  • Mam (w domu) komputer z zainstalowanym systemem Windows 7
  • Chciałbym uruchomić Unixa w Virtual Box, ponieważ jestem bardziej przyzwyczajony do programowania / skryptowania na nim

W tej chwili zdecydowałem się na Freebsd, udało mi się go zainstalować i skonfigurować sieć. Następnym krokiem jest udostępnienie folderu z systemu Windows do Freebsd, dzięki czemu mogę łatwo edytować pliki w systemie Windows i Freebsd. Niestety wydaje się, że należy to zrobić.

Szperałem w sieci i znalazłem dwa różne sposoby:

Mam zainstalowane dodatki gościnnych we FreeBSD przy użyciu pkg_add -r virtualbox-ose-additions, w instalacji przebiegała na tyle switfly, a ja edytowany /etc/rc.confdodać dwie sugerowane linie: vboxguest_enable="YES"a vboxservice_enable="YES"i ponownie uruchomiony.

To nie działało. Polecenie zamontowania systemu kończy się błędem:

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

gdzie sharedjest nazwa folderu, który konfiguruję w ustawieniach mojego wirtualnego pudełka dla tej maszyny wirtualnej.

Czy rzeczywiście jest możliwe użycie vboxsftypu systemu plików we Freebsd? Niektóre komentarze sugerują, że nie jest on obsługiwany, ale znalezienie aktualnych informacji jest trudne.

Następnie przeszedłem do podejścia samby. Zasadniczo postępowałem zgodnie z przewodnikiem, który połączyłem. Niestety kończy się to:

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

gdzie Sharedjest nazwa udostępnionego folderu, który skonfigurowałem w systemie Windows, winuseroczywiście dostępny. Ping działa.

Chciałbym zauważyć, że nie mam hasła do konta gościa Windows, z którym próbuję się połączyć, wydawało się to łatwiejsze, ale być może to w jakiś sposób przeszkadza sambie.

edycja: pracując z PuTTY Nie widziałem, aby niektóre wiadomości były drukowane w konsoli:

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

oba pojawiają się kilka razy. / koniec edycji

Jeśli bezpośrednie udostępnianie systemu plików nie działa, jest jakiś pomysł, jak sprawić, by samba to zrobiła? Artykuł sugeruje, że przynajmniej niektórzy już to zrobili.

Specyfikacja:

  • Host: Windows 7 Familial Edition (aktualny)
  • Gość: FreeBSD 9.0-RELEASE # 0: Wt 3 stycznia 07:15:25 UTC 2012 [email protected]: / usr / obj / usr / src / sys / GENERIC i386
  • Virtual Box: 4.1.16 r78094

Jestem również otwarty na nowe sugestie dotyczące udostępniania. Wolałbym, jeśli to możliwe, unikać przesyłania plików tam iz powrotem: nie jest to szczególnie wydajne i zawsze jest źródłem mylących błędów.

Jestem również otwarty na zmieniające się systemy. Podoba mi się filozofia freebsd, ale jeśli to nie działa, nie mam żadnych skrupułów, by przejść na system Linux.

EDYCJA :

To pytanie ma teraz wyłącznie teoretyczne znaczenie. Przejdę na używanie Ubuntu Server i udało mi się go skonfigurować bez samby, ponieważ vboxsf jest dobrze obsługiwany.

Matthieu M.
źródło
Czy wypróbowałeś program smbclient z pakietu samba?
wykonano
@arved: nie, nie zrobiłem tego. Czy można skonfigurować automatyczne montowanie za pośrednictwem klienta smb? (Idealnie wolałbym nie samby, ale hej, jeśli potrzeba samby do pracy ...)
Matthieu M.
Nie sądzę, że można zamontować. Ale przynajmniej możesz sprawdzić, czy nie ma błędnej konfiguracji w
usłudze

Odpowiedzi:

5

Foldery współdzielone VirtualBox nadal nie są obsługiwane w FreeBSD.

Osoba odpowiedzialna za porty FreeBSD potwierdziła to na listach mailowych FreeBSD od (2014-06-24):

Foldery współdzielone dla gości FreeBSD nie są jeszcze obsługiwane [...] Jest tam trochę wersji roboczej kodu i moduł jądra, ale jeszcze nie działa.

Jeśli chcesz śledzić stan portu, przeszukaj listy adresowe. Istnieje również #freebsd-vboxkanał IRC na Freenode. Został opublikowany na liście mailingowej freebsd-hackers na dole tego postu . Znajdziesz tam programistów.

Na koniec, oto co virtualbox-ose-additionsport obsługuje obecnie zgodnie z Rozdziałem 22.2 Podręcznika FreeBSD na dzień dzisiejszy:

Dodatki dla gości VirtualBox ™ zapewniają wsparcie dla:

  • Udostępnianie schowka.
  • Integracja wskaźnika myszy.
  • Synchronizacja czasu hosta.
  • Skalowanie okna
  • Tryb bezproblemowy.

Jak widać, nie ma jeszcze obsługi folderów współdzielonych dla FreeBSD.

Rozdział 4.3 instrukcji VirtualBox stwierdza:

Foldery współdzielone są obsługiwane przez gości Windows (2000 lub nowszy), Linux i Solaris.

Po raz kolejny nie ma FreeBSD. Na razie używaj udziałów SMB, postępując zgodnie z instrukcjami, o których wspominali inni.

Francis Harbison
źródło
4

Upewnij się, że skonfigurowałeś udostępnianie w folderze Windows użytkownikowi, którego chcesz używać do udostępniania na freebsd.

Chciałbym dodać następujące do / etc / hosts dla łatwości użycia.

<ip address of server>  vboxhost
eg.
192.168.56.1    vboxhost

Pierwszy test montażu folderu:

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

Jeśli jest to poprawne, pojawi się monit o podanie hasła użytkownika systemu Windows.

Aby zamontować go podczas rozruchu, dodaj do / etc / fstab

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

Powinien być montowany przy każdym uruchomieniu

Jeśli nie chcesz otrzymywać monitów o podanie hasła, dodaj to w /etc/nsmb.conf:

[default]
[NAMEOFWINDOWSBOX]              
addr=<ip address of host>
[NAMEOFWINDOWSBOX:USERNAME]
password=<myPassword>
Pete
źródło
Cześć Pete. Dzięki za odpowiedź. Właściwie zmieniłem ramiona i wybrałem Ubuntu Server, ponieważ wolałem rozwiązanie inne niż samba, a FreeBSD nie obsługuje jeszcze vboxfs.
Matthieu M.,
1
Nie musisz instalować samby dla powyższego rozwiązania, które działa z domyślnej instalacji FreeBSD.
Pete,
Polecam dać freebsd jeszcze raz, jeśli masz czas, ponieważ uważam, że jego funkcja więzienia jest bardzo przydatna do celów programistycznych. W tej chwili mam 5 więzień: www (apache22 + php53), www (apache22 + php54), MySQL, PostgreSQL, serwer e-mail. Znalazłem to bezcenne pod względem testowania różnych wersji php i baz danych
Pete,
Ponadto, ponieważ FreeBSD ma domyślnie wiele terminali alt + f1 -> alt + f8, co oznacza, że ​​jeśli korzystasz z więzień, możesz je budować równolegle, oszczędzając czas podczas używania systemu portów. Heck, możesz nawet skonfigurować więzienie tylko po to, aby zbudować oprogramowanie. Używam Qjail.
Pete,
Cóż, moim celem było włamanie się do Clang / LLVM, więc nie mam nic przeciwko.
Matthieu M.,
1

Walczyłem z tym samym problemem. Kilka rzeczy po stronie Windows pozwoliło mi w końcu uzyskać działanie mount_smbfs we FreeBSD 9.0:

  • Włącz anonimowy dostęp do systemu

Centrum sieci i udostępniania → Zmień zaawansowane ustawienia udostępniania → Wyłącz udostępnianie chronione hasłem

  • Włącz anonimowy dostęp do folderu za pomocą prostego udostępniania

Właściwości → Udostępnianie → Udostępnij ... → Dodaj „Wszyscy”

We właściwościach udostępniania istnieją dwa sposoby utworzenia udziału; Proste udostępnianie i zaawansowane udostępnianie. Korzystałem z Advanced Sharing i z jakiegoś powodu tak naprawdę nie dbam o to, że to nie działało; Ponownie dodałem udział poprzez Simple Sharing, a następnie mount / smbclient w końcu działało.

Sprawdzanie, czy anonimowe logowanie działa z 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
twblamer
źródło
Dzięki za odpowiedź, ostatecznie przerzuciłem się na Ubuntu (co było łatwiejsze, ponieważ miałem dostęp do znajomego, który z niej korzystał).
Matthieu M.
1
Tak, chciałem tylko pomóc przyszłym pracownikom Google.
twblamer
I dziękuję wam za to, że miałem bardzo trudności ze znalezieniem rozwiązania, gdy próbowałem :)
Matthieu M.