install_virtualbox.sh

Note de lecture générée automatiquement

Le vrai fichier est scripts/virtualisation/install_virtualbox.sh (Obsidian n’affiche pas les scripts eux-mêmes). Ne modifie pas cette note : modifie le script, puis relance python3 generer_vues_obsidian.py dans le dossier scripts.

Code

#!/usr/bin/env bash
# =============================================================================
# install_virtualbox.sh — Installe VirtualBox sur Pop!_OS/Ubuntu ou Arch Linux
#   Pop!_OS / Ubuntu 24.04 : dépôt officiel Oracle (dernière 7.x)
#   Arch : paquets officiels virtualbox + virtualbox-host-dkms
# Usage : ./install_virtualbox.sh   (demande sudo)
# Après : se DÉCONNECTER/RECONNECTER (groupe vboxusers)
# =============================================================================
set -euo pipefail
 
if command -v apt-get > /dev/null; then
  echo "==> Famille Debian/Ubuntu détectée"
  . /etc/os-release
  nom_code="${UBUNTU_CODENAME:-${VERSION_CODENAME:-noble}}"
  cle="/usr/share/keyrings/oracle-virtualbox-2016.gpg"
  wget -qO- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes -o "$cle"
  echo "deb [arch=amd64 signed-by=$cle] https://download.virtualbox.org/virtualbox/debian $nom_code contrib" |
    sudo tee /etc/apt/sources.list.d/virtualbox.list > /dev/null
  sudo apt-get update
  # Installe la version 7.x la plus récente proposée par le dépôt
  derniere=$(apt-cache search --names-only '^virtualbox-7\.[0-9]+$' | awk '{print $1}' | sort -V | tail -n 1)
  sudo apt-get install -y "${derniere:-virtualbox-7.2}" linux-headers-"$(uname -r)" || sudo apt-get install -y "${derniere:-virtualbox-7.2}"
elif command -v pacman > /dev/null; then
  echo "==> Arch détecté"
  # virtualbox-host-dkms fonctionne avec tous les noyaux (linux, lts, zen…) : il faut les headers
  noyau_paquet=$(pacman -Qoq "/usr/lib/modules/$(uname -r)/vmlinuz" 2>/dev/null || echo linux)
  sudo pacman -S --needed virtualbox virtualbox-host-dkms "${noyau_paquet}-headers"
  sudo modprobe vboxdrv
else
  echo "Distribution non prise en charge par ce script." >&2
  exit 1
fi
 
sudo usermod -aG vboxusers "$USER"
echo
echo "VirtualBox $(VBoxManage --version 2>/dev/null || echo '(version inconnue)') installé."
echo "Déconnecte-toi puis reconnecte-toi pour activer le groupe vboxusers."
echo "Si une erreur parle de Secure Boot : mokutil --sb-state (les modules doivent être signés)."
echo "Si une erreur parle de VT-x/AMD-V utilisé par un autre hyperviseur : sudo modprobe -r kvm_intel (ou kvm_amd)."