Bug 27235 - Guestfish is not working, maybe missing libvirt-daemon ?
Summary: Guestfish is not working, maybe missing libvirt-daemon ?
Status: RESOLVED OLD
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 7
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Joseph Wang
QA Contact:
URL:
Whiteboard:
Keywords: Triaged
Depends on:
Blocks:
 
Reported: 2020-09-01 17:38 CEST by Jybz
Modified: 2021-09-07 14:09 CEST (History)
0 users

See Also:
Source RPM: libguestfs-1.42.0-6.mga8.src.rpm libvirt-6.6.0-3.mga8.src.rpm
CVE:
Status comment:


Attachments

Description Jybz 2020-09-01 17:38:12 CEST
Hello, our Guestfish tool is not working.
Example :
```
[jybz@localhost mageia4arm (master)]$ guestfish 

Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: ‘help’ for help on commands
      ‘man’ to read the manual
      ‘quit’ to quit the shell

><fs> add ./build/Mageia-7-bananaPro.img
><fs> run
libvirt: XML-RPC error : Failed to connect socket to '/run/user/1000/libvirt/libvirt-sock': Aucun fichier ou dossier de ce type
libguestfs : erreur  : impossible de se connecter à libvirt (URI = qemu:///session): Failed to connect socket to '/run/user/1000/libvirt/libvirt-sock': Aucun fichier ou dossier de ce type [code=38 int1=2]
><fs> 
```

Prior this bug report from RH :
https://bugzilla.redhat.com/show_bug.cgi?id=1632955
```By installing libvirt-daemon-kvm maybe? Looks like the daemon which is
supposed to be started automatically for qemu:///session URI is not running.```

But... I didn't found the daemon, is it missing ?
```
[root@localhost 1919-SS]# urpmf lib64virt0
lib64virt0:/usr/lib/.build-id
lib64virt0:/usr/lib/.build-id/22
lib64virt0:/usr/lib/.build-id/22/bfe5dac5ee40a760755142e4f8243e4d4e1bcb
lib64virt0:/usr/lib/.build-id/4e
lib64virt0:/usr/lib/.build-id/4e/54c0c5a4c439826c5177191edaf1753f8271f6
lib64virt0:/usr/lib/.build-id/ac
lib64virt0:/usr/lib/.build-id/ac/5440631739f4821396ffd33278996f80698081
lib64virt0:/usr/lib/.build-id/b5
lib64virt0:/usr/lib/.build-id/b5/d6ae673ff82fcd8f51cfc45ff21a1d1d7e1216
lib64virt0:/usr/lib64/libvirt-admin.so.0
lib64virt0:/usr/lib64/libvirt-admin.so.0.5003.0
lib64virt0:/usr/lib64/libvirt-lxc.so.0
lib64virt0:/usr/lib64/libvirt-lxc.so.0.5003.0
lib64virt0:/usr/lib64/libvirt-qemu.so.0
lib64virt0:/usr/lib64/libvirt-qemu.so.0.5003.0
lib64virt0:/usr/lib64/libvirt.so.0
lib64virt0:/usr/lib64/libvirt.so.0.5003.0
lib64virt0:/usr/share/licenses/lib64virt0
lib64virt0:/usr/share/licenses/lib64virt0/COPYING
lib64virt0:/usr/share/licenses/lib64virt0/COPYING.LESSER
```
Or :
```
[root@localhost 1919-SS]# urpmf libvirt-daemon
libvirt-docs:/usr/share/doc/libvirt-docs/html/libvirt-daemon-arch.png
libvirt-docs:/usr/share/doc/libvirt-docs/html/libvirt-daemon-arch.png
libvirt-docs:/usr/share/doc/libvirt-docs/html/libvirt-daemon-arch.png
libvirt-docs:/usr/share/doc/libvirt-docs/html/libvirt-daemon-arch.png
[root@localhost 1919-SS]# 
```

