Il s'agit de la commande virt-dib qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
virt-dib - Exécute les éléments diskimage-builder
SYNOPSIS
virt-dib -B DIB-LIB [options] éléments...
DESCRIPTION
Virt-dib est un outil permettant d'utiliser les éléments de " diskimage-builder " pour construire un nouveau disque
image, générer de nouveaux disques RAM, etc.
Virt-dib est destiné à remplacer en toute sécurité « diskimage-builder » et ses
mode "ramdisk-image-create", voir "COMPARAISON AVEC DISKIMAGE-BUILDER" pour un rapide
comparaison avec l'utilisation de " diskimage-builder ".
" diskimage-builder " fait partie du projet TripleO OpenStack :
https://wiki.openstack.org/wiki/TripleO.
EXEMPLES
Se construisent simple simples images. of distributions
virt-dib\
-B /chemin/vers/diskimage-builder/lib \
-p /chemin/vers/diskimage-builder/elements \
--envvar DIB_RELEASE=jessie \
--nom debian-jessie \
machine virtuelle debian
Cela crée une image disque Debian Jessie (8.x), adaptée à une exécution en tant que machine virtuelle,
enregistré sous debian-jessie.qcow2.
Se construisent disques virtuels
virt-dib\
-B /chemin/vers/diskimage-builder/lib \
-p /chemin/vers/diskimage-builder/elements \
--disque virtuel \
--name disque virtuel \
ubuntu deploy-ironique
Cela crée un disque virtuel pour le composant Ironic OpenStack basé sur la distribution Ubuntu.
OPTIONS
--Aidez-moi
Afficher l'aide.
-B PATH
Définissez le chemin d'accès au répertoire de la bibliothèque de " diskimage-builder ". C'est généralement le lib
sous-répertoire dans les sources et lors de l'installation, et /usr/share/diskimage-builder/lib
lorsqu'il est installé dans / usr.
Ce paramètre est obligatoire, car virt-dib doit le fournir pour les éléments (comme certains
d'entre eux pourraient utiliser des scripts). Virt-dib lui-même n'utilise pas la bibliothèque
répertoire.
--cambre ARCHITECTURE
Utilisez l'architecture spécifiée pour l'image de sortie. La valeur par défaut est la même que
l'hôte exécutant virt-dib.
Pour le moment, cette option ne fait rien de plus que de définir la variable d'environnement "ARCH"
pour les éléments, et c'est à eux de produire une image pour le demandé
architecture.
--déboguer NIVEAU
Définissez le niveau de débogage sur "LEVEL", qui est un nombre entier non négatif. Le défaut
est 0.
Ce niveau de débogage est différent de ce que -x et -v défini, et cela augmente le débogage
informations imprimées. Plus précisément, cela définit le "DIB_DEBUG_TRACE", et toute valeur
> 0 permet le traçage dans les scripts exécutés.
--conduire STOCKAGE
Ajoutez le disque spécifié à utiliser comme lecteur d'assistance où mettre en cache les fichiers du
éléments, comme les images disque, les packages de distribution, etc.
Voir "AIDE DRIVE".
-p PATH
--élément-chemin PATH
Ajoutez un nouveau chemin avec des éléments. Les chemins sont utilisés dans le même ordre que le -p paramètres
apparaissent, donc un chemin spécifié en premier est regardé en premier, et ainsi de suite.
Évidemment, il est recommandé d'ajouter le chemin aux éléments propres de
"diskimage-builder", car la plupart des autres éléments s'appuieront sur eux.
--extra-paquets EMBALLER,...
Installez des packages supplémentaires dans l'image en cours de construction.
Cela repose sur le binaire "install-packages" fourni par la gestion des packages
éléments.
Cette option peut être spécifiée plusieurs fois, à chaque fois avec plusieurs packages
séparés par des virgules.
--envvar VARIABLE
--envvar VARIABLE=VALEUR
Transportez ou définissez une variable d'environnement pour les éléments.
Voir "VARIABLES D'ENVIRONNEMENT" ci-dessous pour plus d'informations sur l'interaction et l'utilisation de
Variables d'environnement.
Cette option peut être utilisée de deux manières :
--envvar VARIABLE
Portez la variable d'environnement "VARIABLE". S'il n'est pas défini, rien n'est exporté
aux éléments.
--envvar VARIABLE=VALEUR
Définissez la variable d'environnement "VARIABLE" avec la valeur "VALUE" pour les éléments,
indépendamment de l'existence ou non d'une variable d'environnement portant le même nom.
Cela peut être utile pour passer des variables d'environnement sans les exporter dans le
environnement où virt-dib s'exécute.
--exclure-élément ELEMENT
Ignore l'élément spécifié.
--exclude-script SCÉNARIO
Ignorez tout script d'élément nommé "SCRIPT", quel que soit l'élément dans lequel il se trouve.
Cela peut être utile au cas où un script ne fonctionnerait pas bien avec virt-dib, par exemple
quand ils ont vraiment besoin de l'environnement de " diskimage-builder ".
--formats FORMAT,...
Définissez la liste des formats de sortie, en les séparant par une virgule.
Les formats pris en charge sont :
"qcow2" (activé par défaut)
qcow2 de QEMU.
"cru"
Format de disque brut.
"le goudron"
Un tarball non compressé.
"vhd"
Image disque « Disque dur virtuel ». Ce format de sortie nécessite l'outil "vhd-util".
Veuillez noter que la version de l'outil "vhd-util" doit être corrigée pour prendre en charge le
sous-commande "convert", et d'être amorçable. Le patch est disponible ici :
https://github.com/emonty/vhd-util/blob/master/debian/patches/citrix.
--fs-type SYSTÈME DE FICHIERS
Définissez le type de système de fichiers à utiliser pour le système de fichiers racine. La valeur par défaut est "ext4".
Voir aussi "guestfs_filesystem_available" dans invités (3).
--image-cache ANNUAIRE
Définir le chemin dans l'hôte où mettre en cache les ressources utilisées par les éléments du
phase "extra-data.d". La valeur par défaut est ~/.cache/image-create.
Veuillez noter que la plupart des ressources récupérées après "extra-data" seront mises en cache dans
le disque d'assistance spécifié avec --conduire; voir aussi "HELPER DRIVE".
--type-d'installation TYPE
Spécifiez le type d'installation par défaut. La valeur par défaut est "source".
Définissez sur « package » pour utiliser les installations basées sur les packages par défaut.
--lisible par machine
Cette option est utilisée pour rendre la sortie plus conviviale pour la machine lorsqu'elle est analysée par
d'autres programmes. Voir "SORTIE LISIBLE PAR LA MACHINE" ci-dessous.
-m MB
--memsize MB
Modifiez la quantité de mémoire allouée à l'appliance. Augmentez ceci si vous trouvez que
l'exécution de virt-dib manque de mémoire.
La valeur par défaut peut être trouvée avec cette commande :
poisson invité get-memsize
--mkfs-options "CHAINE D'OPTION"
Ajouter les options spécifiées à mkfs(1), pour pouvoir affiner le système de fichiers racine
création. Notez qu'il n'est pas possible de remplacer le type de système de fichiers.
Tu devrais utiliser --mkfs-options au plus une fois. Pour passer plusieurs options, séparez-les
avec de l'espace, par exemple :
virt-dib ... --mkfs-options '-O someopt -I foo'
--réseau
--pas de réseau
Activez ou désactivez l'accès au réseau depuis l'invité pendant l'installation.
Activé est la valeur par défaut. Utilisation --pas de réseau pour désactiver l'accès.
Le réseau n'autorise que les connexions sortantes et a d'autres limitations mineures. Voir
"RÉSEAU" dans virt-sauvetage (1).
Cela n'affecte pas si l'invité peut accéder au réseau une fois qu'il a été démarré,
car cela est contrôlé par votre hyperviseur ou votre environnement cloud et n'a rien à
faire avec virt-dib.
Si vous utilisez --pas de réseau, alors la variable d'environnement "DIB_OFFLINE" est définie sur 1,
signalant aux éléments qu'ils doivent utiliser uniquement les ressources mises en cache lorsqu'elles sont disponibles.
Notez également que, contrairement à "diskimage-builder" où les éléments peuvent toujours être
l'accès au réseau même avec "DIB_OFFLINE=", sous le réseau virt-dib sera entièrement
inaccessible.
--Nom Nom
Définissez le nom du fichier image de sortie. La valeur par défaut est "image".
Selon le nom choisi, il y aura dans le répertoire courant :
$NOM.ext
Pour chaque format de sortie, une image disque nommée d'après l'image de sortie avec le
extension selon le format; par exemple: $NOM.qcow2, $NAME.raw, etc.
Ne s'applique pas en mode disque virtuel, voir "CRÉATION DE DISQUE RAM".
$NOM.d
Un répertoire contenant tous les fichiers créés par les éléments, par exemple dib-
manifestes répertoire (créé par l'élément "manifests"), les ramdisks et les noyaux dans
mode disque virtuel, et ainsi de suite.
--pas de suppression en cas d'échec
Ne supprimez pas les fichiers de sortie en cas d'échec de la génération. Vous pouvez l'utiliser pour déboguer les échecs
pour exécuter des scripts.
La valeur par défaut est de supprimer le fichier de sortie si virt-dib échoue (ou, par exemple, certains
le script qu'il exécute échoue).
-q
--silencieux
N'imprimez pas les messages de progression ordinaires.
--qemu-img-options options[,options,...]
Passé --qemu-img-options option(s) à la qemu-img(1) commande pour affiner la sortie
format. Les options disponibles dépendent du format de sortie (voir --formats) Et le
version installée du programme qemu-img.
Tu devrais utiliser --qemu-img-options au plus une fois. Pour passer plusieurs options, séparez
avec des virgules, par exemple :
virt-dib ... --qemu-img-options cluster_size=512,preallocation=metadata ...
--disque virtuel
Définissez le mode de construction du disque RAM.
Voir "CONSTRUCTION DU DISQUE RAM".
--élément-ramdisk Nom
Définissez le nom de l'élément supplémentaire ajouté en mode de création de disque virtuel. Le défaut
est "disque RAM".
Voir "CONSTRUCTION DU DISQUE RAM".
--étiquette-racine ETIQUETTE
Définissez l'étiquette du système de fichiers racine dans l'image créée.
Veuillez noter que certains systèmes de fichiers ont des restrictions différentes sur la longueur de leur
Étiquettes; par exemple, sur les systèmes de fichiers "ext2/3/4", les étiquettes ne peuvent pas dépasser 16
caractères, tandis que sur "xfs", ils ont au plus 12 caractères.
La valeur par défaut dépend du système de fichiers réel de la partition racine (voir --fs-type):
sur "xfs" est "img-rootfs", tandis que "cloudimg-rootfs" sur n'importe quel autre système de fichiers.
--Taille TAILLE
Sélectionnez la taille du disque de sortie, où la taille peut être spécifiée à l'aide de noms communs
tels que "32G" (32 gigaoctets) etc. La taille par défaut est "5G".
Pour spécifier la taille en octets, le nombre doit être suivi de la lettre minuscule b, par exemple:
"--taille 10737418240b".
Voir aussi virt-redimensionner(1) pour redimensionner les partitions d'une image disque existante.
--skip-base
Ignorez l'inclusion de l'élément "base".
--smp N
Activez N ≥ 2 processeurs virtuels pour les scripts à utiliser.
-u Ne compressez pas les images qcow2 résultantes. La valeur par défaut est de les compresser.
-v
--verbeux
Activez les messages de débogage.
-V
--version
Afficher le numéro de version et quitter.
-x Activez le traçage des appels d'API libguestfs.
ENVIRONNEMENT VARIABLES
Contrairement à " diskimage-builder ", l'environnement de l'hôte est pas hérité dans le
l'appareil lors de l'exécution de la plupart des éléments (c'est-à-dire tous ceux différents de
"extra-data.d").
Pour définir l'environnement des éléments en cours d'exécution, il est nécessaire de dire à virt-dib d'utiliser
eux, avec la possibilité --envvar. Cette option permet d'exporter sélectivement l'environnement
variables lors de l'exécution des éléments, et c'est le moyen préféré de passer l'environnement
variables aux éléments.
Pour rappel : si vous souhaitez que la variable d'environnement "MYVAR" (et son contenu) soit disponible
aux éléments, vous pouvez faire soit
export MYVAR # quelle que soit sa valeur
virt-dib ... --envvar MAVAR ...
or
virt-dib ... --envvar MYVAR=value_of_it ...
HELPER CONDUITE
Virt-dib exécute la plupart de l'élément dans sa propre appliance, et donc pas sur l'hôte. Parce que
de cela, il n'y a aucune possibilité pour les éléments de mettre en cache des ressources directement sur l'hôte.
Pour résoudre ce problème, virt-dib permet l'utilisation d'un lecteur d'assistance où stocker le cache
ressources, comme les images disque, les packages de distribution, etc. Bien que cela signifie qu'il existe un
plus petit espace disponible pour la mise en cache, au moins cela permet de limiter l'espace sur l'hôte pour
caches, sans supposer que les éléments le feront par eux-mêmes.
Actuellement, ce disque doit avoir une seule partition ou la première
partition sur elle sera utilisée. Un disque avec cette dernière configuration peut être facilement créé
avec poisson invité(1) comme suit :
guestfish -N nom_fichier.img=fs:ext4:10G
Ce qui précède va créer une image disque appelée nom de fichier.img, 10G grand, avec une seule partition
de type ext4; voir "IMAGES DISQUE PREPAREES" dans poisson invité (1).
Il est recommandé qu'il soit ≥ 10G ou même plus, car les éléments mettront en cache les images disque,
packages de distribution, etc. Comme pour toute image disque, le disque d'aide peut être facilement redimensionné
grâce à virt-redimensionner(1) si plus d'espace est nécessaire.
Le lecteur est accessible comme n'importe quelle autre image disque, par exemple à l'aide d'autres outils de
libguestfs tels que poisson invité(1):
guestfish -a nom_fichier.img -m /dev/sda1
Si aucun lecteur auxiliaire n'est spécifié avec --conduire, toutes les ressources mises en cache lors d'un virt-dib
l'exécution sera rejetée.
Ressources INTÉRIEUR THE CONDUITE
À l'intérieur du disque d'assistance, il est possible de trouver les ressources suivantes :
/ home
Ce répertoire est défini comme variable d'environnement "HOME" lors de la construction. Il contient
principalement le cache d'images (enregistré sous /home/.cache/image-create), et tout autre
La ressource est mise en cache dans le répertoire personnel de l'utilisateur exécutant les différents outils.
/virt-dib-*.log
Il s'agit des journaux des éléments exécutés dans l'appliance libguestfs, qui
signifie tous les crochets sauf "extra-data.d".
DISQUE RAM IMMEUBLE
Virt-dib peut également émuler "ramdisk-image-create", qui est un mode de fonctionnement secondaire de
"constructeur d'image disque". Au lieu d'être un nom d'outil différent, virt-dib fournit des
accéder à ce mode à l'aide de la --disque virtuel interrupteur.
Dans ce mode :
· il y a un élément de disque virtuel supplémentaire ajouté (voir --élément-ramdisk)
· aucune image n'est produite (donc --formats est ignoré)
· $NOM.d (voir --Nom) contiendra initrd, kernel, etc.
TEMPORAIRE ANNUAIRE
Virt-dib utilise le répertoire temporaire standard utilisé par libguestfs, voir "ENVIRONNEMENT
VARIABLES" dans invités (3).
Par défaut, cet emplacement est / Tmp (valeur par défaut pour "TMPDIR"), qui sur certains systèmes peut
être sur un système de fichiers tmpfs, et donc par défaut à une taille maximale de moitié de RAM physique.
Si virt-dib dépasse ce seuil, il peut se bloquer ou se fermer plus tôt avec une erreur. La solution est de
pointer « TMPDIR » vers un emplacement permanent utilisé comme emplacement temporaire, par exemple :
mkdir local-tmp
env TMPDIR=$PWD/local-tmp virt-dib ...
rm -rf local-tmp
EXTRA DÉPENDANCES
Comme virt-dib exécute la plupart des éléments dans son propre appareil, tous les outils et
bibliothèques utilisées par les éléments s'exécutant en dehors de l'invité (typiquement "root.d",
"block-device.d" et "cleanup.d") doivent également être présents dans l'appliance. Au cas où
ils ne le sont pas, les scripts échoueront principalement avec une erreur "commande introuvable".
Pour les outils et bibliothèques packagés par la distribution, la solution simple est de dire
libguestfs pour inclure des packages supplémentaires dans l'appliance. C'est faisable par exemple
créer un nouveau fichier avec les packages supplémentaires :
# echo wget > /usr/lib64/guestfs/supermin.d/dib-my-extra
Le chemin réel vers le supermin.d répertoire dépend de la distribution; fichiers supplémentaires
peut répertorier plus de packages, chacun dans sa propre ligne.
COMPARAISON avec DISKIMAGE-CONSTRUCTEUR
Virt-dib est destiné à remplacer en toute sécurité « diskimage-builder » et ses
mode « ramdisk-image-créer » ; les différences notables par l'utilisateur consistent en :
· les arguments de la ligne de commande ; certains des arguments sont les mêmes que ceux disponibles dans
« diskimage-builder », tandis que certains ont des noms différents :
disque-image-créer virt-dib
----------------- --------
-a ARCH --arch ARCH
--image-size TAILLE --size TAILLE
--max-online-resize SIZE faisable en utilisant --mkfs-options
-n --skip-base
-o NOMIMAGE --name NOMIMAGE
-p PAQUET(S) --extra-packages PAQUET(S)
-t FORMAT(S) --formats FORMAT(S)
-x --debug N
· l'emplacement des fichiers de sortie non image (comme les disques virtuels et les noyaux)
· la façon dont certaines des ressources mises en cache sont enregistrées : à l'aide d'un lecteur d'assistance, pas directement sur
le disque sur lequel virt-dib est exécuté
· la nécessité de spécifier une taille cible pour le disque de sortie, par opposition à
"diskimage-builder" en calculant un optimal
· la gestion des variables d'environnement, voir "VARIABLES D'ENVIRONNEMENT".
De plus, à part les propres variables d'environnement de libguestfs (voir "ENVIRONNEMENT
VARIABLES" dans invités(3)), virt-dib ne lit aucune autre variable d'environnement : cette
signifie que toutes les options et changements de comportement sont spécifiés uniquement à l'aide de la commande
arguments de ligne
· Les scripts "extra-data.d" s'exécutent dans l'environnement hôte, avant tous les autres (même
"root.d"); cela signifie que, selon la configuration des éléments, certains des
ils peuvent échouer en raison d'un contenu manquant (généralement des répertoires) dans "TMP_HOOKS_PATH".
Les solutions de contournement peuvent être :
· corriger les scripts "extra-data.d" pour créer les répertoires manquants
· créer (et utiliser) un élément simple avec un script "extra-data.d" nommé par exemple
00-créer-répertoires-manquants pour créer les répertoires manquants
· les outils supplémentaires nécessaires sur certaines phases hors chroot doivent être disponibles dans l'appliance,
voir « DÉPENDANCES SUPPLÉMENTAIRES ».
Les éléments eux-mêmes ne devraient pas remarquer de différence dans la manière dont ils sont exécutés ; comportement
les différences peuvent être dues à des hypothèses erronées dans les éléments ou à une émulation virt-dib incorrecte.
Problèmes connus pour le moment :
· (rien)
APPRENTISSAGE LISIBLE SORTIE
Le manuel de formation --lisible par machine L'option peut être utilisée pour rendre la sortie plus conviviale pour la machine, ce qui
est utile lors de l'appel de virt-dib à partir d'autres programmes, interfaces graphiques, etc.
Utilisez l'option seule pour interroger les capacités du binaire virt-dib. Typique
la sortie ressemble à ceci :
$ virt-dib --lisible par machine
virt-dib
sortie:qcow2
sortie:tar
sortie:brute
sortie:vhd
Une liste de fonctionnalités est imprimée, une par ligne, et le programme se termine avec l'état 0.
TESTS
Virt-dib a été testé avec « diskimage-builder » (et ses éléments) ≥ 0.1.43 ; de temps
au temps aussi avec "tripleo-image-elements" et "sahara-image-elements".
Les versions précédentes peuvent fonctionner, mais ce n'est pas garanti.
EXIT STATUT
Ce programme renvoie 0 en cas de succès, ou différent de zéro en cas d'erreur.
Utilisez virt-dib en ligne en utilisant les services onworks.net