Table des matières

Liste des commandes VDN

Pour l'administrateur

vdn-prepare

vdn-prepare : installe les logiciels nécessaires à l'utilisation de vdn.

Important : la distribution GNU/Linux du système hôte doit avoir été
précisée dans la variable HOST_RELEASE du fichier config.rc.
Exemple : HOST_RELEASE="debian/buster".

Usage : 
	vdn-prepare [-h] [-f] [-t] 
	vdn-prepare list

-h  : affiche cette aide
-f  : force l'installation des paquets : pas de demande de confirmation.
-t  : test l'installation (code de retour à 1 si logiciels manquants).

vdn-prepare list : affiche la liste des distributions sur lesquelles VDN
est porté.

Pour l'utilisateur

vdn-clean

vdn-clean supprime l'archive des modifications d'un système.

Usage : vdn-clean [-h] system 

-h	: affiche cette aide

ATTENTION : aucune demande de confirmation n'est demandée !

Remarque  : L'archive des modifications sera regénérée au prochain arrêt de 
	    la machine. 

vdn-download-disks

vdn-download-disks télécharge les disques associés au(x) système(s).

Usage : vdn-download-disks [-hdf] system...

Les disques utilisés par les systèmes spécifiés sont téléchargés.

Remarque : les fichiers "*.disk.gz" sont automatiquement decompressés.

-h  : affiche cette aide
-d  : dry run
-f  : pas de demande de confirmation

vdn-halt

vdn-halt arrête le système (la sauvegarde est effectuée).

Usage : vdn-halt [-h] system

-h	: affiche cette aide

vdn-infos

vdn-infos affiche des informations sur un système.
Si une variable est précisée, son contenu est affiché.

Exemple : vdn-infos societe PUBLIC_IP

Usage : vdn-infos [-h] system [variable]

-h	: affiche cette aide

vdn-kill

vdn-kill tue tous les processus associés au système.

Usage : vdn-kill [-h] [-q] [-s] system

ATTENTION : cette action correspond à une coupure d'alimentation.
	    dans le cas d'un système utilisant une union de systèmes de
	    fichiers, les modifications seront perdues !

-h	: affiche cette aide
-q	: n'affiche pas les PIDS des processus tué.
-s  : pas d'erreur si le système n'est pas lancé.

vdn-list

vdn-list affiche la liste des systèmes.

Usage : vdn-list [-h] 

-h      : affiche cette aide

vdn-start

vdn-start démarre un système virtuel.

Usage : vdn-start [-h] [-f] [-g] [-e] [-t] [-v expr] system

Un nom de système correspond au nom d'un répertoire situé dans le
sous répertoire "systems" de Vdn.

-h	 : affiche cette aide
-b	 : execute le système en arrière plan.
-d	 : mode DEBUG.
-g       : si l'interface graphique est démarrée, lui délègue le démarrage.
-t	 : le terminal courant est utilisé en console.
-e	 : Attendre "Entrée" si erreur.
-v exp   : évalue une expression. Pratique pour la surcharge de variables.
	   exemple : -v "MEMORY=32; SWAP_SIZE=32"

Pour le développeur (de disques et de réseaux)

vdn-build-network

vdn-build-network construit le réseau.

Usage : vdn-build-network [-h] [networkDir]

-h      : affiche cette aide.

Cette commande, après avoir fixé quelques variables, appelle
le script build du réseau.

Si networkDir n'est pas précisé, le réseau défini par la 
variable NETWORK_DIR est (re)créé.

vdn-clean-network

vdn-clean-network supprime le répertoire des sauvegardes du réseau.

ATTENTION : aucune demande ne confirmation.

Usage : vdn-clean-network [-h] [networkDir]

-h      : affiche cette aide.

Si networkDir n'est pas précisé, le répertoire des sauvegardes du réseau
défini par la variable NETWORK_DIR est supprimé.

vdn-delete-disks

vdn-delete-disks supprime les disques associés au(x) système(s).

Usage : vdn-delete-disks [-h] [-f] system...

Les disques HDA, HDB et CDROM du système présents dans le répertoire "files" 
sont supprimés.

-h	: affiche cette aide
-f	: force : pas de demande de confirmation !

vdn-delete

vdn-delete supprime le fichier de configuration du système.

Usage : vdn-delete [-h] system

-h	: affiche cette aide

ATTENTION : aucune demande de confirmation n'est demandée !

vdn-scp

vdn-scp effectue un scp à partir ou à destination d'un système virtuel.

Usage : vdn-scp [-h] [option...] src dst

-h      : affiche cette aide

Les options autorisées sont celles de scp(1). 
Les options précisées dans la variable SCP_OPTS du fichier de configuration
sont implicitement ajoutées.

vdn-ssh

vdn-ssh démarre une connexion ssh à destination d'un système virtuel.

Usage : vdn-ssh [-h] [option...] [login@]system [command]

-h      : affiche cette aide

Les options autorisées sont celles de ssh(1). 

