วิธีการเมาท์โฟลเดอร์ที่ใช้ร่วมกันของ VirtualBox เมื่อเริ่มต้น


87

ฉันติดตั้ง Ubuntu ใน Virtualbox แล้ว ฉันต้องการติดตั้งโฟลเดอร์ที่ใช้ร่วมกัน VirtualBox ของฉันใน Ubuntu โดยอัตโนมัติเมื่อฉันลงชื่อเข้าใช้ Ubuntu ฉันใส่บรรทัดต่อไปนี้ใน ~. / bashrc และ ~ / .bash_profile:

sudo mount -t vboxsf windows_share /media/windows_share

โดยที่ windows_share เป็นชื่อที่ฉันสร้างขึ้นด้วย Virtualbox แต่ทุกครั้งที่ฉันเริ่ม Ubuntu ฉันจะถาม passwd เพราะต้องการ sudo มีวิธีใดบ้างที่จะเมานต์ Windows แชร์โดยอัตโนมัติโดยไม่ต้องป้อนรหัสผ่านทุกครั้งที่ฉันเข้าสู่ระบบ?

คำตอบ:


109

ในการติดตั้ง "โฟลเดอร์ที่ใช้ร่วมกัน" ในกล่องเสมือนในการบูทแขกอูบุนตูเรามีสองตัวเลือก มันขึ้นอยู่กับความชอบส่วนตัวซึ่งตัวเลือกทำงานได้ดีที่สุดในการตั้งค่าของเรา

1. เมานต์ด้วย fstab

ในการเมานต์โฟลเดอร์แชร์โดยใช้vboxsfระบบไฟล์ที่จัดมาให้กับGuest Additionsก่อนอื่นเราต้องตรวจสอบให้แน่ใจก่อนว่ามีคุณสมบัติครบถ้วน จากนั้นเราอาจใส่บรรทัดต่อไปนี้ในetc/fstabไฟล์ของเรา:

<name_of_share>   /path/to/mountpoint   vboxsf   <options>  0   0

แทนที่name_of_shareและ/path/to/mountpointด้วยการตั้งค่าส่วนบุคคลของคุณ (ต้องสร้างไดเรกทอรีสำหรับจุดเมานต์ก่อน) ดู manpage สำหรับการเมาน<options>ต์ ความเป็นไปได้อย่างหนึ่งคือเมานdefaultsต์หรือให้ตัวเลือกการเมานท์เฉพาะ (เช่นrw, suid, exec, auto, users)

ในบางระบบvboxsfโมดูลเคอร์เนลยังไม่ได้โหลดในเวลาที่fstabอ่านในการบูต แล้วมันอาจช่วยให้ผนวกเคอร์เนลโมดูลไป vboxsf/etc/modules

ระบบบางระบบอาจต้องการตัวเลือกcomment=systemd.automountในรายการ fstab (ที่มา )

2. เมาท์กับกล่องเสมือน "การติดตั้งอัตโนมัติ":

ใน Virtual Box รุ่นล่าสุดเราสามารถติดตั้งโฟลเดอร์ที่แชร์ไว้โดยอัตโนมัติเมื่อสร้าง:

ป้อนคำอธิบายรูปภาพที่นี่

หลังจากรีบูตของผู้เข้าพักโฟลเดอร์ที่ใช้ร่วมกันนี้จะถูกติดตั้งไปยังไดเรกทอรีของผู้เข้าพักสามารถเข้าถึงผู้ใช้ทุกคนที่ได้รับการทำสมาชิกของกลุ่ม/media/<username>/sf_<name_of_share>vboxsf


1
คุณจะเปลี่ยนคำสั่ง mount และคำนำหน้า mount ได้อย่างไร? คุณรันคำสั่งเทอร์มินัลบางคำสั่งใน HOST OS หรือ GUEST OS หรือไม่
CMCDragonkai

