PCo74 / Linux-Auto-Config

Auto-configuration de machines Linux

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linux Auto Configuration

Environnement

  • Windows + VirtualBox

📌 adaptable sur d'autres environnements (.bat à convertir)

Pourquoi ?

  • conserver l'historique des modifications rĂ©alisĂ©es sur une VM
  • installer automatiquement une VM de base (p.e. pour une dĂ©monstration)
  • tester rapidement toutes modifications (p.e. changement de version)

Principe

  • configurer rapidement une VM de base
    • soit en copiant des fichiers
    • soit en exĂ©cutant des commandes «bash»

Ces fichiers et commandes seront dĂ©finis dans un mĂȘme fichier *.txt au format UTF-8 UNIX (LF)

Mode utilisateur

Sur la machine hĂŽte

  • installer Python (si ce n'est pas dĂ©jĂ  fait !)
  • lancer le serveur de configuration ...\LAC_SIO_2021\run_python_http.server.bat

Sur la machine virtuelle :

  1. laisser le mode d'accÚs par défaut sous VirtualBox (NAT)
  2. récupérer le script bash wget 192.168.56.1:8000/vmslinux
  3. puis l'exécuter bash vmslinux
  4. choisir, dans le menu proposé, la configuration voulue
  5. l'auto-configuration est lancée ...
  6. aprÚs un redémarrage de la VM, se reconnecter pour poursuivre l'auto-configuration !

Mode concepteur

  1. créer un fichier *.txt au format UTF-8 UNIX (LF) pour chaque VM dans le dossier vmslinux ou dans un sous-dossier de celui-ci

  2. commencer toujours par indiquer le nom d'un bloc qui correspondra soit à un fichier à copier soit à une liste de commandes à exécuter

    • pour indiquer le nom d'un bloc :
      • saisir en premier l'identifiant dĂ©fini dans le fichier config.ini (par dĂ©faut =--=)
      • ensuite lui donner un nom :
        • si ce nom commence par un / ou bien un ., c'est un bloc Ă  copier selon son chemin absolu ou relatif
        • sinon c'est un bloc de commandes Ă  exĂ©cuter !

☌ exemple pour un serveur Web Apache web1.txt

=--=/etc/hostname
web1

=--=/etc/hosts
127.0.0.1       localhost
127.0.1.1       web1
192.168.56.12   web2

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

=--=/etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# privé hÎte 192.168.56.0/24
auto enp0s3
iface enp0s3 inet static
    address 192.168.56.11/24
    gateway 192.168.56.254
	
=--=install_paquets_apache
apt update
apt install -y apache2

4 blocs sont ainsi définis :

bloc type
/etc/hostname fichier
/etc/hosts fichier
/etc/network/interfaces fichier
install_paquets_apache commande
  • les 3 premiers correspondent Ă  des blocs de fichiers Ă  copier selon leur chemin absolu
  • le dernier est une liste de commandes Ă  exĂ©cuter !

Vue HTML

Extension qui permet de générer au format HTML la configuration d'une VM via un script Python

  • dĂ©poser le fichier ou le dossier sur le fichier batch ...\LAC_SIO_2021\vmslinux_vmlinux-vue-html.bat

©PCo-2021

About

Auto-configuration de machines Linux


Languages

Language:HTML 56.5%Language:Python 30.0%Language:Shell 10.8%Language:Batchfile 2.7%