Not able to update dom0

Sure. But sudo dnf upgrade should, since the packages got downloaded and moved to dom0.

1 Like

Ah, it fails due to /var/lib/qubes/updates/repodata is missing and being removed on each qubes-dom0-update run.

sudo dnf upgrade
Qubes OS Repository for Dom0                                                                                                                                  0.0  B/s |   0  B     00:00    
Errors during downloading metadata for repository 'qubes-dom0-cached':
  - Curl error (37): Couldn't read a file:// file for file:///var/lib/qubes/updates/repodata/repomd.xml [Couldn't open file /var/lib/qubes/updates/repodata/repomd.xml]
Error: Failed to download metadata for repo 'qubes-dom0-cached': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Ignoring repositories: qubes-dom0-cached
Dependencies resolved.
Nothing to do.
Complete!

Please post the output of cat /etc/yum.repos.d/qubes-dom0.repo. There seems to be some bad repo source.

[qubes-dom0-current]
name = Qubes Host Repository (updates)
#baseurl = https://yum.qubes-os.org/r$releasever/current/host/fc37
#baseurl = http://yum.qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/r$releasever/current/host/fc37
metalink = https://yum.qubes-os.org/r$releasever/current/host/fc37/repodata/repomd.xml.metalink
skip_if_unavailable=False
enabled = 1
metadata_expire = 6h
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-$releasever-primary

[qubes-dom0-current-testing]
name = Qubes Host Repository (updates-testing)
#baseurl = https://yum.qubes-os.org/r$releasever/current-testing/host/fc37
#baseurl = http://yum.qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/r$releasever/current-testing/host/fc37
metalink = https://yum.qubes-os.org/r$releasever/current-testing/host/fc37/repodata/repomd.xml.metalink
skip_if_unavailable=False
enabled = 0
metadata_expire = 6h
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-$releasever-primary

[qubes-dom0-security-testing]
name = Qubes Host Repository (security-testing)
#baseurl = https://yum.qubes-os.org/r$releasever/security-testing/host/fc37
#baseurl = http://yum.qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/r$releasever/security-testing/host/fc37
metalink = https://yum.qubes-os.org/r$releasever/security-testing/host/fc37/repodata/repomd.xml.metalink
skip_if_unavailable=False
enabled = 0
metadata_expire = 6h
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-$releasever-primary

[qubes-dom0-unstable]
name = Qubes Host Repository (unstable)
#baseurl = https://yum.qubes-os.org/r$releasever/unstable/host/fc37
#baseurl = http://yum.qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/r$releasever/unstable/host/fc37
metalink = https://yum.qubes-os.org/r$releasever/unstable/host/fc37/repodata/repomd.xml.metalink
skip_if_unavailable=False
enabled = 0
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-$releasever-unstable

Try to hardcode the version string into the metadata source url ā€œmetalinkā€ in line 4; change from

metalink = https://yum.qubes-os.org/r$releasever/current/host/fc37/repodata/repomd.xml.metalink

to

metalink = https://yum.qubes-os.org/r4.2/current/host/fc37/repodata/repomd.xml.metalink

Just temporarily ā€¦ for sure.

That did not seem to make any difference when updating.

OK. Another try ā€¦ please.

sudo qubesctl --show-output state.sls update.qubes-dom0

It seems like this hangs, after a while I cancelled with ctrl-C but it does not output anything.

Are you using a (more or less) standard system, or have you changed anything fundamental, such as changing sys-* templates, customizing dom0 etc.?

It seems to me that your system is somewhat damaged. Essential scripts do not work (salt state), there is no output. Some caches donā€™t get filled/catalogs donā€™t get downloaded etc. I donā€™t know why /usr/lib/xen is also not available (/var/log/dnf.rpm.log).

If I were you, I wouldnā€™t trust this base system and back up my qubes and custom scripts in dom0 and reinstall. I suspect it will take less time than anything weā€™ve invested so far.

A last try, just to evaluate some more, in dom0 terminal, please.

dnf history list

When itā€™s hanged, check process list in the updatevm (sys-firewall) - simply run ps auxfw, and find what processes as below qubes-download-dom0-updates.sh script. If there is qrexec-client-vm, then do the same in dom0 and here check for child processes of qubes-receive-updates.sh (or qubes.ReceiveUpdates). Check also /var/log/qubes/qrexec.sys-firewall.log for errors.

1 Like