Quelqu'un peut-il publier la syntaxe appropriée? J'ai essayé d'utiliser la commande chmod, mais je fais quelque chose de mal. J'essaye juste de déplacer un fichier iso centos vers / images pour configurer un test vm
Quelqu'un peut-il publier la syntaxe appropriée? J'ai essayé d'utiliser la commande chmod, mais je fais quelque chose de mal. J'essaye juste de déplacer un fichier iso centos vers / images pour configurer un test vm
Réponses:
Vous n'êtes pas vraiment "censé" le faire de cette façon, puisque libvirt s'occupe de ses propres pools de volumes. Utilisation:
size=$(stat -Lc%s centos.iso)
virsh vol-create-as default centos $size --format raw
virsh vol-upload --pool default centos centos.iso
Cela créera un volume virsh appelé centos
dans le pool par défaut avec le contenu de centos.iso
.
De cette façon, libvirt prend soin de toutes les autorisations et propriétés nécessaires.
Je suppose deux choses: /var/lib/libvirt/images/
est appartenant à root
et vous n'êtes pas root
. C'est bien , mais vous devez respecter c'est ce que le problème est.
Il serait sans doute plus judicieux de simplement copier le fichier sur en tant que root , en utilisant sudo
:
sudo cp my-image /var/lib/libvirt/images/
Vous pouvez également prendre en charge /var/lib/libvirt/images/
:
sudo chown $USER /var/lib/libvirt/images/
Ou (moins bien) vous pouvez simplement le rendre globalement inscriptibles:
sudo chmod 755 $USER /var/lib/libvirt/images/
Je suivrais la logique selon laquelle c'est racine pour une raison, mais si vous ne faites que jouer et que cela ne sera jamais une machine de production, vous n'avez probablement pas besoin d'être aussi prudent.
Vous pouvez essayer de le faire dans Nautilus, tapez simplement
sudo -i nautilus
puis copiez le fichier comme vous le feriez normalement.
Je sais que c'est un vieux post mais je voulais partager ce que j'ai fait.
Dans mon cas, j'avais besoin d'importer une image qcow2 dans un volume. J'ai utilisé jq, qemu-img et et bash:
# export IMGSIZE=$(qemu-img info --output json /data/myfile.qcow2 | jq -r .[\"virtual-size\"])
# export IMGFMT=$(qemu-img info --output json /data/myfile.qcow2 | jq -r .format)
Listez les pools et sélectionnez celui que vous souhaitez:
# virsh pool-list --all
Name State Autostart
-------------------------------------------
default active yes
# export IMGPOOL=default
Créez le volume:
# virsh vol-create-as $IMGPOOL myvolume $IMGSIZE --format $IMGFMT
Vol myvolume created
Et téléchargez l'image:
# virsh vol-upload --pool $IMGPOOL myvolume /data/myfile.qcow2
Je ne sais pas si vous pouvez diriger qemu-img vers virsh, un peu comme 'qemu-img dd ... | virsh vol-upload ... 'mais ce serait pratique :-)
Merci @Robie Basak pour son message, je l'ai utilisé pour écrire les informations ci-dessus.