12
คุณลักษณะนี้ต้องการให้บริการ "virtualbox-guest-utils" ได้เริ่มขึ้นแล้วและใน Ubuntu 14.04 บริการนี้จะเริ่มช้ากว่าระบบไฟล์ที่ติดตั้ง นี่คือสาเหตุของข้อผิดพลาด "ไม่พบอุปกรณ์" เมื่อทำการติดตั้งการแชร์ผ่าน fstab
kolypto

1
@garromark ความคิดเดียวของฉันคือการสร้างสคริปต์พุ่งพรวดซึ่งค่อนข้างง่าย ตัวเลือกอื่นคือการใส่รายการ fstab เดียวกัน แต่เพิ่ม "noauto" เพื่อให้คุณเพียงแค่ติดตั้งด้วยตนเอง
kolypto

4
@ kolypto ขอบคุณที่กลับมาหาฉัน จริง ๆ แล้วฉันพบโซลูชันการแข่งขันสองรายการซึ่งวิธีเดียวที่ใช้ได้สำหรับฉัน: ตัวเลือก 1) (ใช้งานได้สำหรับฉัน) คือตามที่คุณกล่าวไว้noautoในการใส่ตัวเลือก fstab และจากนั้นจะเมาในภายหลังโดยทั่วไปในสคริปต์เริ่มต้น (เช่น โปรไฟล์) ตัวเลือกที่ 2) ปัญหาหลักคือว่า vboxsf ไม่ได้โหลดก่อนที่ fstab จะทำงานต่อท้ายvboxsfไฟล์/etc/modulesขอให้ kernal โหลดโมดูลก่อนที่จะ fstab ทำงาน บางทีนี่อาจช่วยคนอื่นได้
garromark

6
โปรดอย่าลืมเพิ่มผู้ใช้ของคุณในกลุ่ม vboxsf คุณอาจอ้างถึงaskubuntu.com/questions/79565/add-user-to-existing-group
chinloong

26
  1. แก้ไข /etc/rc.local

    sudo -H gedit /etc/rc.local
    
  2. ก่อนexit 0พิมพ์:

    mount.vboxsf windows_share /media/windows_share vboxsf
    
  3. บันทึก

  4. (ไม่บังคับ)สร้างทางลัดไปยังเดสก์ท็อปหรือโฮมโฟลเดอร์:

    ln -s /media/windows_share /home/freddy/Desktop
    

ในการบูตโดยไม่มีข้อผิดพลาดเช่นการกดSเพื่อข้ามการเมานต์หรือกดMเพื่อซ่อมแซมด้วยตนเองคุณอาจต้องลบรายการของคุณfstab


4
นี่เป็นวิธีเดียวที่ฉันพบว่าทำงานลองใช้ RC.Local ด้วยคำสั่ง mount ปกติลอง FSTAB ลอง Crontab ด้วยสคริปต์ ขอบคุณมาก !!
FreeSoftwareServers

2
สิ่งนี้ก็ใช้ได้สำหรับฉันด้วย (ตรงข้ามกับคำตอบที่ยอมรับไม่แน่ใจว่าทำไม) ขอบคุณมากจากฉัน! :)
display-name-is-missing

4
ทำงานให้ฉัน ฉันแก้ไขด้วยนี้/etc/rc.local mount -t vboxsf [-o OPTIONS] sharename mountpoint
neurite

1
เพื่อประโยชน์ในการขัดแย้งและสะท้อนถึงกรณี virtualbox: ฉันเคยทำเมื่อเริ่มต้นsudo mount -t vboxsf -o uid=$UID,gid=$(id -g) windows_share ~/shared/mount_pointและจบลงด้วยการวางต่อไปนี้ใน /etc/rc.local เพื่อให้มันทำงาน: mount -t vboxsf windows_share /home/dev/shared/mount_pointที่ dev เป็นผู้ใช้ของฉัน FYI / etc / fstab ยังใช้งานได้!
MediaVince

