Exile on Keyboard St. - Blog sur Linux et Debian

Aller au contenu | Aller au menu | Aller à la recherche

dimanche 28 octobre 2018

Utiliser VirtualBox 5.2 sur Debian Jessie

Si vous utilisez Debian 8 (Jessie) et VirtualBox, vous avez sans doute remarqué que la version de VirtualBox du dépôt Debian date un peu, puisque c'est une version 4.3.40 qui date de l'été 2016.

On souhaitera donc installer la version maintenue de VirtualBox, la 5.2, comme indiqué sur le Wiki de VirtualBox.

Une fois cette version installée, si vous créez une machine virtuelle, par exemple avec Vagrant, vous obtiendrez certainement l'erreur suivante:

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "b81392d9-6f90-4c80-87e0-91bd0d95ef56", "--type", "headless"]

Stderr: VBoxManage: error: The virtual machine 'test_vbox_52_default_1540707024933_47897' has terminated unexpectedly during startup with exit code 1 (0x1)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine

La machine virtuelle ne démarre pas !

La cause est la suivante: VirtualBox 5.2 essaie d'utiliser les "kernels modules" de la version 4.3 de VirtualBox et ce même si on a supprimé tous les paquets correspondants à cette version :-(

Il nous faut donc reconstruire ces modules par:

# sudo rcvboxdrv setup
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.

Comme indiqué à la fin du paragraphe suivant.

Et la VM va maintenant démarrer.

D'ailleurs, si vous regardez bien, VirtualBox 5.2 ne comporte pas de paquet virtualbox-dkms comme c'était le cas auparavant. Un seul paquet est installé:

# dpkg --list | grep virtualbox
ii  virtualbox-5.2                        5.2.20-125813~Debian~jessie                amd64        Oracle VM VirtualBox

Voilà, vous pouvez utiliser la dernière version de VirtualBox et la version la plus récente de Vagrant sur Debian Jessie.

dimanche 14 octobre 2018

Vagrant: une VM Debian en Français avec GUI en 3mn

Vagrant est un outil open source qui permet de créer et de configurer des machines virtuelles très rapidement. Depuis l'arrivée de Docker, on parle beaucoup moins de Vagrant qui existe depuis 2010.

Comme Docker, on part d'une image de base pour construire sa propre image. La terminologie Vagrant parle de 'box'. Par défaut, Vagrant utilise VirtualBox pour créer les VMs.

Mais les 'box' de bases sont quasiment tout le temps:

  • Sans environnement graphique
  • Avec un clavier en Anglais

Le deuxième point n'étant génant que si l'on veut avoir le premier ! Dans le cas contraire, on se connecte à la box en SSH et le tour est joué.

Donc, pour disposer d'une machine virtuelle avec un environnement graphique, on va 'provisionner' notre VM comme suit:

Dans un premier temps, il faut indiquer à Vagrant d'afficher l'UI de VirtualBox:

  config.vm.provider "virtualbox" do |vb|
    vb.name = "Debian with Mate"
    vb.gui = true
    vb.memory = "4096"
  end

Sans cela, l'environnement graphique ne s'affichera tout simplement pas !

Puis on va installer quelques logiciels sur la VM:

  config.vm.provision "shell", inline: <<-SHELL
    apt-get --quiet update
    apt-get --assume-yes upgrade
    apt-get --assume-yes install lightdm mate-desktop-environment
    echo "autologin-user=vagrant" | tee --append /usr/share/lightdm/lightdm.conf.d/01_debian.conf
    sed --in-place s/us/fr/g /etc/default/keyboard
    systemctl reboot
  SHELL

On commence par mettre à jour le système, puis on installe Mate, plus léger que nombre d'autres environnements graphiques, ainsi qu'un 'Display Manager', lightdm sera très bien.

Il ne reste qu'à:

  • Activer la connexion automatique
  • Définir le clavier en Français

Je vois souvent plein d'instructions compliquées pour passer le clavier en Français, alors qu'il suffit de changer une ligne dans le fichier /etc/default/keyboard !!!

Vous noterez que je préfère les options longues des commandes. Je trouve que c'est plus lisible comme cela, on ne se souvient pas toujours de ce que fait l'option -i ou -q ...

Enfin, la dernière ligne des instructions de provisioning est requise:

systemctl reboot

et permet de:

  • Prendre en compte la configuration du clavier en Français
  • Se loguer automatiquement

Voilà, c'est fini, en 3mn, vous êtes sous Debian avec Mate et déjà connecté !