So, is something missing ?
Comment 1 Jybz 2020-09-01 17:40:11 CEST
Sorry, I redo my example in english :
> [jybz@localhost mageia4arm (master)]$ LC_ALL=C guestfish -a ./build/Mageia-7-bananaPro.img 
> 
> Welcome to guestfish, the guest filesystem shell for
> editing virtual machine filesystems and disk images.
> 
> Type: ‘help’ for help on commands
>       ‘man’ to read the manual
>       ‘quit’ to quit the shell
> 
> ><fs> run
> libvirt: XML-RPC error : Failed to connect socket to '/run/user/1000/libvirt/libvirt-sock': No such file or directory
> libguestfs: error: could not connect to libvirt (URI = qemu:///session): Failed to connect socket to '/run/user/1000/libvirt/libvirt-sock': No such file or directory [code=38 int1=2]
> ><fs> quit
> 
> [jybz@localhost mageia4arm (master)]$
Comment 2 Jybz 2020-09-01 17:49:12 CEST
Well, it looks like a missing dependency :
after :
> urpmi libvirt-utils
I have :
> [jybz@localhost mageia4arm (master)]$ LC_ALL=C guestfish -a ./build/Mageia-7-bananaPro.img 
> 
> Welcome to guestfish, the guest filesystem shell for
> editing virtual machine filesystems and disk images.
> 
> Type: ‘help’ for help on commands
>       ‘man’ to read the manual
>       ‘quit’ to quit the shell
> 
> ><fs> run
> libguestfs: error: /usr/bin/supermin exited with error status 1.
> To see full error messages you may need to enable debugging.
> Do:
>   export LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1
> and run the command again.  For further information, read:
>   http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs
> You can also run 'libguestfs-test-tool' and post the *complete* output
> into a bug report or message to the libguestfs mailing list.
> ><fs>
Comment 3 Aurelien Oudelet 2020-09-01 21:45:19 CEST
Hi, thanks for reporting this bug.

Really seems a dependencies problem.
Assigned to the package maintainer.
(Please set the status to 'assigned' if you are working on it)

Assignee: bugsquad => joequant
Keywords: (none) => Triaged
Source RPM: guestfish and libvirt => libguestfs-1.42.0-6.mga8.src.rpm libvirt-6.6.0-3.mga8.src.rpm

Comment 4 Jybz 2020-09-01 22:09:30 CEST
Hahahaha, It still doesn't work after adding one missing dependency, but with debug info, I find it funny :

> [jybz@localhost mageia4arm (master)]$ LIBGUESTFS_DEBUG=1 LC_ALL=C guestfish -a ./build/Mageia-7-bananaPro.img 
> libguestfs: create: flags = 0, handle = 0xa71ab0, program = guestfish
> 
> Welcome to guestfish, the guest filesystem shell for
> editing virtual machine filesystems and disk images.
> 
> Type: ‘help’ for help on commands
>       ‘man’ to read the manual
>       ‘quit’ to quit the shell
> 
> ><fs> run
> libguestfs: launch: program=guestfish
> libguestfs: launch: version=1.38.6mageia=7,release=4.mga7,libvirt
> libguestfs: launch: backend registered: unix
> libguestfs: launch: backend registered: uml
> libguestfs: launch: backend registered: libvirt
> libguestfs: launch: backend registered: direct
> libguestfs: launch: backend=libvirt
> libguestfs: launch: tmpdir=/tmp/libguestfsCErbj3
> libguestfs: launch: umask=0022
> libguestfs: launch: euid=1000
> libguestfs: libvirt version = 5005000 (5.5.0)
> libguestfs: guest random name = guestfs-4bba3mf1o100a90f
> libguestfs: connect to libvirt
> libguestfs: opening libvirt handle: URI = qemu:///session, auth = default+wrapper, flags = 0
> libguestfs: successfully opened libvirt handle: conn = 0xa98f50
> libguestfs: qemu version (reported by libvirt) = 4000000 (4.0.0)
> libguestfs: get libvirt capabilities
> libguestfs: parsing capabilities XML
> libguestfs: build appliance
> libguestfs: begin building supermin appliance
> libguestfs: run supermin
> libguestfs: command: run: /usr/bin/supermin
> libguestfs: command: run: \ --build
> libguestfs: command: run: \ --verbose
> libguestfs: command: run: \ --if-newer
> libguestfs: command: run: \ --lock /tmp/.guestfs-1000/lock
> libguestfs: command: run: \ --copy-kernel
> libguestfs: command: run: \ -f ext2
> libguestfs: command: run: \ --host-cpu x86_64
> libguestfs: command: run: \ /usr/lib64/guestfs/supermin.d
> libguestfs: command: run: \ -o /tmp/.guestfs-1000/appliance.d
> supermin: version: 5.1.19
> supermin: rpm: detected RPM version 4.14
> supermin: package handler: mageia/rpm
> supermin: acquiring lock on /tmp/.guestfs-1000/lock
> supermin: build: /usr/lib64/guestfs/supermin.d
> supermin: reading the supermin appliance
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/base.tar.gz type gzip base image (tar)
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/daemon.tar.gz type gzip base image (tar)
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/excludefiles type uncompressed excludefiles
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/hostfiles type uncompressed hostfiles
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/init.tar.gz type gzip base image (tar)
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/packages type uncompressed packages
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/udev-rules.tar.gz type gzip base image (tar)
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/zz-packages-xfs type uncompressed packages
> supermin: mapping package names to installed packages
> supermin: resolving full list of package dependencies
> supermin: build: 217 packages, including dependencies
> supermin: build: 12991 files
> supermin: build: 8118 files, after matching excludefiles
> supermin: build: 8129 files, after adding hostfiles
> supermin: build: 8126 files, after removing unreadable files
> supermin: build: 8187 files, after munging
> supermin: kernel: looking for kernel using environment variables ...
> supermin: kernel: looking for kernels in /lib/modules/*/vmlinuz ...
> supermin: kernel: looking for kernels in /boot ...
> supermin: kernel: kernel version of /boot/vmlinuz-5.7.19-desktop-1.mga7 = 5.7.19-desktop-1.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.7.19-desktop-1.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-5.7.14-desktop-1.mga7 = 5.7.14-desktop-1.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.7.14-desktop-1.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-5.6.14-desktop-2.mga7 = 5.6.14-desktop-2.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.6.14-desktop-2.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-5.6.8-desktop-1.mga7 = 5.6.8-desktop-1.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.6.8-desktop-1.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-5.6.6-desktop-1.mga7 = 5.6.6-desktop-1.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.6.6-desktop-1.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-5.5.15-desktop-3.mga7 = 5.5.15-desktop-3.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.5.15-desktop-3.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-5.5.14-desktop-1.mga7 = 5.5.14-desktop-1.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.5.14-desktop-1.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-5.5.9-desktop-1.mga7 = 5.5.9-desktop-1.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.5.9-desktop-1.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-5.5.6-desktop-2.mga7 = 5.5.6-desktop-2.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.5.6-desktop-2.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-5.5.4-desktop-1.mga7 = 5.5.4-desktop-1.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.5.4-desktop-1.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-5.4.17-desktop-1.mga7 = 5.4.17-desktop-1.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.4.17-desktop-1.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-5.4.12-desktop-1.mga7 = 5.4.12-desktop-1.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.4.12-desktop-1.mga7
> supermin: kernel: kernel version of /boot/vmlinuz-desktop = 5.7.19-desktop-1.mga7 (from content)
> supermin: kernel: picked modules path /lib/modules/5.7.19-desktop-1.mga7
> supermin: kernel: picked vmlinuz /boot/vmlinuz-5.7.19-desktop-1.mga7
> supermin: kernel: kernel_version 5.7.19-desktop-1.mga7
> supermin: kernel: modpath /lib/modules/5.7.19-desktop-1.mga7
> supermin: ext2: creating empty ext2 filesystem '/tmp/.guestfs-1000/appliance.d.6uj06qpm/root'
> supermin: ext2: populating from base image
> supermin: ext2: copying files from host filesystem
> supermin: warning: /sbin/tcb_convert: Permission denied (ignored)
> Some distro files are not public readable, so supermin cannot copy them
> into the appliance.  This is a problem with your Linux distro.  Please ask
> your distro to stop doing pointless security by obscurity.
> You can ignore these warnings.  You *do not* need to use sudo.
> supermin: warning: /sbin/tcb_unconvert: Permission denied (ignored)
> supermin: warning: /usr/bin/chage: Permission denied (ignored)
> supermin: warning: /usr/bin/chfn: Permission denied (ignored)
> supermin: warning: /usr/bin/chsh: Permission denied (ignored)
> supermin: warning: /usr/bin/gpasswd: Permission denied (ignored)
> supermin: warning: /usr/bin/newgidmap: Permission denied (ignored)
> supermin: warning: /usr/bin/newgrp: Permission denied (ignored)
> supermin: warning: /usr/bin/newuidmap: Permission denied (ignored)
> supermin: warning: /usr/libexec/dbus-1/dbus-daemon-launch-helper: Permission denied (ignored)
> supermin: warning: /usr/sbin/glibc-post-wrapper: Permission denied (ignored)
> supermin: warning: /usr/sbin/set_tcb: Permission denied (ignored)
> supermin: warning: /var/cache/ldconfig/aux-cache: Permission denied (ignored)
> supermin: *** parent directory not found ***
> supermin: When reporting this error:
> supermin: please include ALL the debugging information below
> supermin: AND tell us what system you are running this on.
>      src=/var/lib/rpm/alternatives
>     dest=/var/lib/rpm/alternatives
>  dirname=/var/lib/rpm
> basename=alternatives
> supermin: ext2fs_namei: parent directory not found: /var/lib/rpm: File not found by ext2_lookup
> supermin: failure: ext2fs_namei: parent directory not found
> libguestfs: error: /usr/bin/supermin exited with error status 1, see debug messages above
> libguestfs: clear_socket_create_context: setsockcreatecon failed: NULL: Invalid argument [you can ignore this message if you are not using SELinux + sVirt]
> ><fs> 

Specially this part :
> Some distro files are not public readable, so supermin cannot copy them
> into the appliance.  This is a problem with your Linux distro.  Please ask
> your distro to stop doing pointless security by obscurity.
> You can ignore these warnings.  You *do not* need to use sudo.
Comment 5 Jybz 2020-09-02 14:23:07 CEST
Well, the package need to be fixed, I had help from the libguestfs chan :
1) upstream fixed several bugs with version 5.2 (on cauldron, but not on mga7)
2) as root : echo -e "rpm\nlib64tirpc3" >> /usr/lib64/guestfs/supermin.d/zz-local-extra
optional 3) as normal user : rm -rf /tmp/.guestfs-$(id -u)

After that, the app works.
Comment 6 Aurelien Oudelet 2021-07-06 13:15:27 CEST
Mageia 7 is EOL since July 1st 2021.
There will not have any further bugfix for this release.

You are encouraged to upgrade to Mageia 8 as soon as possible.

@reporter, if this bug still apply with Mageia 8, please let us know it.

@packager, if you work on the Mageia 7 version of your package, please check the Mageia 8 package if issue is also present. In this case, please fix the Mageia 8 version instead.

This bug report will be closed OLD if there is no further notice within 1st September 2021.
Comment 7 Marja Van Waes 2021-09-07 14:09:13 CEST
Hi bug reporter and hi assignee and others involved,

Please reopen this bug report if it is still valid for Mageia 8 or 9(cauldron), and change "Version:" in the upper left of this report accordingly.

This report is being closed as OLD because it was filed against Mageia 7, for which  support ended on June 30th 2021.

Thanks,
Marja

Resolution: (none) => OLD
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.