Вывод set -x
направляется на stderr
. Что вам нужно сделать, так это перенаправить stderr
, например:
sh -x your_script.sh 2> debug_info.txt
Если вы хотите отличить вывод stderr
из-за set -x
от обычного stderr
, вы можете использовать тот факт, что вывод set -x
имеет префикс $ PS4
, который по умолчанию равен +
.
bash -x your_script.bash 2> \
\
>(tee >/dev/null \
>(grep '^\+ ' > set_x_output.txt)\
>(grep -v '^\+ ' > rest_of_sdterr.txt)\
)
Если часть вашего обычного вывода stderr
начинается с +
, вы можете изменить префикс по умолчанию, изменив PS4
.
Я думаю, вам нужно преобразовать необработанное изображение в qcow2 с помощью qemu -img. Образ qcow2 будет выделять диск только по мере необходимости (sparse ).
Например:
$ qemu-img convert -O qcow2 myimage.raw myimage.qcow2
Затем замените образ диска в определении виртуальной машины на образ qcow2.
La utilidad estándar para hacer frente a esta situación es virt-sparsify
. Los archivos RAW no admiten la escasez, por lo que deberá cambiar a qcow2, por supuesto.
@tonioc tiene un enfoque más manual, pero definitivamente también funcionará.