[root@localhost ]# qemu-img convert -f qcow2 -O raw CentOS-8-8.1.1911.x86_64.qcow2 CentOS-8-8.1.1911.x86_64.raw [root@localhost ]# losetup /dev/loop12 CentOS-8-8.1.1911.x86_64.raw [root@localhost ]# kpartx -av /dev/loop12 add map loop12p1 (253:39): 0 16384000 linear /dev/loop12 2048 [root@localhost ]# mount /dev/mapper/loop121 /mnt/uloop1 mount: special device /dev/mapper/loop121 does not exist [root@localhost ]# ls /dev/mapper/loop12* /dev/mapper/loop12p1 [root@localhost ]# mount /dev/mapper/loop12p1 /mnt/uloop1 mount: wrong fs type, bad option, bad superblock on /dev/mapper/loop12p1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so. [root@localhost ]# mount /dev/mapper/loop12p1 /mnt/uloop1 mount: wrong fs type, bad option, bad superblock on /dev/mapper/loop12p1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so. [root@localhost ]# dmesg | tail [24217206.273962] audit: type=2407 audit(1588926575.500:363800): pid=12402 uid=0 auid=0 ses=40840 msg='op=start direction=from-client cipher=aes256-ctr ksize=256 mac=hmac-sha2-256 pfs=curve25519-sha256@libssh.org spid=12402 suid=0 rport=61949 laddr=10.10.16.81 lport=22 exe="/usr/sbin/sshd" hostname=? addr=192.168.117.59 terminal=? res=success' [24217206.784392] audit: type=2404 audit(1588926576.020:363801): pid=12402 uid=0 auid=0 ses=40840 msg='op=destroy kind=session fp=? direction=from-client spid=12402 suid=0 rport=61949 laddr=10.10.16.81 lport=22 exe="/usr/sbin/sshd" hostname=? addr=192.168.117.59 terminal=? res=success' [24217207.425489] audit: type=2404 audit(1588926576.660:363802): pid=12402 uid=0 auid=0 ses=40840 msg='op=destroy kind=session fp=? direction=from-server spid=12402 suid=0 rport=61949 laddr=10.10.16.81 lport=22 exe="/usr/sbin/sshd" hostname=? addr=192.168.117.59 terminal=? res=success' [24217231.959668] audit: type=1101 audit(1588926601.190:363803): pid=22452 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:accounting grantors=pam_access,pam_unix,pam_localuser acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success' [24217231.959806] audit: type=1103 audit(1588926601.190:363804): pid=22452 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred grantors=pam_env,pam_unix acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success' [24217231.959880] audit: type=1006 audit(1588926601.190:363805): pid=22452 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=40848 res=1 [24217231.965559] audit: type=1105 audit(1588926601.200:363806): pid=22452 uid=0 auid=0 ses=40848 msg='op=PAM:session_open grantors=pam_loginuid,pam_keyinit,pam_limits,pam_systemd acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success' [24217231.966111] audit: type=1110 audit(1588926601.200:363807): pid=22452 uid=0 auid=0 ses=40848 msg='op=PAM:setcred grantors=pam_env,pam_unix acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success' [24217231.994365] audit: type=1104 audit(1588926601.230:363808): pid=22452 uid=0 auid=0 ses=40848 msg='op=PAM:setcred grantors=pam_env,pam_unix acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success' [24217231.995503] audit: type=1106 audit(1588926601.230:363809): pid=22452 uid=0 auid=0 ses=40848 msg='op=PAM:session_close grantors=pam_loginuid,pam_keyinit,pam_limits,pam_systemd acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'
[root@localhost ]# guestfish --rw -a CentOS-8-8.1.1911.x86_64.raw 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>list-filesystems libguestfs: error: list_filesystems: call launch before using this function (in guestfish, don't forget to use the 'run' command) ><fs> run $<2>◑ 75% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒═════════════════════════⟧ 00$<2> 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00 ><fs> list-filesystems /dev/sda1: xfs ><fs>
><fs> list-filesystems /dev/sda1: xfs ><fs> ls / libguestfs: error: ls0: ls0_stub: you must call 'mount' first to mount the root filesystem ><fs> mount /dev/sda1 / ><fs> ls / bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var ><fs> ls /etc/passwd libguestfs: error: ls0: opendir: /etc/passwd: Not a directory ><fs> cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin polkitd:x:998:996:User for polkitd:/:/sbin/nologin rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin unbound:x:997:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin sssd:x:996:993:User for sssd:/:/sbin/nologin setroubleshoot:x:995:992::/var/lib/setroubleshoot:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin cockpit-ws:x:994:991:User for cockpit-ws:/nonexisting:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin chrony:x:993:990::/var/lib/chrony:/sbin/nologin
[root@localhost ]# guestfish --rw -a CentOS-8-8.1.1911.x86_64.raw -i edit /etc/passwd sh: vi: command not found vi /tmp/libguestfsTtqOOB: Success
><fs> vi /etc/passwd sh: vi: command not found vi /tmp/libguestfsqO29eG: Success ><fs> vim /etc/passwd vim: unknown command ><fs> edit /etc/passwd sh: vi: command not found vi /tmp/libguestfsGvsWu8: Success ><fs> quit
guestfish --rw -a CentOS-8-8.1.1911.x86_64.raw -i sh "sed -i 's/root:x:/root::/g' /etc/passwd"
https://docs.openstack.org/image-guide/modify-images.html
[root@localhost ]# guestmount -a CentOS-8-8.1.1911.x86_64.raw -m /dev/sda1 --rw /mnt/uloop3 [root@localhost ]# cd /mnt/uloop3/
PATH=$PATH:/bin:/sbin:/usr/sbin:/usr/bin
[root@localhost uloop3]# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@localhost uloop3]# cd - /data2/cloudimages/ neo [root@localhost ]# umount /mnt/uloop3 [root@localhost ]#