Les options précisées dans la variable SSH_OPTS du fichier de configuration
sont implicitement ajoutées.

vdn-ssh-copy-id

vdn-ssh-copy-id copie votre clé publique dans un système virtuel.

Usage : vdn-ssh-copy-id [-h] [-i [identity_file]] [login@]system

-h      : affiche cette aide
-i	: indique le fichier contenant la clé publique à copier

vdn-ssh-loop

vdn-ssh-loop effectue, en boucle un ssh à destination d'un système virtuel.

Usage : vdn-ssh-loop [-h] [option...] [login@]system

-h      : affiche cette aide

Les options autorisées sont celles de ssh(1). 

Les options précisées dans la variable SSH_OPTS du fichier de configuration
sont implicitement ajoutées.

Si la connexion échoue, un nouvel essai est effectué après 5 secondes.

Non classées

vdn-alive

vdn-alive retourne 0 si le système est en fonctionnement, 1 sinon.

Usage : vdn-alive [-h] system

-h : affiche cette aide.

vdn-alives

vdn-alives affiche la liste des systèmes en fonctionnement.

Usage : vdn-alives [-h] 

-h : affiche cette aide.

vdn-build

vdn-build initialise le fichier de configuration d'un système.

Usage : vdn-build [-h] system

Le fichier de configuration du système est créé à partir du 
modèle (config.template) du répertoire du réseau ou, à défaut,
du modèle config.template du répertoire de Vdn.
Seule la variable IDENT du fichier de configuration
est modifiée (pour être unique).

Pour modifier d'autres variables du fichier de configuration consultez
la commande vdn-config. Le script build du répertoire d'un réseau
utilise vdn-build.

-h	: affiche cette aide

vdn-config

vdn-config affiche ou modifie une variable de configuration d'un système.

Usage : vdn-config [-h] [-a] system variable [value]

Le fichier de configuration d'un système contient des définitions de variables.

Si l'argument value n'est pas précisé, cette commande affiche la valeur
de la variable.

Si l'argument value est précisé, cette commande fixe la valeur de la variable.

-h	: affiche cette aide
-a  : ajoute un espace puis la valeur précisée à la valeur courante.

vdn-create-slash

vdn-create-slash create slash directoty.

Usage : vdn-create-slash [-h] [-r]
        vdn-create-slash -t

-h   : affiche cette aide
-t   : lance vdn en mode trace. La capture est placée dans /tmp/vdn.trace (*)
-r   : replace par un shebang classique.

(*) le fichier capture (/tmp/vdn.trace) est utilisé s'il existe par vdn-create-slash.

vdn-diff

vdn-diff affiche les différences dans les archives des modifications.

dir1 et dir2 doivent contenir les archives des modifications des systèmes.

Exemple : vdn-diff ~/.vdn-0.7.bak/demo ~/.vdn-0.7/demo

Usage : vdn-diff [-h] dir1 dir2

-h      : affiche cette aide

vdn-doc

vdn-doc extrait la documentation à partir de l'aide des commandes.

Usage : vdn-doc [-h] 

-h      : affiche cette aide

vdn-find-ident

vdn-find-ident affiche le premier identificateur libre pour un nouveau système.

Usage : vdn-find-ident [-h] 

-h	: affiche cette aide

vdn-graph

vdn-graph génère le graphe associé au réseau (graph.svgz).

Usage : vdn-graph [-h] [-a]

-h      : affiche cette aide.
-a	: ne génère pas le graphe dans le fichier mais sur stdout (en ASCII).

vdn-kvm

vdn-kvm démarre VDN sous KVM.

Usage : vdn-kvm [-h] 

-h : affiche cette aide.

Remarque : vdn-kvm, en raison de la double virtualisation qu'il implique,
           même correctement configuré (nested kvm), dégrade les performances,
           notammentle démarrage, d'environ un facteur 5. 
          
           Si vous avez le mot de passe root sur votre machine, sachez qu'un 
           isolement plus performant (aucune dégradation des performances) mais 
           moins sécurisé est également disponible via la commande vdn-mount-chroot.

vdn-mount-chroot

vdn-mount-chroot exécute VDN dans un environnement chroot en utilisant le disque :

/home/davalan/vdn/files/DebianBuster-amd64.disk
 
   * Le mot de passe root vous sera demandé !
   
AVERTISSEMENTS : 

1. de nombreuses opérations sous root sont effectuées (montages, chroot, 
démontages). Pour que le démontage se fasse correctement, fermez toutes 
les fénêtres et processus de l'environnement chroot (VDN).

2. L'isolation entre le système initial et le système chrooté n'est pas 
   totale. Les répertoires suivants du système initial sont partagés :
   /dev, /dev/pts, /sys, /proc, /tmp et le répertoire de VDN. 
   Autrement dit, ne faites pas n'importe quoi avec ces répertoires !
  
Usage : vdn-mount-chroot [-h] [-r] [-i user] [-s] [-u]

-h      : affiche cette aide.
-r      : (réservé) exécution spécifique à l'utilisateur root. Ne pas utiliser
          directement sans savoir ce que vous faites !
