Mapeamento da pasta compartilhada no guest do Ubuntu através de rc.local

0

Eu tenho uma máquina virtual com o Ubuntu Server 17.04 (Guest) no VBox (Win 10 como host). Eu configurei a pasta compartilhada e tente montá-la automaticamente. Agora, quando eu corro manualmente o comando:

sudo mount -t vboxsf src /media/src

Tudo funciona bem, tenho a pasta montada e todos os arquivos visíveis / editáveis. Então eu coloquei este comando em /etc/rc.local e reinicie a máquina. E a pasta não aparece ... Eu configurei o serviço de acordo com estas instruções e ainda nada. Eu verifiquei o status do serviço por systemctl status rc-local.service e recebi o seguinte resultado:

● rc-local.service - /etc/rc.local Compatibility
   Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/rc-local.service.d
           └─debian.conf
   Active: active (exited) since Sun 2017-09-10 18:45:10 CEST; 14min ago
  Process: 1185 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/rc-local.service

Sep 10 18:45:08 ubuntu systemd[1]: Starting /etc/rc.local Compatibility...
Sep 10 18:45:10 ubuntu sudo[1192]:     root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/mount -t vboxsf src /media/src
Sep 10 18:45:10 ubuntu sudo[1192]: pam_unix(sudo:session): session opened for user root by (uid=0)
Sep 10 18:45:10 ubuntu systemd[1]: Started /etc/rc.local Compatibility.

Então parece que tudo está bem. O que é mais interessante, eu adicionei a instrução simples touch para testar se o rc / local está realmente rodando, então agora o arquivo é o seguinte:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

touch /home/moby/dupa.zbita.kurwa.jego.mac

sudo mount -t vboxsf src /media/src

exit 0

Agora, o arquivo está sendo criado para que o arquivo seja executado, mas a pasta não está montada como esperado. Eu pensei que eu fiz um erro de digitação no comando de montagem, mas quando eu executar o /etc/rc.local manualmente (obviamente, é executável) a pasta aparece corretamente.

O que devo fazer para que isso funcione? É claro que eu poderia ativar o comando mount para rodar sem senha do meu usuário e adicionar o comando no arquivo ¬ / .bashrc para fazê-lo funcionar por enquanto (ou simplesmente executar o mount manualmente), mas estou me perguntando o que está errado e como corrigi-lo de qualquer maneira ...

[editar] perguntado no comentário:

    
por Moby04 10.09.2017 / 19:07

1 resposta

1

Um dos benefícios de usar o Virtualbox é a capacidade de adicionar guest-additions ao host, possibilitando a interação perfeita entre os sistemas operacionais host e guest.

Para configurá-lo, adicione as adições do convidado por meio da linha de comando para as instalações do Virtualbox usando o repositório oficial ou do site oracle, se estiver usando .deb arquivos para instalação.

Agora, para configurar o compartilhamento de pastas, precisamos:

  1. Adicione as adições dos convidados conforme mencionado anteriormente

  2. Adicione a pasta desejada de:

    • menu de configurações do virtualbox para o sistema operacional convidado em questão, ou

    • domenudevicesdolançamentoVM

  3. Selecioneasopções:

    • Auto-MounteMake-Permanent
  4. NosistemaoperacionalconvidadodoUbuntu,adicioneseuusuárioaogrupovboxsf:

    sudousermod-aGvboxsf$USER
  5. ReinicieoUbuntuparaqueanovaadiçãodogruposejacoletada

  6. Enotequeaconvençãoénomearapastacomum"sf_", então procure por um arquivo chamado assim sf_******** na pasta /media . Exemplo: /media/sf_vbox_share

Você não precisa montar manualmente essa pasta compartilhada, é para isso que o Virtualbox Guest Additions serve.

    
por George Udosen 11.09.2017 / 19:39