1
คำตอบของคุณได้ผลสำหรับฉัน แต่ไดเร็กตอรี่นั้นถูกเมาท์ ผมเปลี่ยนmountคำสั่งในrc.localสคริปต์ที่จะรวมถึงผู้ใช้ของฉัน ID ( ):2000 mount.vboxsf -o rw,uid=1000 /home/mwittie/Dropbox Dropbox vboxsfป.ล. หากใครกำลังมองหาการสอนเกี่ยวกับวิธีการเปิดrc.localบน Ubuntu 17.04 สิ่งนี้ได้ผลสำหรับฉัน PPS ฉันไม่จำเป็นต้องรวม vboxsf /etc/modulesด้วย
Mike Wittie

5

หลังจากช่วงเช้าที่เหนื่อยล้าจากการพยายามทั้งหมดข้างต้นใน Ubutntu 16.04 ทำงานใน Virtualbox 5.0.20 ไม่สำเร็จ (โดยเฉพาะอย่างยิ่งผิดหวังที่โซลูชัน rc.local ไม่ทำงาน) มันทำงานโดย:

  1. การลงทะเบียนจากเมนูโฟลเดอร์ที่ใช้ร่วมกันของ Virtualbox GUI ในไดเรกทอรีที่ต้องการ แต่ไม่ได้ติดตั้งอัตโนมัติหรือติดตั้งถาวรจาก Virtualbox ไม่เช่นนั้นโฮสต์ dir จะถูกเมาท์ด้วยรูทและมันเป็นความเจ็บปวดในการเข้าถึงโดยผู้ใช้ที่ไม่ใช่รูทแม้แต่จากกลุ่มผู้ดูแลระบบ

  2. เพิ่มรายการง่าย ๆ ใน fstab:

    [VirtuablBoxNameOfMount] /media/[guestOSuser]/[mountSubdir]    vboxsf   rw, noauto   0     1
    

    noautoตัวเลือกหมายเหตุ- มิฉะนั้นบูตโหลดเดอร์จะล้มเหลวตามที่ได้บันทึกไว้

  3. เพิ่มบรรทัดที่เกี่ยวข้องให้/etc/sudoersดังต่อไปนี้โดยใช้คำสั่ง visudo จากภายใน OS แขก:

    ALL ALL = NOPASSWD: /bin/mount /media/[guestOSuser]/[mountSubdir]/
    

