===== 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