-s      : utilise "sudo" plutôt que "su -" pour basculer sous le compte root.
-i user : (réservé) indique l'utilisateur pour l'option -r. Ne pas utiliser
          directement sans savoir ce que vous faites !
-u      : démontages seulement.

vdn-open-network

vdn-open-network définit le réseau courant. (fixe la variable i
NETWORK_DIR du fichier ~/.vdnrc).

Usage : vdn-open-network [-h] networkDir

-h      : affiche cette aide

vdn-prepare

vdn-prepare : installe les logiciels nécessaires à l'utilisation de vdn.

Important : la distribution GNU/Linux du système hôte doit avoir été
précisée dans la variable HOST_RELEASE du fichier config.rc.
Exemple : HOST_RELEASE="debian/buster".

Usage : 
	vdn-prepare [-h] [-f] [-t] 
	vdn-prepare list

-h  : affiche cette aide
-f  : force l'installation des paquets : pas de demande de confirmation.
-t  : test l'installation (code de retour à 1 si logiciels manquants).

vdn-prepare list : affiche la liste des distributions sur lesquelles VDN
est porté.

vdn-push

Usage : vdn-push 

vdn-restart

vdn-restart system : vdn-shalt suivi de vdn-start.

Usage : vdn-restart [-h] system 

vdn-save

vdn-save sauvegarde le système.

Usage : vdn-save [-h] system

-h	: affiche cette aide

vdn-scripts

vdn-scripts exécute les scripts du réseau.

Usage : vdn-scripts [-h] [-r] [-n] [-d] [-t] script1...

-h      : affiche cette aide.
-d	    : n'exécute pas le script mais affiche sa description.
-e      : édite le script.
-n      : pas de pause à l'issue du script.
-t	    : trace l'exécution des commandes effectuées (debug)
-r      : attendre la touche "Entrée" pour terminer
-w      : attendre si erreur


Cette commande, après avoir fixé quelques variables et 
quelques fonctions appelle les scripts du réseau.

Remarque : si la variable d'environnement RUN_PARALLEL est fixée à 1 (cf.
~/.vdnrc) alors si plusieurs scripts sont précisés en arguments ils sont 
exécutés en parallèle (via tmuxinator).

vdn-set-network-dir

vdn-set-network-dir définit le réseau courant. (fixe la variable i
NETWORK_DIR du fichier ~/.vdnrc).

Usage : vdn-set-network-dir [-h] networkDir

-h      : affiche cette aide

vdn-set-var

vdn-set-var fixe la variable dans ~/.vdnrc.

Usage : vdn-set-var var value

-h	: affiche cette aide

vdn-shell

vdn-shell exécute un shell evec les fonctions et les variables VDN.

Usage : vdn-shell [-h] 

-h      : affiche cette aide

vdn-show

vdn-show Affiche les configurations des systèmes.

Usage : vdn-show [-h]

-h	: affiche cette aide
-r 	: attendre la touche "Entrée" pour terminer

vdn-ssh-loop

vdn-ssh-loop effectue, en boucle un ssh à destination d'un système virtuel.

Usage : vdn-ssh-loop [-h] [option...] [login@]system

-h      : affiche cette aide

Les options autorisées sont celles de ssh(1). 

Les options précisées dans la variable SSH_OPTS du fichier de configuration
sont implicitement ajoutées.

Si la connexion échoue, un nouvel essai est effectué après 5 secondes.

vdn-start-wrapper

vdn-start-wrapper 	ne fait qu'appeler vdn-start et analyser son 
		code de retour.

Usage : vdn-start-wrapper [-h|les options de vdn-start]

-h      : affiche cette aide

vdn-terminal

vdn-terminal affiche la liste des systèmes.

Usage : vdn-terminal [-h] 

-h      : affiche cette aide

vdn-test

ok

vdn-test-kvm

vdn-test-kvm analyse les capacités de virtualisation de l'hôte.

Usage : vdn-test-kvm [-h] 

-h      : affiche cette aide

vdn-upload-disks

vdn-upload-disks dépose les disques associés au(x) système(s) sur le serveur.

Usage : vdn-upload-disks [-hnf] system...

Les disques des systèmes spécifiés sont déposés sur le serveur (rsync via ssh).

Pour cela, la variable SSH_DISKS_REPOSITORY doit avoir été fixée dans votre
fichier $HOME/.vdnrc. Exemple :

SSH_DISKS_REPOSITORY="toto@truc.bidule.org:public_html/files"

Remarque : les fichiers "*.disk" sont préalablement compressés (.gz).

-h	: affiche cette aide
-d	: dry run
-f	: force : pas de demande de confirmation !

vdn-vnc-viewer

vdn-vnc-viewer démarre un client Vnc présentant l'écran du système.

Usage : vdn-vnc-viewer [-h] system

Remarque : seuls les systèmes KVM avec leur variable KVM_VIEWER fixée à "vnc"
	   proposent un écran VNC.

-h      : affiche cette aide