สิ่งนี้จะทำให้กระบวนการที่ไม่ใช่รูทสามารถเมานต์นี้ได้เป็นพิเศษ (เนื่องจาก fstab ไม่สามารถเมานต์ด้วยตัวเลือก 'ผู้ใช้' ...

  1. เพิ่มบรรทัดที่สอดคล้องกับ. profile ของผู้ใช้:

    sudo mount /media/[guestOSuser]/[mountSubdir]/
    

ตอนนี้โฮสต์ย่อยที่เลือกจะถูกเมาท์สำหรับผู้ใช้ที่เลือกเมื่อทำการล็อกอิน!


คุณเคยพบวิธีแก้ปัญหาสำหรับnoauto?
Jörgen Sigvardsson

นี่เป็นทางออกเดียวที่ได้ผลสำหรับฉัน แต่นอกจากนี้ฉันยังต้องเพิ่ม "vboxsf" ลงใน / etc / modules เพื่อให้แน่ใจว่า. profile ไม่ได้รันคำสั่ง mount ก่อนที่ vboxsf จะพร้อมใช้งาน
huyz

แทนที่จะใช้ sudo ให้เพิ่ม 'user' ไปยังตัวเลือก fstab และผู้ใช้ทุกคนสามารถเมานต์ระบบไฟล์ได้
Lars Nordin

ดูpclosmag.com/html/issues/200709/page07.htmlสำหรับข้อมูลเกี่ยวกับการอัพเดต fstab ความคิดเห็นที่นี่มีประโยชน์เพียงบางส่วนเท่านั้น คอลัมน์ที่สี่ใน fstab เป็นรายการของตัวเลือกที่เพิ่มผู้ใช้ (uid = xxx) ในรายการนั้นเช่น noauto, uid = 1000, gid = 1000
qodeninja

มีช่องว่างระหว่าง rw, noauto ซึ่งส่งผลให้เกิดข้อผิดพลาดในการแยกวิเคราะห์ ตัวอย่างว่างเปล่าสำหรับฉัน
weberjn

4

สำหรับระบบที่ใหม่กว่าsystemdคุณจำเป็นต้องมีวิธีการทางเลือก - วิธีที่ง่ายที่สุดที่กล่าวถึงในคำตอบสำหรับคำถามอื่น - ซึ่งโดยทั่วไปบอกว่าคุณต้องเพิ่มcommentตัวเลือกพิเศษให้กับ/etc/fstabรายการ:

src     /my_mount/src_host  vboxsf  auto,rw,comment=systemd.automount 0 0

อย่างไรก็ตามสำหรับการทำงานด้านบนในบางระบบคุณจำเป็นต้องทำเครื่องหมายที่ช่อง 'Auto-mount' ใน VirtualBox's Shared Folders-> Add dialogue ซึ่งหมายความว่าคุณสามารถจบด้วยการเมาท์ซ้ำของไดเรกทอรี

สำหรับทำความสะอาดติด - ไม่ซ้ำกันไดเรกทอรีหรือความจำเป็นในการ 'Auto-mount' - คุณต้องใช้ systemd ของภูเขาและautomountสั่ง โดยสร้างสองรายการใน/usr/lib/systemd/system/ชื่อหลังจากจุดเมานท์ที่คุณต้องการเช่นเพื่อให้ตรงกับจุดเมานต์ fstab ด้านบนพวกเขาจะตั้งชื่อmy_mount-src_host.mountและมี:

[Unit]
Description=VirtualBox shared "src" folder

[Mount]
What=src
Where=/my_mount/src_host 
Type=vboxsf
Options=defaults,noauto,uid=1000,gid=1000

และmy_mount-src_host.automount:

[Unit]
Description=Auto mount shared "src" folder

[Automount]
Where=/my_mount/src_host
DirectoryMode=0775

[Install]
WantedBy=multi-user.target

จากนั้นพวกเขาจำเป็นต้องเปิดใช้งาน:

sudo systemctl enable  my_mount-src_host.automount
sudo systemctl enable  my_mount-src_host.mount

ตอนนี้พวกเขาจะติดตั้งในการบูต หากคุณต้องการเมานท์ทันที (หากมีการสร้างโฟลเดอร์แชร์) คุณสามารถทำได้:

sudo systemctl start  my_mount-src_host.mount

หมายเหตุหากคุณมีไดเรกทอรีที่มีชื่อแปลก ๆ หรือขีดคั่น (-) อยู่ในไดเรกทอรีให้ใช้systemd-escapeเพื่อค้นหาชื่อที่มีการหลีกเลี่ยงอย่างเหมาะสม


บน Ubuntu 18.04 โซลูชันแรกของคุณที่มีcomment=systemd.automountตัวเลือกใช้งานได้โดยไม่ต้องตรวจสอบ Automount VBox ฉันพยายามหลายวันก่อนหาวิธีแก้ปัญหาของคุณขอบคุณ!
HubertL

ดีใจที่ได้ยิน - ฉันได้อัปเดตคำตอบของฉันเพื่อสะท้อนการค้นหาของคุณ
Pierz

อันนี้ใช้ได้กับ Debian 9 ส่วนอีกอันไม่ได้
cslotty

3

ฉันลองใช้วิธีแก้ปัญหา rc.local แต่ไม่สามารถใช้งานได้
อย่างไรก็ตามฉันค้นพบปัญหาดูเหมือนว่าจะเกี่ยวข้องกับโฟลเดอร์ที่คุณเรียกใช้คำสั่งจาก (ไม่รู้ว่าทำไม) ดังนั้นฉันจึงเพิ่มบรรทัดเพื่อเปลี่ยนไดเรกทอรีไปยังโฟลเดอร์บ้านของฉันก่อนคำสั่ง mount และตอนนี้ก็ใช้งานได้

ดังนั้น windows ที่ใช้ร่วมกันDropboxของฉันถูกเรียกใช้จุดเมาน/home/jamie/Dropboxต์ของฉันคือชื่อผู้ใช้ของฉันjamieนี่คือสิ่งที่ฉันใส่ใน rc.local:

cd /home/jamie
mount.vboxsf /home/jamie/Dropbox Dropbox vboxsf
exit 0

ยอดเยี่ยม! ขอบคุณ หลังจากที่ต้องดิ้นรนกับวิธีแก้ปัญหาอื่น ๆ นี่เป็นครั้งแรก
Norbert Norbertson

ฉันต้องเพิ่มsleep 2ก่อนติดตั้งอุปกรณ์
Adriano P

2

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

#!/bin/bash
#
# Mount automatically even shared folder on startup and unmount it at shutdown.
#
# VirtualBox (c) 2015 by Oracle Systems Inc.
#
####

# Check user privileges.
if [[ $EUID -ne 0 ]]; then
    echo -e "This script must run at ROOT user!" \
        "\nPlease, use 'sudo', 'visudo' or any other to run it."
    exit 1
fi

# Check paramas from caller.
if [[ $# -eq 0 ]]; then
    echo -e "Auto-Mount selected shared folder of VirtualBox machine." \
        "\nUsage:" \
        "\n    VBoxShared <drive_one> <drive_two> <...>"
    exit 2
fi

declare EVENT=          # This set the ACTION: -m OR -u
declare -a DRIVES=()

# Processing each param:
for arg in "$@"; do
    case "$arg" in
        "-m"|"--mount")
            if [[ -z ${EVENT} ]]; then
                EVENT=-m
            else
                exit 318        # parameters at conflict!
            fi
            ;;

        "-u"|"--umount")
            if [[ -z ${EVENT} ]]; then
                EVENT=-u
            else
                exit 318        # parameters at conflict!
            fi
            ;;

        *)
            DRIVES=("${DRIVES[@]}" "${arg}")
            ;;
    esac
