我在 libvirt 中有多个不活动的域,我想将它们全部删除:
# virsh list --inactive
Id Name State
----------------------------------
- instance-0000000c shut off
- instance-0000000f shut off
- instance-00000010 shut off
有没有简单的方法可以告诉 libvirt 删除所有不活动的域,或者我必须手动执行:
# virsh undefine instance-0000000c
# virsh undefine ...
答案1
类似这样的事情应该可以工作:
$ virsh list --inactive | grep instance | cut -d " " -f 4 | xargs -n 1 virsh undefine
如果你想在杀死他们之前查看该列表:
$ virsh list --inactive | grep instance | cut -d " " -f 4 > inactive_domains
$ vi inactive_domains
如果一切看起来都很好:
$ cat inactive_domains | xargs -n 1 virsh undefine
答案2
有一个更简洁的方法可以做到这一点:
virsh list --inactive --name | xargs -r -n 1 virsh undefine
小心,它会清除所有东西。此外,当没有东西可清理时,它也不会失败。