Questo è il comando virt-dib che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre numerose workstation online gratuite come Ubuntu Online, Fedora Online, l'emulatore online di Windows o l'emulatore online di MAC OS
PROGRAMMA:
NOME
virt-dib - Esegui 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 costruire un nuovo disco
immagine, generare nuovi ramdisk, ecc.
Virt-dib è concepito come un sostituto sicuro di "diskimage-builder" e dei suoi
modalità "ramdisk-image-create", vedere "CONFRONTO CON DISKIMAGE-BUILDER" per una rapida
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/verso/diskimage-builder/lib \
-p /percorso/verso/elementi/diskimage-builder \
--envvar DIB_RELEASE=jessie \
--name debian-jessie \
macchina virtuale Debian
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/verso/diskimage-builder/lib \
-p /percorso/verso/elementi/diskimage-builder \
--ramdisk \
--nome ramdisk \
distribuzione di Ubuntu-ironico
In questo modo viene creato 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". Di solito è lib
sottodirectory nelle 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 potrebbero usare degli script al suo interno). Virt-dib stesso non fa uso della libreria
directory.
--arco ARCHITETTURA
Utilizza l'architettura specificata per l'immagine di output. Il valore predefinito è lo stesso di
l'host che esegue virt-dib.
Al momento questa opzione non fa altro che impostare la variabile d'ambiente "ARCH"
per gli elementi, e spetta 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 valore predefinito
è 0.
Questo livello di debug è diverso da quello che -x e -v impostato e aumenta il debug
informazioni stampate. Nello specifico, questo imposta "DIB_DEBUG_TRACE" e qualsiasi valore
> 0 abilita il tracciamento negli script eseguiti.
--unità DISCO
Aggiungere il disco specificato da utilizzare come unità di supporto in cui memorizzare nella cache i file del
elementi, come immagini disco, pacchetti di distribuzione, ecc.
Vedere "HELPER DRIVE".
-p PERCORSO
--percorso-elemento PERCORSO
Aggiungi un nuovo percorso con elementi. I percorsi vengono utilizzati nello stesso ordine di -p parametri
appaiono, quindi il percorso specificato per primo viene esaminato 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 si baseranno su di essi.
--pacchetti extra PACCHETTO,...
Installare 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
Trasportare o impostare una variabile di ambiente per gli elementi.
Vedere "VARIABILI AMBIENTALI" di seguito per maggiori informazioni sull'interazione e l'utilizzo di
variabili ambientali.
Questa opzione può essere utilizzata in due modi:
--envvar VARIABILE
Porta la variabile d'ambiente "VARIABILE". Se non è impostata, non viene esportato nulla
agli elementi.
--envvar VARIABILE=VALORE
Impostare la variabile d'ambiente "VARIABILE" con il valore "VALORE" per gli elementi,
indipendentemente dal fatto che esista una variabile d'ambiente con lo stesso nome.
Questo può essere utile per passare le variabili di ambiente senza esportarle nel
ambiente in cui viene eseguito virt-dib.
--escludi-elemento ELEMENT
Ignora l'elemento specificato.
--escludi-script SCRIPT
Ignora qualsiasi elemento script denominato "SCRIPT", indipendentemente dall'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 realmente bisogno dell'ambiente "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 disco grezzo.
"catrame"
Un tarball non compresso.
"vhd"
Immagine disco "Virtual Hard Disk". 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
sottocomando "convert" e renderlo 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 file system da utilizzare per il file system root. Il valore predefinito è "ext4".
Vedere anche "guestfs_filesystem_available" in ospiti(3).
--immagine-cache DIRECTORY
Imposta il percorso nell'host in cui memorizzare nella cache le risorse utilizzate dagli elementi dell'
Fase "extra-data.d". L'impostazione predefinita è ~/.cache/crea-immagine.
Si prega di notare che la maggior parte delle risorse recuperate dopo "extra-data" verranno memorizzate nella cache
l'unità di supporto specificata con --unità; vedi anche "HELPER DRIVE".
--tipo di 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 allocata all'appliance. Aumentarla se si riscontra che
l'esecuzione di virt-dib esaurisce la memoria.
Il valore predefinito può essere trovato con questo comando:
guestfish ottiene-memsize
--opzioni-mkfs "STRINGA OPZIONALE"
Aggiungi le opzioni specificate a mkfs(1), per poter mettere a punto il file system di root
creazione. Si noti che non è possibile sovrascrivere il tipo di file system.
Dovresti usare --opzioni-mkfs al massimo una volta. Per passare più opzioni, separarle
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 devono utilizzare solo le risorse memorizzate nella cache, quando disponibili.
Si noti inoltre 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 la rete virt-dib sarà completamente
inaccessibile.
--nome NOME
Imposta il nome del file immagine di output. Il nome predefinito è "image".
In base al nome scelto, nella directory corrente ci saranno i seguenti elementi:
$NAME.ext
Per ogni formato di output, un'immagine del disco denominata in base all'immagine di output con il
estensione a seconda del formato; ad esempio: $NAME.qcow2, $NAME.raw, ecc.
Non applicabile in modalità ramdisk, vedere "CREAZIONE RAMDISK".
$NOME.d
Una directory contenente tutti i file creati 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 usare questa opzione per eseguire il debug degli errori.
per eseguire script.
L'impostazione predefinita è quella di 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-options opzione[,opzione,...]
Passare --qemu-img-options opzione/i per il qemu-img(1) comando per ottimizzare l'output
formato. Le opzioni disponibili dipendono dal formato di output (vedere --formati) e il
versione installata del programma qemu-img.
Dovresti usare --qemu-img-options al massimo una volta. Per passare più opzioni, separare
con virgole, ad esempio:
virt-dib ... --qemu-img-options cluster_size=512,preallocation=metadata ...
--ramdisk
Imposta la modalità di creazione del ramdisk.
Vedere "COSTRUZIONE RAMDISK".
--elemento ramdisk NOME
Imposta il nome per l'elemento aggiuntivo aggiunto nella modalità di creazione del ramdisk. Il valore predefinito
è "ramdisk".
Vedere "COSTRUZIONE RAMDISK".
--etichetta-radice ASCIUTTA
Imposta l'etichetta per il file system radice nell'immagine creata.
Si prega di notare che alcuni filesystem hanno diverse restrizioni sulla lunghezza dei loro
etichette; ad esempio, sui file system "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 file system effettivo per la partizione root (vedere --tipo-fs):
su "xfs" è "img-rootfs", mentre su qualsiasi altro file system è "cloudimg-rootfs".
--dimensione TAGLIA
Seleziona la dimensione del disco di output, dove la dimensione può essere specificata usando nomi comuni
ad esempio "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
Saltare 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 è comprimerle.
-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 quando si eseguono la maggior parte degli elementi (vale a dire 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 --envvarTale opzione consente di esportare selettivamente l'ambiente
variabili durante l'esecuzione degli elementi, ed è il modo preferito per passare l'ambiente
variabili agli elementi.
Riassumendo: se si desidera 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 MYVAR ...
or
virt-dib ... --envvar MYVAR=valore_di_esso ...
ASSISTENTE DRIVE
Virt-dib esegue la maggior parte degli elementi nel proprio dispositivo e quindi non sull'host. Poiché
di questo, non c'è alcuna 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 archiviare i dati memorizzati nella cache
risorse, come immagini disco, pacchetti di distribuzione, ecc. Sebbene ciò significhi che esiste un
minore spazio disponibile per la memorizzazione nella cache, almeno consente di limitare lo spazio sull'host per
cache, senza dare per scontato che gli elementi lo faranno da soli.
Attualmente questo disco deve avere una singola partizione su di esso, oppure la prima
verrà utilizzata la partizione su di esso. 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 DISCO PREPARATE" in pesce ospite(1).
Si consiglia che sia ≥ 10G o anche di più, poiché gli elementi memorizzeranno nella cache le immagini del disco,
pacchetti di distribuzione, ecc. Come con qualsiasi immagine disco, il disco di supporto può essere facilmente ridimensionato
utilizzando ridimensionamento virtuale(1) se è necessario più spazio.
È possibile accedere all'unità come a qualsiasi altra immagine 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
la corsa verrà scartata.
RISORSE DENTRO IL DRIVE
All'interno dell'unità helper è possibile trovare le seguenti risorse:
/ Home
Questa directory è impostata come variabile d'ambiente "HOME" durante la compilazione. Contiene
per lo più la cache delle immagini (salvata come /home/.cache/crea-immagine), e qualsiasi altro
la risorsa viene 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 (vedere --elemento ramdisk)
· non viene prodotta alcuna immagine (quindi --formati viene ignorato)
· $NOME.d (Vedi --nome) conterrà initrd, kernel, ecc.
TEMPORANEO DIRECTORY
Virt-dib utilizza la directory temporanea standard utilizzata da libguestfs, vedere "AMBIENTE
VARIABILI" in ospiti(3).
Per impostazione predefinita questa posizione è / Tmp (valore predefinito per "TMPDIR"), che su alcuni sistemi potrebbe
essere su un file system tmpfs e quindi avere una dimensione massima predefinita di metà di RAM fisica.
Se virt-dib supera questo valore, 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/local-tmp virt-dib ...
rm -rf locale-tmp
EXTRA DIPENDENZE
Poiché virt-dib esegue la maggior parte degli elementi nel suo stesso dispositivo, tutti gli strumenti e
librerie utilizzate dagli elementi in esecuzione all'esterno del guest (in genere "root.d",
"block-device.d" e "cleanup.d") devono essere presenti anche nell'appliance. Nel caso
in caso contrario, gli script falliranno nella maggior parte dei casi con un errore "comando non trovato".
Per gli strumenti e le librerie confezionati dalla distribuzione, la soluzione più semplice è dire
libguestfs per includere pacchetti aggiuntivi nell'appliance. Ciò è fattibile ad esempio
creando un nuovo file con i pacchetti aggiuntivi:
# echo wget > /usr/lib64/guestfs/supermin.d/dib-my-extra
Il percorso effettivo per raggiungere il supermin.d la directory dipende dalla distribuzione; file aggiuntivi
può elencare più pacchetti, ognuno su una riga a parte.
CONFRONTO CON DISKIMAGE-BUILDER
Virt-dib è concepito come un sostituto sicuro di "diskimage-builder" e dei suoi
Modalità "ramdisk-image-create"; le differenze più evidenti 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:
creazione-immagine-disco-virt-dib
----------------- --------
-a ARCH --arch ARCH
--image-size DIMENSIONE --size DIMENSIONE
--max-online-resize SIZE realizzabile usando --mkfs-options
-n --salta-base
-o NOMEIMMAGINE --nome NOMEIMMAGINE
-p PACCHETTO(I) --extra-packages PACCHETTO(I)
-t FORMATO(I) --formats FORMATO(I)
-x --debug N
· la posizione dei file di output non immagine (come ramdisk e kernel)
· il modo in cui alcune delle risorse memorizzate nella cache vengono salvate: utilizzando un'unità di supporto, non direttamente su
il disco su cui viene eseguito virt-dib
· la necessità di specificare una dimensione di destinazione per il disco di output, al contrario di
"diskimage-builder" calcola quello ottimale
· la gestione delle variabili d'ambiente, vedere "VARIABILI D'AMBIENTE".
Inoltre, oltre alle variabili di ambiente proprie di libguestfs (vedere "ENVIRONMENT
VARIABILI" in ospiti(3)), virt-dib non legge nessun'altra variabile d'ambiente: questa
significa che tutte le opzioni e le modifiche del comportamento vengono specificate esclusivamente tramite comando
argomenti di riga
· Gli script "extra-data.d" vengono eseguiti nell'ambiente host, prima di tutti gli altri (anche
"root.d"); ciò significa che, a seconda della configurazione degli elementi, alcuni di
potrebbero non funzionare a causa di contenuti mancanti (solitamente directory) in "TMP_HOOKS_PATH".
Le soluzioni alternative a questo problema potrebbero essere:
· correggere gli script "extra-data.d" per creare le directory mancanti
· creare (e utilizzare) un elemento semplice con uno script "extra-data.d" denominato ad esempio
00-crea-cartelle-mancanti per creare le directory mancanti
· gli strumenti aggiuntivi necessari in alcune fasi fuori chroot devono essere disponibili nell'appliance,
vedi "DIPENDENZE EXTRA".
Gli elementi stessi non dovrebbero notare alcuna differenza nel modo in cui vengono eseguiti; comportamento
le differenze potrebbero essere dovute a ipotesi errate negli elementi o a un'emulazione virt-dib non corretta.
Problemi noti al momento:
· (nessuno)
MACCHINA LEGGIBILE USCITA
. --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; da tempo
nel tempo anche con "tripleo-image-elements" e "sahara-image-elements".
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.
Utilizzare virt-dib online utilizzando i servizi onworks.net