done
unset arg

[[ -z ${EVENT} ]] && exit 1             # ERROR: No se ha establecido la acción a realizar.
[[ "${#DRIVES[@]}" -gt 0 ]] || exit 1   # ERROR: No se han indicado las unidades a manejar.

# Process each shared folder stored on '${DRIVES}' array
for drive in "${DRIVES[@]}"; do
    DEST="/media/sf_${drive}"

    case "${EVENT}" in
        "-m")
            [[ -d ${DEST} ]] || (mkdir ${DEST} && chown root:vboxsf ${DEST} && chmod 770 ${DEST})
            mount -t vboxsf ${drive} ${DEST}
            ;;

        "-u")
            if [[ `df --output=target | grep "${DEST}"` > /dev/null ]]; then
                umount -f ${DEST}
                rm -rf "${DEST}"
            fi
            ;;
    esac
    unset DEST
done
unset drive

unset EVENT
unset DRIVES
exit 0

/opt/.scripts/VBoxShared.shบันทึกเป็น

ตรวจสอบให้แน่ใจว่าสามารถดำเนินการได้ บนประเภทเชลล์:

sudo chmod a+x /opt/.scripts/VBoxShared.sh

ตอนนี้เราเพิ่มบรรทัดที่รันสคริปต์นี้บนrc.local:

sudo nano /etc/rc.local

และเราเพิ่มบรรทัดเหล่านี้ก่อนบรรทัดสุดท้าย ( exit 0):

. /opt/.scripts/VBoxShared.sh --mount <SharedFolder1> [<SharedFolder2> <SharedFolder3> ...]

บันทึก ( CtrlO) และปิด ( CtrlX)

ณ จุดนี้เราจะเมานต์โฟลเดอร์แชร์ทั้งหมดโดยอัตโนมัติเมื่อ<SharedFolder>เริ่มต้น

สำหรับ unmount มันเราต้องการเพียงประเภท:

sudo nano /etc/rc6.d/K99-vboxsf-umount.sh

#!/bin/bash

. /opt/.scripts/VBoxShared --umount <SharedFolder1> [<SharedFolder2> <SharedFolder3> ...]

exit 0

