Respostas:
A versão TL; DR para o Debian 9 é, como root:
echo deb http://ftp.debian.org/debian stretch-backports main contrib > /etc/apt/sources.list.d/stretch-backports.list
apt update
apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
É isso, o VirtualBox Guest Additions está instalado.
O VirtualBox não está disponível no Debian 10 e também não será disponibilizado buster-backports
. Lucas Nussbaum tem um conjunto não oficial de pacotes; se você quiser usá-los, siga as instruções dele (somente linkadas - se o link parar de ser válido, presumivelmente os pacotes também não estão disponíveis, portanto, copiar as instruções aqui não faz sentido).
Mais detalhadamente, aqui está a solução para o Debian 7, 8 e 9, usando pacotes Debian:
para o Debian 7 e 8, habilite os contrib
repositórios; por exemplo, para o Debian 8, verifique se o seu /etc/apt/sources.list
contém algo como
deb http://ftp.debian.org/debian jessie main contrib
para o Debian 9, habilite backports com contrib
; para fazer isso, adicione uma linha como
deb http://ftp.debian.org/debian stretch-backports main contrib
para /etc/apt/sources.list
(ou melhor ainda, um stretch-backports.list
arquivo /etc/apt/sources.list.d
);
instalar virtualbox-guest-dkms
, cabeçalhos do kernel e, opcionalmente, virtualbox-guest-x11
(para os utilitários gráficos de convidado):
sudo apt update
sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
(com -t stretch-backports
depois install
na segunda linha, se você estiver usando o Debian 9).
Isso é tudo o que é necessário - você não precisa montar as adições de convidado na sua VM ou executar o instalador. Você pode adicionar as três linhas de invocações de shell à sua Vagrantfile
(ou o que você usar para provisionar suas VMs) e esquecê-las.
A instalação do virtualbox-guest-dkms
pacote garantirá que os módulos apropriados do kernel sejam criados automaticamente (e reconstruídos quando o kernel for atualizado) e instalará as adições de convidado.
(Observe que isso instalará a versão das adições de convidados disponíveis em qualquer versão do Debian que você estiver usando na VM , que pode não corresponder à versão do Virtual Box executando a VM - mas as adições de convidados ainda devem funcionar bem.)
Siga estas etapas para instalar o VirtualBox Guest Additions na sua máquina virtual Linux Debian:
Abra o terminal e torne-se root
( su
); se você tiver sudo
ativado, você também pode fazer, por exemplo sudo -i
; veja man sudo
todas as opções):
su
digite a senha root e pressione enter
Como alternativa, você pode usá- sudo -s
lo se o tiver instalado e o usuário em que estiver conectado tiver os direitos necessários ...
Atualize o cache do APT :
apt-get update
Instale as atualizações de segurança mais recentes:
Esta etapa atualizará todos os seus pacotes, portanto, tenha cuidado. Tente as etapas a seguir primeiro e elas podem ser suficientes para funcionar, caso contrário, execute a atualização e tente novamente.
apt-get upgrade
Instale estes pacotes necessários:
Pacotes
build-essential
emodule-assistant
são necessários para poder compilar os módulos do kernel; portanto, ao instalar o VirtualBox Linux Guest Additions, você deve tê-los. Portanto, este comando fará com que os cabeçalhos e pacotes (compiladores e bibliotecas) necessários para o trabalho. Observe que, depois de instalar o VirtualBox Linux Guest Additions, você deixará para trás alguns pacotes e cabeçalhos do Linux, que você poderá excluir posteriormente ou não. No meu caso, eles não machucaram, mas por uma questão de limpeza do sistema, você pode querer pegar depois de jogar.
apt-get install build-essential module-assistant
Configure seu sistema para a construção de módulos do kernel:
m-a prepare
Inserir adições de convidado ISO:
Expanda o menu Dispositivos e clique em Inserir imagem do CD de adições de convidados ...
Ele deve ser montado automaticamente, mas se por algum motivo não for:
mount /media/cdrom
Execute o seguinte script:
sh /media/cdrom/VBoxLinuxAdditions.run
Reinicie o sistema:
reboot
sudo apt-get update && sudo apt-get install linux-headers-`uname -r`
m-a prepare
deve receber o linux-headers
pacote, todas as instruções funcionam bem em uma instalação do Debian 9.
Uma alternativa para instalar addons convidados do VirtualBox a partir do repositório Debian é usar fontes do fornecedor. Espera-se que o repositório forneça código mais antigo e mais estável, enquanto as fontes do fornecedor terão os últimos recursos e atualizações de segurança.
Eu tentei com sucesso as instruções seguintes no convidado Debian 9.4 executando o kernel do Linux 4.9.0-4 usando o VirtualBox 5.0.30 e o OS X 10.11.6. Primeiro, conecte a imagem ISO dos complementos convidados à máquina virtual e inicie-a. Após a inicialização, o conteúdo da imagem estará disponível em /media/cdrom0/
. Primeiro, existem dois pacotes e suas dependências que precisam ser instaladas:
$ sudo apt-get install linux-headers-$(uname -r) build-essential
Em seguida, execute o script fornecido pelo fornecedor que cria e instala os módulos necessários do kernel:
$ cd /media/cdrom0/
$ sudo sh VBoxLinuxAdditions.run
Reinicie a máquina virtual e divirta-se!
No Debian 9, o pacote virtualbox-guest-dkms está no repositório instável (sid).
Adicione isto a /etc/apt/sources.list
:
deb http://http.us.debian.org/debian sid main non-free contrib
Atualizar repositórios e instalar o pacote
sudo apt-get update
sudo apt-get install virtualbox-guest-dkms
Opcionalmente: desative o repositório sid, pois ele possui atualizações para pacotes que você pode não querer.
/vagrant
na VM. Como essa montagem foi o motivo todo pelo qual eu queria as adições de convidados, ela ainda está efetivamente quebrada.