Tworzyłem nowe środowisko programistyczne przy użyciu VirtualBox, dzięki czemu mogę wykonywać piaskowanie moich usług i ich własnych maszyn wirtualnych. Jest to maszyna wirtualna oparta na Ubuntu, która ładuje się jako bezgłowa instancja, do której SSH wchodzę z komputera głównego.
Chciałbym przechowywać wszystkie moje pliki projektu na komputerze hosta, a następnie udostępniać je maszynie wirtualnej gościa. Mogę to łatwo zrobić za pomocą następującego polecenia:
sudo mount -t vboxsf <name> <target_path>
To działa doskonale. Jednak jest to trochę trudne, aby uruchamiać to polecenie za każdym razem, gdy uruchamiam maszynę wirtualną. Oznacza to, że muszę go uruchomić, ssh in, wykonać komendę i zrestartować różne usługi, które wymagają dostępu do danych przechowywanych na komputerze hosta (postgresql, apache, mongo itp.).
Doszedłem do wniosku, że użycie fstab
najlepszej trasy byłoby najlepsze, więc dodałem następujący wpis do listy:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
HostWWW /home/wilhelm/www vboxsf
Łatwo, prawda? Cóż, zapisuję i wychodzę, restartuję maszynę wirtualną, wracam do SSH, przechodzę do punktu montowania udostępnionego folderu i jest on nadal pusty. Robię szybko ls -lsa
i nic nie dostaję. Dlatego uruchamiam następującą komendę, aby sprawdzić, czy rzeczywiście została zamontowana:
mount -v
i widzę następujący wiersz w wynikowej liście punktów montowania:
HostWWW on /home/wilhelm/www type vboxsf (rw)
Teraz popraw mnie, jeśli się mylę, ale powinno mi to powiedzieć, że został zamontowany z dostępem do odczytu / zapisu. Teraz, jeśli ponownie zamontuję udział z tym samym poleceniem, co powyżej, wszystko działa dobrze.
Nie jestem pewien, co tu źle robię; jak mogę to naprawić?