บันทึก ( CtrlO) และปิด ( CtrlX)

sudo chmod a+x /etc/rc6.d/K99-vboxsf-auto.sh

และนั่นคือทั้งหมด!


2

นี่คือวิธีการแก้ปัญหาการทำงาน

ในฐานะที่เป็น root (IE sudo su) ไปที่โฟลเดอร์บ้าน (cd ~) และสร้างไฟล์ cron:
vi cronjobs
เพิ่ม
@reboot sleep 15 ต่อไปนี้ mount -t vboxsf app / mnt / app

บันทึกไฟล์

หมายเหตุ: แทนที่แอพด้วยชื่อโฟลเดอร์ที่แชร์ของคุณและ / mnt / app ที่คุณต้องการติดตั้ง ในกรณีนี้ฉันสร้างแอปโฟลเดอร์ภายใต้เมานท์ (แอป mkdir) ก่อน

เพื่อเปิดใช้งาน cron ของคุณในฐานะ root (สำหรับชื่อไฟล์ด้านบน)
crontab cronjobs

ตรวจสอบให้แน่ใจว่า cron ทำงานอยู่:
crontab -l

รีบูตและมันจะถูกติดตั้ง การนอนหลับ 15 วินาทีทำให้มีเวลาเพียงพอสำหรับทุกสิ่งที่จะพร้อมสำหรับการเมานต์


rc.local ในคำตอบที่ยอมรับถูกลบออกใน Ubuntu รุ่นล่าสุด โซลูชันทางเลือกนี้ใช้งานได้แล้ว :)
ผู้ใช้ shonky linux

0

ฉันเพิ่งพบหัวข้อนี้เมื่อหลังจากอัปเดตเป็น Ubuntu LTS-18 (และไม่ทำการเปลี่ยนแปลงใด ๆ กับ VirtualBox และหลังจากติดตั้งส่วนขยายและ blah-de-blah)การติดตั้งอัตโนมัติก็หยุดทำงาน sf_xxxไดเรกทอรีในปัจจุบัน/media/แต่ไม่มีของพวกเขาได้รับการติดตั้งจริง

ความพยายามในการเมานต์พวกเขาใน/etc/fstab(ตามที่แนะนำโดยเอกสารประกอบของ VirtualBox) ไม่ทำงาน: การบูตล้มเหลวใน "โหมดฉุกเฉิน" แม้ว่าฉันจะแก้ไข/etc/modulesไฟล์แล้วก็ตาม

สิ่งที่ไม่ในที่สุดก็ทำงาน - แต่ฉันคิดว่ามันเป็นเหม็นแบบสับ - เป็นcrontabเคล็ดลับที่กล่าวไว้ข้างต้น

จนถึงทุกวันนี้ฉันไม่รู้เลยว่า "เกิดอะไรขึ้น"


0

ฉันมีปัญหาที่ฉันสามารถดูโฟลเดอร์ที่แชร์ได้ แต่ไม่มีไฟล์อยู่ในนั้น ดังนั้นฉันจึงแฮ็คคล้ายกับที่แสดงไว้ด้านบน:

ฉันทำให้แน่ใจว่าผู้ใช้ของฉันอยู่ในกลุ่มที่ถูกต้องและมีรายการใน fstab สำหรับการติดตั้งการแชร์และการอนุญาตถูกตั้งอย่างถูกต้องและการเมาท์อัตโนมัตินั้นเปิดอยู่ในการตั้งค่า VirtualBox แต่ก็ยังไม่มี ไฟล์ที่จะเห็น
ดังนั้นฉันจึงเปิดแอพพลิเคชั่นเริ่มต้นใช้งานใน Ubuntu 18.04 GUI และสร้างงานที่เรียกใช้ "sudo mount -a" ทันทีที่เริ่มต้น ไม่ว่าจะด้วยเหตุผลใดก็ตามโฟลเดอร์ที่แชร์ไม่ถูกเมาท์อย่างถูกต้องเมื่อ fstab ถูกวิเคราะห์โดยอัตโนมัติเมื่อบูตดังนั้นการติดตั้งใหม่ทุกอย่างดูเหมือนจะแก้ไขปัญหาได้ ตอนนี้ฉันสามารถดูไฟล์ในการแชร์


