![在哪里可以记录有关 ubuntu 上的 libguestfs 的错误并寻求帮助?](https://linux22.com/image/984987/%E5%9C%A8%E5%93%AA%E9%87%8C%E5%8F%AF%E4%BB%A5%E8%AE%B0%E5%BD%95%E6%9C%89%E5%85%B3%20ubuntu%20%E4%B8%8A%E7%9A%84%20libguestfs%20%E7%9A%84%E9%94%99%E8%AF%AF%E5%B9%B6%E5%AF%BB%E6%B1%82%E5%B8%AE%E5%8A%A9%EF%BC%9F.png)
我想知道在哪里可以获得有关在 ubuntu 上使用 libguestfs 的帮助。libguestfs 项目页面由 redhat 托管。
我正在尝试在 qemu VM 上使用 guestfish。我可以启动 CLI 控制台,但尝试运行失败。
我的代码是
export LIBGUESTFS_TRACE=1
export LIBGUESTFS_DEBUG=1
set -x
WORKSPACE='tmp'
TARGETDIR='tmp'
guestfish <<_EOF_
add ${WORKSPACE}/trusty-server-cloudimg-amd64-disk1.img
run
_EOF_
set +x
我收到的错误信息是
> root@ubuntu:/tmp# ./test.sh
> ++ WORKSPACE=tmp
> ++ TARGETDIR=tmp
> ++ guestfish libguestfs: trace: set_verbose true libguestfs: trace: set_verbose = 0 libguestfs: create: flags = 0, handle = 0x10d1830,
> program = guestfish libguestfs: trace: add_drive
> "tmp/trusty-amd64-42G.img" libguestfs: trace: add_drive = 0
> libguestfs: trace: launch libguestfs: trace: get_tmpdir libguestfs:
> trace: get_tmpdir = "/tmp" libguestfs: trace: version libguestfs:
> trace: version = <struct guestfs_version *> libguestfs: trace:
> get_backend libguestfs: trace: get_backend = "direct" libguestfs:
> launch: program=guestfish libguestfs: launch: version=1.24.5
> libguestfs: launch: backend registered: unix libguestfs: launch:
> backend registered: uml libguestfs: launch: backend registered:
> libvirt libguestfs: launch: backend registered: direct libguestfs:
> launch: backend=direct libguestfs: launch:
> tmpdir=/tmp/libguestfsoj7MG8 libguestfs: launch: umask=0022
> libguestfs: launch: euid=0 libguestfs: command: run:
> /usr/bin/supermin-helper libguestfs: command: run: \ --verbose
> libguestfs: command: run: \ -f checksum libguestfs: command: run: \
> --host-cpu x86_64 libguestfs: command: run: \ /usr/lib/guestfs/supermin.d supermin helper [00000ms] whitelist = (not
> specified) supermin helper [00000ms] host_cpu = x86_64 supermin helper
> [00000ms] dtb_wildcard = (not specified) supermin helper [00000ms]
> inputs: supermin helper [00000ms] inputs[0] =
> /usr/lib/guestfs/supermin.d supermin helper [00000ms] outputs:
> supermin helper [00000ms] kernel = (none) supermin helper [00000ms]
> dtb = (none) supermin helper [00000ms] initrd = (none) supermin helper
> [00000ms] appliance = (none) checking modpath
> /lib/modules/3.13.0-66-generic is a directory picked kernel
> vmlinuz-3.13.0-66-generic supermin helper [00000ms] finished creating
> kernel supermin helper [00000ms] visiting /usr/lib/guestfs/supermin.d
> supermin helper [00000ms] visiting
> /usr/lib/guestfs/supermin.d/daemon.img.gz supermin helper [00000ms]
> visiting /usr/lib/guestfs/supermin.d/init.img supermin helper
> [00000ms] visiting /usr/lib/guestfs/supermin.d/udev-rules.img supermin
> helper [00000ms] adding kernel modules supermin helper [00013ms]
> finished creating appliance libguestfs: checksum of existing
> appliance:
> d00a2496c32876d41bfc78987c43add8c1c0f0c6f16233bec9d9069e23a57e38
> libguestfs: trace: get_cachedir libguestfs: trace: get_cachedir =
> "/var/tmp" libguestfs: trace: get_cachedir libguestfs: trace:
> get_cachedir = "/var/tmp" libguestfs: [00019ms] begin building
> supermin appliance libguestfs: [00020ms] run supermin-helper
> libguestfs: command: run: /usr/bin/supermin-helper libguestfs:
> command: run: \ --verbose libguestfs: command: run: \ --copy-kernel
> libguestfs: command: run: \ -f ext2 libguestfs: command: run: \
> --host-cpu x86_64 libguestfs: command: run: \ /usr/lib/guestfs/supermin.d libguestfs: command: run: \
> --output-kernel /var/tmp/guestfs.Jwej9Q/kernel libguestfs: command: run: \ --output-initrd /var/tmp/guestfs.Jwej9Q/initrd libguestfs:
> command: run: \ --output-appliance /var/tmp/guestfs.Jwej9Q/root
> supermin helper [00000ms] whitelist = (not specified) supermin helper
> [00000ms] host_cpu = x86_64 supermin helper [00000ms] dtb_wildcard =
> (not specified) supermin helper [00000ms] inputs: supermin helper
> [00000ms] inputs[0] = /usr/lib/guestfs/supermin.d supermin helper
> [00000ms] outputs: supermin helper [00000ms] kernel =
> /var/tmp/guestfs.Jwej9Q/kernel supermin helper [00000ms] dtb = (none)
> supermin helper [00000ms] initrd = /var/tmp/guestfs.Jwej9Q/initrd
> supermin helper [00000ms] appliance = /var/tmp/guestfs.Jwej9Q/root
> checking modpath /lib/modules/3.13.0-66-generic is a directory picked
> kernel vmlinuz-3.13.0-66-generic supermin helper [00013ms] finished
> creating kernel supermin helper [01371ms] finished mke2fs supermin
> helper [01372ms] visiting /usr/lib/guestfs/supermin.d supermin helper
> [01372ms] visiting /usr/lib/guestfs/supermin.d/daemon.img.gz supermin
> helper [01410ms] visiting /usr/lib/guestfs/supermin.d/init.img
> supermin helper [01410ms] visiting
> /usr/lib/guestfs/supermin.d/udev-rules.img /usr/bin/supermin-helper:
> ext2: parent directory not found: /lib: File not found by ext2_lookup
> *stdin*:2: libguestfs: error: /usr/bin/supermin-helper exited with error status 1, see debug messages above libguestfs: command: run: rm
> libguestfs: command: run: \ -rf /var/tmp/guestfs.Jwej9Q libguestfs:
> trace: launch = -1 (error) libguestfs: trace: close libguestfs:
> closing guestfs handle 0x10d1830 (state 0) libguestfs: command: run:
> rm libguestfs: command: run: \ -rf /tmp/libguestfsoj7MG8
> ++ set +x
看来重要的部分是:
supermin helper [01410ms] visiting /usr/lib/guestfs/supermin.d/udev-rules.img
/usr/bin/supermin-helper: ext2: parent directory not found: /lib: File not found by ext2_lookup
*stdin*:2: libguestfs: error: /usr/bin/supermin-helper exited with error status 1, see debug messages above
我该如何开始理解这里发生的事情?我的直觉是,我在其上运行 Guestfish(以实例化另一个 trusty-server-cloudimg-amd64-disk1.img)的客户虚拟机(trusty-server-cloudimg-amd64-disk1.img_)缺少虚拟化所需的某些东西。KVM 加速未启用,但我认为它是不同的东西。