Aller au contenu principal

srypt-python-vm-vagrant

Script python dans une machine virtuelle.

Pour créer un script Python qui installe une machine virtuelle Debian 12 sous Vagrant, vous pouvez suivre les étapes suivantes. Ce script va automatiser la création d'une machine virtuelle avec Vagrant, configurer le système, et installer les dépendances nécessaires.

Étape 1: Prérequis

Assurez-vous d'avoir installé Vagrant et VirtualBox ou VMware sur votre machine.

Étape 2: Créer un script Python

Voici un script Python qui génère un fichier Vagrantfile pour une machine virtuelle Debian 12, puis lance la machine virtuelle.

import os
import subprocess

def create_vagrantfile():
"""
Crée un fichier Vagrantfile pour une machine virtuelle Debian 12.
"""
vagrantfile_content = """
Vagrant.configure("2") do |config|
config.vm.box = "debian/bookworm64" # Utilisez la box Debian 12 (Bookworm)
config.vm.network "forwarded_port", guest: 80, host: 8080 # Redirection de port
config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get upgrade -y
apt-get install -y python3 python3-pip # Installe Python 3 et pip
echo "Machine virtuelle Debian 12 prête !"
SHELL
end
"""
with open("Vagrantfile", "w") as file:
file.write(vagrantfile_content)

def start_vagrant():
"""
Démarre la machine virtuelle avec Vagrant.
"""
print("Démarrage de la machine virtuelle avec Vagrant...")
subprocess.run(["vagrant", "up"])

def main():
"""
Fonction principale pour créer et démarrer la machine virtuelle.
"""
print("Création du fichier Vagrantfile...")
create_vagrantfile()
print("Démarrage de la machine virtuelle...")
start_vagrant()
print("Machine virtuelle Debian 12 prête !")

if __name__ == "__main__":
main()

Étape 3: Exécuter le script

  1. Crée un fichier Vagrantfile :

    • Utilise la box debian/bookworm64 (Debian 12).
    • Configure une redirection de port (port 80 de la machine virtuelle vers le port 8080 de l'hôte).
    • Installe Python 3 et pip lors du provisionnement.
  2. Démarre la machine virtuelle :

    • Le script exécute la commande vagrant up pour démarrer la machine virtuelle.
  3. Affiche un message de confirmation :

    • Une fois la machine virtuelle prête, un message s'affiche.

Étape 5: Accéder à la machine virtuelle

  1. Se connecter à la machine virtuelle : Vous pouvez vous connecter à la machine virtuelle via SSH avec la commande suivante :
vagrant ssh
  1. Vérifier l'installation : Une fois connecté, vérifiez que Python 3 est installé :
python3 --version

Étape 6: (Optionnel) Arrêter ou détruire la machine virtuelle

  • Arrêter la machine virtuelle :
vagrant halt
  • Détruire la machine virtuelle :
vagrant destroy

Personnalisation

Vous pouvez personnaliser le script pour :

  • Installer d'autres paquets (par exemple, nginx, git, etc.).
  • Configurer des dossiers partagés entre l'hôte et la machine virtuelle.
  • Ajouter des scripts de provisionnement supplémentaires.

Exemple d'installation de Nginx :

config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get install -y nginx
systemctl enable nginx
systemctl start nginx
SHELL

Conclusion

Ce script Python automatise la création et le démarrage d'une machine virtuelle Debian 12 sous Vagrant. Vous pouvez l'adapter à vos besoins spécifiques en modifiant le fichier Vagrantfile ou en ajoutant des étapes de provisionnement supplémentaires.