0

ฉันลองวิธีแก้ปัญหาทั้งหมดที่นี่และไม่มีใครทำงาน

สิ่งที่ใช้ได้ผลคือการติดตั้งผู้ดูแลและเรียกใช้สคริปต์ไพ ธ อน

ติดตั้งหัวหน้างาน

apt-get install supervisor

สคริปต์ python (ของฉันอยู่ที่ /home/ubuntu/shared_folders.py)

import subprocess
import os
import time

shared_folder = '/home/ubuntu/shared'

file_count = len(os.listdir(shared_folder))

mnt_command = 'mount -t vboxsf -o rw,uid=1000,gid=1000 shared-folder ' + shared_folder
if file_count == 0:
        # mount
        subprocess.Popen(mnt_command, shell=True)

time.sleep(3600)

สร้างไฟล์กำหนดค่าสำหรับหัวหน้างาน

nano /etc/supervisor/conf.d/sharedfolders.conf

[program:shared_folders] command=python shared_folders.py directory=/home/ubuntu process_name=%(program_name)s_%(process_num)s numprocs=1 numprocs_start=0 autostart=true autorestart=true startsecs=1 startretries=3 exitcodes=0,2 stopsignal=TERM stopwaitsecs=10 ;user=pavelp redirect_stderr=true stdout_logfile=/var/log/supervisor/qlistener-stdout.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stdout_capture_maxbytes=0 stdout_events_enabled=false stderr_logfile=/var/log/supervisor/qlistener-stderr.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 stderr_capture_maxbytes=0 stderr_events_enabled=false environment=APPLICATION_ENV=development serverurl=AUTO

open supervisorctl

sudo supervisorctl

อ่านการกำหนดค่า

reread

เพิ่มการกำหนดค่า

add shared_folders


0

(ในกรณีของฉันโฮสต์ของฉันคือ Mac OS X และแขกของฉันคือ OS อูบุนตู)

ไม่มีการแก้ปัญหาข้างต้นและการแก้ปัญหาที่กล่าวถึงที่นี่และที่นี่ใช้ได้สำหรับฉัน มีปัญหากับพวกเขาทั้งหมด

นี่คือสิ่งที่ฉันทำเพื่อแก้ไขปัญหาในที่สุด:

1- ฉันสร้างโฟลเดอร์แชร์ใน VirtualBox UI โดยชี้ไปที่โฟลเดอร์ที่มีชื่อVMSharesใน Mac OS ของฉันโดยตั้งชื่อwd

2- จากนั้นฉันติดตั้งเครื่องมือเสริมของผู้เยี่ยมชม Ubuntu (จำเป็นต้องรีสตาร์ท)

3- จากนั้นฉันสร้างโฟลเดอร์ใน guest OS ของฉันเป็นจุดเมานต์ (ในกรณีของฉันชื่อคือ/home/fashid/host)

4- จากนั้นฉันก็วิ่ง:

sudo VBoxControl sharedfolder list

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

มันจะแสดงสิ่งที่ชอบ:

Shared Folder mappings (1):
01 - VMShares

นี่คือเคล็ดลับ! มันแสดงชื่อจริงที่คุณต้องใส่ในคำสั่งด้านล่างเพื่อติดตั้งจริงและทำให้มันมีอยู่ในระบบปฏิบัติการแขกของคุณ:

sudo mount -t vboxsf VMShares /home/farshid/myshares

คุณตระหนักถึงประเด็นนี้หรือไม่? ฉันไม่ได้ใช้ wd ในภายหลัง ในขั้นตอนที่ 3 ฉันต้องรับชื่อโฟลเดอร์ (โฮสต์) จริงแทนที่จะเป็นชื่อที่ฉันกำหนดในกล่องโต้ตอบ GUI

ผ่านขั้นตอนข้างต้นปัญหาของฉันได้รับการแก้ไขแล้ว

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