Может кто-нибудь опубликовать правильный синтаксис? Я пытался использовать команду chmod, но я делаю что-то неправильно. Я просто пытаюсь переместить файл Centos ISO в / images, чтобы настроить тест VM
Вы можете попробовать сделать это в nautilus, просто наберите
sudo -i nautilus
и после этого скопируйте файл, как вы это обычно делаете.
Я предполагаю две вещи: /var/lib/libvirt/images/
принадлежит root
, а вы нет root
. Это хорошо, но вы должны уважать, в чем проблема.
Вероятно, было бы наиболее разумно просто скопировать файл в как корень , используя sudo
:
sudo cp my-image /var/lib/libvirt/images/
В качестве альтернативы, вы можете взять /var/lib/libvirt/images/
:
sudo chown $USER /var/lib/libvirt/images/
Или (наименее хороший) вы можете просто сделать его доступным для записи:
sudo chmod 755 $USER /var/lib/libvirt/images/
Я бы следовал логике, что это корень по какой-то причине, но если вы просто играете и это никогда не будет производственной машиной, вам, вероятно, не нужно быть таким осторожным.
Я знаю, что это - старое сообщение, но я хотел совместно использовать то, что я сделал.
В моем случае я должен был импортировать изображение qcow2 в объем. Я использовал jq, qemu-img и и удар:
# 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)
Перечислите пулы и выберите тот, который Вы хотите:
# virsh pool-list --all
Name State Autostart
-------------------------------------------
default active yes
# export IMGPOOL=default
Создайте объем:
# virsh vol-create-as $IMGPOOL myvolume $IMGSIZE --format $IMGFMT
Vol myvolume created
И загрузка изображение:
# virsh vol-upload --pool $IMGPOOL myvolume /data/myfile.qcow2
Я не знаю, можно ли передать qemu-img по каналу к virsh, виду подобных 'qemu-img dd... | virsh vol-загрузка...', но это было бы удобно :-)
Спасибо @Robie Basak для его сообщения, я использовал его для записи информации выше.
Вы не «должны» делать это таким образом, поскольку libvirt заботится о своих собственных пулах томов. Используйте:
size=$(stat -Lc%s centos.iso)
virsh vol-create-as default centos $size --format raw
virsh vol-upload --pool default centos centos.iso
Это создаст чистый том с именем centos
в пуле по умолчанию с содержимым centos.iso
.
Таким образом, libvirt позаботится обо всех необходимых разрешениях и праве собственности.