Questo è il comando virt-dib che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
virt-dib - Esegue gli elementi diskimage-builder
SINOSSI
virt-dib -B DIB-LIB [opzioni] elementi...
DESCRIZIONE
Virt-dib è uno strumento per utilizzare gli elementi di "diskimage-builder" per creare un nuovo disco
immagine, generare nuovi ramdisk, ecc.
Virt-dib è inteso come sostituto sicuro di "diskimage-builder" e dei suoi
modalità "ramdisk-image-create", vedere "CONFRONTO CON DISKIMAGE-BUILDER" per un rapido
confronto con l'utilizzo di "diskimage-builder".
"diskimage-builder" fa parte del progetto TripleO OpenStack:
https://wiki.openstack.org/wiki/TripleO.
ESEMPI
Silhouette semplice immagini of distribuzioni
virt-dib \
-B /percorso/a/diskimage-builder/lib \
-p /percorso/a/diskimage-builder/elements \
--envvar DIB_RELEASE=jessie \
--nome debian-jessie \
debian vm
Questo crea un'immagine del disco Debian Jessie (8.x), adatta per l'esecuzione come macchina virtuale,
salvato come debian-jessie.qcow2.
Silhouette ramdisk
virt-dib \
-B /percorso/a/diskimage-builder/lib \
-p /percorso/a/diskimage-builder/elements \
--ramdisk \
--nome disco ram \
ubuntu deploy-ironico
Questo crea un ramdisk per il componente Ironic OpenStack basato sulla distribuzione Ubuntu.
VERSIONI
--Aiuto
Mostra aiuto.
-B PERCORSO
Imposta il percorso della directory della libreria di "diskimage-builder". Questo di solito è il lib
sottodirectory nei sorgenti e quando installato, e /usr/share/diskimage-builder/lib
quando installato in / usr.
Questo parametro è obbligatorio, poiché virt-dib deve fornirlo per gli elementi (come alcuni
di loro potrebbe utilizzare script al suo interno). Virt-dib stesso non fa uso della libreria
directory.
--arco ARCHITETTURA
Usa l'architettura specificata per l'immagine di output. Il valore predefinito è lo stesso di
l'host che esegue virt-dib.
In questo momento questa opzione non fa altro che impostare la variabile d'ambiente "ARCH"
per gli elementi, e sta a loro produrre un'immagine per la richiesta
architettura.
- debug LIVELLO
Imposta il livello di debug su "LEVEL", che è un numero intero non negativo. Il predefinito
è 0.
Questo livello di debug è diverso da quello -x e -v set, e aumenta il debug
informazioni stampate. In particolare, questo imposta "DIB_DEBUG_TRACE" e qualsiasi valore
> 0 abilita la traccia negli script eseguiti.
--unità DISCO
Aggiungi il disco specificato da utilizzare come unità di supporto dove memorizzare nella cache i file del
elementi, come immagini disco, pacchetti di distribuzione, ecc.
Vedere "GUIDA DI GUIDA".
-p PERCORSO
--elemento-percorso PERCORSO
Aggiungi un nuovo percorso con elementi. I percorsi vengono utilizzati nello stesso ordine del -p parametri
appaiono, quindi un percorso specificato per primo viene cercato per primo e così via.
Ovviamente si consiglia di aggiungere il percorso ai propri elementi di
"diskimage-builder", poiché la maggior parte degli altri elementi farà affidamento su di essi.
--pacchetti extra PACCHETTO,...
Installa pacchetti aggiuntivi nell'immagine in fase di creazione.
Questo si basa sul binario "install-packages" fornito dalla gestione dei pacchetti
elementi.
Questa opzione può essere specificata più volte, ogni volta con più pacchetti
separati da virgola.
--envvar VARIABILE
--envvar VARIABILE=VALORE
Trasporta o imposta una variabile di ambiente per gli elementi.
Vedere "VARIABILI D'AMBIENTE" di seguito per ulteriori informazioni sull'interazione e l'uso di
variabili ambientali.
Questa opzione può essere utilizzata in due modi:
--envvar VARIABILE
Trasporta la variabile d'ambiente "VARIABLE". Se non è impostato, non viene esportato nulla
agli elementi.
--envvar VARIABILE=VALORE
Imposta la variabile d'ambiente "VARIABLE" con il valore "VALUE" per gli elementi,
indipendentemente dall'esistenza di una variabile di ambiente con lo stesso nome.
Questo può essere utile per passare variabili d'ambiente senza esportarle nel
ambiente in cui viene eseguito virt-dib.
--exclude-elemento ELEMENT
Ignora l'elemento specificato.
--exclude-script SCRIPT
Ignora qualsiasi script di elemento chiamato "SCRIPT", qualunque sia l'elemento in cui si trova.
Questo può essere utile nel caso in cui alcuni script non funzionino bene con virt-dib, ad esempio
quando hanno davvero bisogno dell'ambiente di "diskimage-builder".
--formati FORMATO,...
Imposta l'elenco dei formati di output, separandoli con una virgola.
I formati supportati sono:
"qcow2" (abilitato per impostazione predefinita)
qcow2 di QEMU.
"crudo"
Formato del disco non elaborato.
"catrame"
Un tarball non compresso.
"vhd"
Immagine del disco "Disco rigido virtuale". Questo formato di output richiede lo strumento "vhd-util".
Si prega di notare che la versione dello strumento "vhd-util" deve essere patchata per supportare il
sottocomando "convert" e di essere avviabile. La patch è disponibile qui:
https://github.com/emonty/vhd-util/blob/master/debian/patches/citrix.
--tipo-fs SISTEMA DI FILE
Imposta il tipo di filesystem da utilizzare per il filesystem di root. L'impostazione predefinita è "ext4".
Vedi anche "guestfs_filesystem_available" in ospiti(3).
--image-cache DIRECTORY
Imposta il percorso nell'host in cui memorizzare nella cache le risorse utilizzate dagli elementi del
fase "extra-data.d". L'impostazione predefinita è ~/.cache/image-create.
Tieni presente che la maggior parte delle risorse recuperate dopo "dati extra" verrà memorizzata nella cache
l'unità di supporto specificata con --unità; vedi anche "HELPER DRIVE".
--tipo-installazione TIPO
Specificare il tipo di installazione predefinito. Il valore predefinito è "sorgente".
Impostare su "pacchetto" per utilizzare installazioni basate su pacchetti per impostazione predefinita.
--leggibile dalla macchina
Questa opzione viene utilizzata per rendere l'output più adatto alla macchina quando viene analizzato da
altri programmi. Vedere "USCITA LEGGIBILI DALLA MACCHINA" di seguito.
-m MB
--dimensione mem MB
Modificare la quantità di memoria assegnata all'appliance. Aumenta questo se trovi che
l'esecuzione di virt-dib esaurisce la memoria.
Il valore predefinito può essere trovato con questo comando:
guestfish ottiene-memsize
--mkfs-opzioni "STRINGA OPZIONE"
Aggiungi le opzioni specificate a mkfs(1), per poter mettere a punto il filesystem di root
creazione. Nota che non è possibile sovrascrivere il tipo di filesystem.
Dovresti usare --mkfs-opzioni al massimo una volta. Per passare più opzioni, separale
con spazio, ad esempio:
virt-dib ... --mkfs-options '-O someopt -I foo'
--Rete
--nessuna rete
Abilitare o disabilitare l'accesso alla rete dal guest durante l'installazione.
Abilitato è l'impostazione predefinita. Utilizzo --nessuna rete per disabilitare l'accesso.
La rete consente solo connessioni in uscita e presenta altre limitazioni minori. Vedere
"RETE" in virt-salvataggio(1).
Ciò non influisce sul fatto che il guest possa accedere alla rete una volta che è stato avviato,
perché è controllato dal tuo hypervisor o ambiente cloud e non ha nulla a che fare
fare con virt-dib.
Se si utilizza --nessuna rete, quindi la variabile d'ambiente "DIB_OFFLINE" è impostata su 1,
segnalando agli elementi che dovrebbero utilizzare solo le risorse memorizzate nella cache quando disponibili.
Nota anche che, a differenza di "diskimage-builder" in cui gli elementi potrebbero ancora essere in grado di
l'accesso alla rete anche con "DIB_OFFLINE=", sotto rete virt-dib sarà completamente
inaccessibile.
--nome NOME
Imposta il nome del file immagine di output. L'impostazione predefinita è "immagine".
In base al nome scelto, nella directory corrente saranno presenti:
$NOME.ext
Per ogni formato di output, un'immagine del disco che prende il nome dall'immagine di uscita con il simbolo
estensione a seconda del formato; per esempio: $NOME.qcow2, $NOME.raw, ecc.
Non applicabile in modalità ramdisk, vedere "COSTRUZIONE RAMDISK".
$NOME.d
Una directory contenente qualsiasi file creato dagli elementi, ad esempio dib-
manifesta directory (creata dall'elemento "manifests"), ramdisk e kernel in
modalità ramdisk e così via.
--no-delete-on-fallimento
Non eliminare i file di output in caso di errore di compilazione. Puoi usarlo per eseguire il debug degli errori
per eseguire gli script.
L'impostazione predefinita è eliminare il file di output se virt-dib fallisce (o, ad esempio, alcuni
lo script che esegue non riesce).
-q
--silenzioso
Non stampare i normali messaggi di avanzamento.
--qemu-img-opzioni opzione[,opzione,...]
Passare --qemu-img-opzioni opzione/i per il qemu-img(1) comando per mettere a punto l'output
formato. Le opzioni disponibili dipendono dal formato di output (vedi --formati) e il
versione installata del programma qemu-img.
Dovresti usare --qemu-img-opzioni al massimo una volta. Per passare più opzioni, separare
loro con virgole, ad esempio:
virt-dib ... --qemu-img-options cluster_size=512,preallocazione=metadati ...
--ramdisk
Imposta la modalità di costruzione del ramdisk.
Vedi "Costruzione di RAMDISK".
--elemento-ramdisk NOME
Imposta il nome per l'elemento aggiuntivo aggiunto in modalità di costruzione ramdisk. Il predefinito
è "ramdisk".
Vedi "Costruzione di RAMDISK".
--etichetta-root ETICHETTA
Imposta l'etichetta per il filesystem di root nell'immagine creata.
Tieni presente che alcuni filesystem hanno restrizioni diverse sulla lunghezza del loro
etichette; ad esempio, sui filesystem "ext2/3/4" le etichette non possono essere più lunghe di 16
caratteri, mentre su "xfs" hanno al massimo 12 caratteri.
L'impostazione predefinita dipende dal filesystem effettivo per la partizione root (vedi --tipo-fs):
su "xfs" è "img-rootfs", mentre "cloudimg-rootfs" su qualsiasi altro filesystem.
--dimensione TAGLIA
Seleziona la dimensione del disco di output, dove la dimensione può essere specificata usando nomi comuni
come "32G" (32 gigabyte) ecc. La dimensione predefinita è "5G".
Per specificare la dimensione in byte, il numero deve essere seguito dalla lettera minuscola b, per esempio:
"--dimensione 10737418240b".
Vedi anche ridimensionamento virtuale(1) per ridimensionare le partizioni di un'immagine disco esistente.
--skip-base
Salta l'inclusione dell'elemento "base".
--smp N
Abilita N ≥ 2 CPU virtuali da utilizzare per gli script.
-u Non comprimere le immagini qcow2 risultanti. L'impostazione predefinita è comprimerli.
-v
--verboso
Abilita messaggi di debug.
-V
--versione
Visualizza il numero di versione ed esci.
-x Abilita la traccia delle chiamate API libguestfs.
AMBIENTE VARIABILI
A differenza di "diskimage-builder", l'ambiente dell'host è non è un ereditato nel
apparecchio durante l'esecuzione della maggior parte degli elementi (ovvero tutti quelli diversi da
"extra-data.d").
Per impostare l'ambiente per gli elementi in esecuzione, è necessario dire a virt-dib di usare
loro, con l'opzione --envvar. Tale opzione consente di esportare selettivamente l'ambiente
variabili durante l'esecuzione degli elementi ed è il modo preferito per passare l'ambiente
variabili agli elementi.
Ricapitolando: se vuoi che la variabile d'ambiente "MYVAR" (e il suo contenuto) sia disponibile
agli elementi, puoi fare entrambe le cose
esporta MYVAR # qualunque sia il suo valore
virt-dib ... --envvar MIAVAR ...
or
virt-dib ... --envvar MYVAR=valore_di_it ...
ASSISTENTE DRIVE
Virt-dib esegue la maggior parte dell'elemento nel proprio dispositivo e quindi non nell'host. Perché
di questo, non c'è possibilità per gli elementi di memorizzare nella cache le risorse direttamente sull'host.
Per risolvere questo problema, virt-dib consente l'utilizzo di un'unità di supporto in cui memorizzare nella cache
risorse, come immagini del disco, pacchetti di distribuzione, ecc. Anche se questo significa che c'è un
minore spazio disponibile per la memorizzazione nella cache, almeno permette di limitare lo spazio sull'host per
cache, senza presumere che gli elementi lo faranno da soli.
Attualmente questo disco è richiesto per avere una singola partizione su di esso, o il primo
verrà utilizzata la partizione su di essa. Un disco con quest'ultima configurazione può essere facilmente creato
con pesce ospite(1) come il seguente:
guestfish -N nomefile.img=fs:ext4:10G
Quanto sopra creerà un'immagine del disco chiamata nomefile.img, 10G grande, con una singola partizione
di tipo ext4; vedere "IMMAGINI DEL DISCO PREPARATE" in pesce ospite(1).
Si consiglia che sia ≥ 10G o anche di più, poiché gli elementi memorizzano nella cache le immagini del disco,
pacchetti di distribuzione, ecc. Come con qualsiasi immagine del disco, il disco di supporto può essere facilmente ridimensionato
utilizzando ridimensionamento virtuale(1) se è necessario più spazio.
È possibile accedere all'unità come qualsiasi altra immagine del disco, ad esempio utilizzando altri strumenti di
libguestfs come pesce ospite(1)
guestfish -a nomefile.img -m /dev/sda1
Se non viene specificata alcuna unità di supporto con --unità, tutte le risorse memorizzate nella cache durante un virt-dib
corsa verrà scartata.
RISORSE DENTRO freschi DRIVE
All'interno dell'helper drive è possibile trovare le seguenti risorse:
/ Home
Questa directory è impostata come variabile di ambiente "HOME" durante la compilazione. Contiene
principalmente la cache delle immagini (salvata come /home/.cache/image-create), e qualunque altro
La risorsa è memorizzata nella cache nella directory home dell'utente che esegue i vari strumenti.
/virt-dib-*.log
Questi sono i log degli elementi in esecuzione all'interno dell'appliance libguestfs, che
indica tutti gli hook tranne "extra-data.d".
DISCO RAM EDILIZIA
Virt-dib può emulare anche "ramdisk-image-create", che è una modalità operativa secondaria di
"diskimage-builder". Invece di essere un nome di strumento diverso, virt-dib fornisce un facile
accedere a questa modalità utilizzando il --ramdisk interruttore.
In questa modalità:
· è stato aggiunto un ulteriore elemento ramdisk (vedi --elemento-ramdisk)
· non viene prodotta alcuna immagine (quindi --formati viene ignorato)
· $NOME.d (Vedi --nome) conterrà initrd, kernel, ecc
TEMPORANEO DIRECTORY
Virt-dib usa la directory temporanea standard usata da libguestfs, vedi "AMBIENTE
VARIABILI" in ospiti(3).
Per impostazione predefinita questa posizione è / Tmp (valore predefinito per "TMPDIR"), che su alcuni sistemi potrebbe
essere su un filesystem tmpfs, e quindi di default a una dimensione massima di metà di RAM fisica.
Se virt-dib lo supera, potrebbe bloccarsi o uscire prima con un errore. La soluzione è
puntare "TMPDIR" a una posizione permanente utilizzata come posizione temporanea, ad esempio:
mkdir local-tmp
env TMPDIR=$PWD/tmp-locale virt-dib ...
rm -rf locale-tmp
EXTRA DIPENDENZE
A causa di virt-dib esegue la maggior parte degli elementi nel proprio apparecchio, tutti gli strumenti e
librerie utilizzate da elementi in esecuzione al di fuori del guest (tipicamente "root.d",
Anche "block-device.d" e "cleanup.d") devono essere presenti nell'appliance. Nel caso
non lo sono, gli script falliranno principalmente con un errore "comando non trovato".
Per gli strumenti e le librerie impacchettate dalla distribuzione, la soluzione più semplice è dire
libguestfs per includere pacchetti aggiuntivi nell'appliance. Questo è fattibile ad es
creando un nuovo file con i pacchetti aggiuntivi:
# echo wget > /usr/lib64/guestfs/supermin.d/dib-my-extra
Il vero percorso per il supermin.d la directory dipende dalla distribuzione; file aggiuntivi
può elencare più pacchetti, ciascuno nella propria riga.
CONFRONTO CON DISKIMAGE-COSTRUTTORE
Virt-dib è inteso come sostituto sicuro di "diskimage-builder" e dei suoi
modalità "ramdisk-image-create"; le differenze rilevanti per l'utente consistono in:
· gli argomenti della riga di comando; alcuni degli argomenti sono gli stessi disponibili in
"diskimage-builder", mentre alcuni hanno nomi diversi:
disk-image-crea virt-dib
------------------ --------
-a ARCO --arco ARCO
--dimensione-immagine DIMENSIONE --dimensione DIMENSIONE
--max-online-resize SIZE fattibile usando --mkfs-options
-n --salta-base
-o NOMEIMMAGINE --name NOMEIMMAGINE
-p PACCHETTO(I) --extra-pacchetti PACCHETTO(I)
-t FORMATO(I) --formats FORMATO(I)
-x --debug Non
· la posizione dei file di output non di immagine (come ramdisk e kernel)
· il modo in cui vengono salvate alcune delle risorse memorizzate nella cache: utilizzando un'unità di supporto, non direttamente su
il disco in cui viene eseguito virt-dib
· la necessità di specificare una dimensione di destinazione per il disco di output, al contrario di
"diskimage-builder" che ne calcola uno ottimale
· la gestione delle variabili d'ambiente, vedi “VARIABILI D'AMBIENTE”.
Inoltre, oltre alle variabili d'ambiente proprie di libguestfs (vedi "AMBIENTE
VARIABILI" in ospiti(3)), virt-dib non legge nessun'altra variabile d'ambiente: questo
significa che tutte le opzioni e le modifiche al comportamento sono specificate esclusivamente utilizzando il comando
argomenti di linea
· Gli script "extra-data.d" vengono eseguiti nell'ambiente host, prima di tutti gli altri (anche
"radice.d"); ciò significa che, a seconda della configurazione degli elementi, alcuni di
potrebbero non riuscire a causa del contenuto mancante (di solito directory) in "TMP_HOOKS_PATH".
Le soluzioni alternative per questo possono essere:
· correggere gli script "extra-data.d" per creare le directory mancanti
· creare (e utilizzare) un semplice elemento con uno script "extra-data.d" chiamato eg
00-crea-dir-mancante per creare le directory mancanti
· gli strumenti aggiuntivi necessari per alcune fasi out-of-chroot devono essere disponibili nell'appliance,
vedere "DIPENDENZE AGGIUNTIVE".
Gli elementi stessi non dovrebbero notare alcuna differenza nel modo in cui vengono eseguiti; comportamento
le differenze possono essere dovute a presupposti errati negli elementi o all'emulazione virt-dib non corretta.
Problemi noti al momento:
· (nessuno)
MACCHINA LEGGIBILE USCITA
Il --leggibile dalla macchina l'opzione può essere utilizzata per rendere l'output più adatto alla macchina, il che
è utile quando si chiama virt-dib da altri programmi, GUI ecc.
Utilizzare l'opzione da sola per interrogare le capacità del binario virt-dib. Tipico
l'output è simile a questo:
$ virt-dib --leggibile dalla macchina
virt-dib
uscita: qcow2
uscita: tar
output: grezzo
uscita: vhd
Viene stampato un elenco di funzioni, una per riga, e il programma esce con lo stato 0.
TEST
Virt-dib è stato testato con "diskimage-builder" (e i suoi elementi) ≥ 0.1.43; dal momento
a volte anche con "elementi-immagine-triple" e "elementi-immagine-sahara".
Le versioni precedenti potrebbero funzionare, ma non è garantito.
EXIT STATUS
Questo programma restituisce 0 in caso di successo o diverso da zero in caso di errore.
Usa virt-dib online utilizzando i servizi onworks.net