Rpm-ostree: Hardlinking error on podman update

Hello,

When I run ‘rpm-ostree update’ today I got the following error:
error: Checkout podman-2:2.0.1-1.fc32.x86_64: Hardlinking 70/5ee685e13938927af53a13dff8fb45a505bbac59710e4e239fc612b9e30848.file to containers-mounts.conf.5.gz: File exists

Does anybody know what I can do about this?

Regards,
masch

Hey there, I haven’t encountered this issue myself, but maybe this is similar to your problem: Hardlinking error

I’ve tried to rebase to testing repo (rpm-ostree rebase fedora:fedora/33/x86_64/testing/silverblue) and I get the same error.

Also, I’ve tried to reinstalling but I get the following error:
error: "podman" is already provided by: podman-2:2.1.1-12.fc33.x86_64. Use --allow-inactive to explicitly require it.

Is anything reported in the journal at the time of the err? Try journalctl -f to follow, and then retry update and see what ends up in the journal.

Also try ostree fsck

1 Like

This is what I get from journalctl:

Dec 27 12:42:44 localhost.localdomain rpm-ostree[2669]: Allowing active client :1.1788 (uid 1000)
Dec 27 12:42:44 localhost.localdomain rpm-ostree[2669]: client(id:cli dbus:1.1788 unit:vte-spawn-aeea2d8e-76db-4828-991a-69aa70d03946.scope uid:1000) added; new total=2
Dec 27 12:42:45 localhost.localdomain rpm-ostree[2669]: Initiated txn Upgrade for client(id:cli dbus:1.1788 unit:vte-spawn-aeea2d8e-76db-4828-991a-69aa70d03946.scope uid:1000): /org/projectatomic/rpmostree1/fedora
Dec 27 12:42:47 localhost.localdomain rpm-ostree[2669]: libostree pull from 'fedora' for fedora/33/x86_64/silverblue complete
                                                        security: GPG: commit 
                                                        security: SIGN: disabled http: TLS
                                                        non-delta: meta: 1 content: 0
                                                        transfer: secs: 1 size: 592 bytes
Dec 27 12:42:49 localhost.localdomain rpm-ostree[2669]: warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
Dec 27 12:42:49 localhost.localdomain rpm-ostree[2669]: warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
Dec 27 12:42:50 localhost.localdomain rpm-ostree[2669]: warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
Dec 27 12:42:51 localhost.localdomain rpm-ostree[2669]: Preparing pkg txn; enabled repos: ['fedora', 'fedora-cisco-openh264', 'rpmfusion-nonfree', 'updates', 'rpmfusion-nonfree-updates', 'rpmfusion-free-updates', 'google-chrome', 'rpmfusion-free'] solvables: 75333
Dec 27 12:42:51 localhost.localdomain rpm-ostree[2669]: warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
Dec 27 12:42:51 localhost.localdomain rpm-ostree[2669]: Txn Upgrade on /org/projectatomic/rpmostree1/fedora failed: Checkout podman-2:2.0.1-1.fc32.x86_64: Hardlinking 70/5ee685e13938927af53a13dff8fb45a505bbac59710e4e239fc612b9e30848.file to containers-mounts.conf.5.gz: File exists
Dec 27 12:42:51 localhost.localdomain rpm-ostree[2669]: client(id:cli dbus:1.1788 unit:vte-spawn-aeea2d8e-76db-4828-991a-69aa70d03946.scope uid:1000) vanished; remaining=1
Dec 27 12:42:51 localhost.localdomain polkitd[944]: Unregistered Authentication Agent for unix-process:25354:7989840 (system bus name :1.1787, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)

I also try ostree fsck and I got this output:

Validating refs in collections...
Enumerating objects...
Verifying content integrity of 733 commit objects...
fsck objects (202997/202997) [=============] 100%

After the fsck execution, I get the same error when I try to upgrade.

Thanks!

Do you have any packages overlayed? Can you give us the output of rpm-ostree status?

Based on you request, I find out that the some time ago I installed a custom toolbox version, here is the status:

                   Version: 33.20201111.0 (2020-11-11T00:48:44Z)
                BaseCommit: 22ff5e2137c11b45910dbc8736e5b7bbca5f6b31b708dd3cc0058e1e52dc9a01
              GPGSignature: Valid signature by 963A2BEB02009608FE67EA4249FD77499570FF32
      ReplacedBasePackages: toolbox 0.0.96-1.fc33 -> 0.0.92-1.fc32, podman podman-plugins 2:2.1.1-12.fc33 -> 2:2.0.1-1.fc32
           LayeredPackages: chromium compat-ffmpeg28 cronie fedora-workstation-repositories ffmpeg-libs firefox-wayland fprintd-pam gcc gnome-boxes gnome-tweaks gstreamer1-libav gstreamer1-plugin-openh264
                            gstreamer1-plugins-bad-free-extras gstreamer1-plugins-ugly lm_sensors lm_sensors-sensord make neovim podman-compose snapd telnet vim
             LocalPackages: rpmfusion-nonfree-release-33-1.noarch  rpmfusion-free-release-33-1.noarch google-chrome-stable-86.0.4240.183-1.x86_64

  ostree://fedora:fedora/33/x86_64/silverblue
                   Version: 33.20201109.0 (2020-11-09T00:43:06Z)
                BaseCommit: b24ce81f90670d5a3acb0839057ba9d6faf013ba22663974b76a7487ecdb1378
              GPGSignature: Valid signature by 963A2BEB02009608FE67EA4249FD77499570F131
      ReplacedBasePackages: toolbox 0.0.96-1.fc33 -> 0.0.92-1.fc32, podman podman-plugins 2:2.1.1-12.fc33 -> 2:2.0.1-1.fc32
           LayeredPackages: chromium compat-ffmpeg28 cronie fedora-workstation-repositories ffmpeg-libs firefox-wayland fprintd-pam gcc gnome-boxes gnome-tweaks gstreamer1-libav gstreamer1-plugin-openh264
                            gstreamer1-plugins-bad-free-extras gstreamer1-plugins-ugly lm_sensors lm_sensors-sensord make neovim podman-compose snapd telnet vim
             LocalPackages: rpmfusion-nonfree-release-33-1.noarch  rpmfusion-free-release-33-1.noarch google-chrome-stable-86.0.4240.183-1.x86_64

After your help, I find out that I still have some fc32 packages:

toolbox-0.0.92-1.fc32.x86_64
podman-plugins-2.0.1-1.fc32.x86_64
podman-2.0.1-1.fc32.x86_64

I don’t know how to replaced them with the f33 corresponding version. I’ve tried to reinstalled but I get the next error:

 Problem 1: cannot install both libgcc-10.2.1-9.fc33.x86_64 and libgcc-10.2.1-6.fc33.x86_64
  - conflicting requests
 Problem 2: cannot install both libgomp-10.2.1-9.fc33.x86_64 and libgomp-10.2.1-6.fc33.x86_64
  - conflicting requests
 Problem 3: conflicting requests
  - package vim-minimal-2:8.2.1961-1.fc33.x86_64 conflicts with vim-enhanced < 2:8.2.1815-2 provided by vim-enhanced-2:8.2.1770-1.fc33.x86_64
  - package vim-enhanced-2:8.2.2146-2.fc33.x86_64 conflicts with vim-minimal <= 2:8.2.2146-2 provided by vim-minimal-2:8.2.1961-1.fc33.x86_64
 Problem 4: conflicting requests
  - package gstreamer1-plugins-bad-free-extras-1.18.0-3.fc33.i686 requires libglib-2.0.so.0, but none of the providers can be installed
  - package gstreamer1-plugins-bad-free-extras-1.18.0-3.fc33.i686 requires libgobject-2.0.so.0, but none of the providers can be installed
  - package gstreamer1-plugins-bad-free-extras-1.18.2-1.fc33.i686 requires libglib-2.0.so.0, but none of the providers can be installed
  - package gstreamer1-plugins-bad-free-extras-1.18.2-1.fc33.i686 requires libgobject-2.0.so.0, but none of the providers can be installed
  - package gstreamer1-plugins-bad-free-extras-1.18.0-3.fc33.x86_64 requires gstreamer1-plugins-bad-free(x86-64) = 1.18.0-3.fc33, but none of the providers can be installed
  - package gstreamer1-plugins-bad-free-extras-1.18.2-1.fc33.x86_64 requires gstreamer1-plugins-bad-free(x86-64) = 1.18.2-1.fc33, but none of the providers can be installed
  - glib2-2.66.4-1.fc33.i686 has inferior architecture
  - glib2-2.66.1-3.fc33.i686 has inferior architecture
  - cannot install both gstreamer1-plugins-bad-free-1.18.0-3.fc33.x86_64 and gstreamer1-plugins-bad-free-1.18.1-1.fc33.x86_64
  - cannot install both gstreamer1-plugins-bad-free-1.18.2-1.fc33.x86_64 and gstreamer1-plugins-bad-free-1.18.1-1.fc33.x86_64
  - cannot install both glib2-2.66.4-1.fc33.x86_64 and glib2-2.66.2-1.fc33.x86_64
  - package ModemManager-1.14.6-1.fc33.x86_64 conflicts with glib2(x86-64) < 2.66.2 provided by glib2-2.66.1-3.fc33.x86_64

You will need to use rpm-ostree override reset -a I believe in order to reset your overrides. (Which should not affect your layered packages, just return the core component(s) back to what is in the commit.) A reboot will then of course be required to use the newer versions of toolbox and podman.

Finally, after your help, I could fix my Fedora. As you said, the problem was on the custom version of toolbox and podman packages. This information was given by the output of rpm-ostree status:

ReplacedBasePackages: toolbox 0.0.96-1.fc33 -> 0.0.92-1.fc32, podman podman-plugins 2:2.1.1-12.fc33 -> 2:2.0.1-1.fc32

I will do a quick resume if someone has the same issue. Here is what I did in order to fix it:

  1. rpm-ostree upgrade gave me the following error:
    error: Checkout podman-2:2.0.1-1.fc32.x86_64: Hardlinking 70/5ee685e13938927af53a13dff8fb45a505bbac59710e4e239fc612b9e30848.file to containers-mounts.conf.5.gz: File exists

  2. In order to reset only the custom packages with:
    rpm-ostree override reset -a
    I got the following error:
    error: Checkout vim-enhanced-2:8.2.2115-1.fc33.x86_64: Hardlinking ab/4a0895ca254af3b2723cd907c171e9eb41aad71ba821f90b68e4afe9cb9918.file to vim.sh: File exists

  3. If I swap the vim package manually with:
    rpm-ostree override remove vim-minimal --install vim-enhanced
    I got the conflict packages errors again.

  4. So in order to remove vim package I run rpm-ostree remove vim,

  5. After vim package was removed, I could run the reset custom packages with:
    rpm-ostree override reset -a

  6. After the reset was done, I restarted my computer I finally I could run the upgrade successfully again.

It’s great to start the new year with Fedora upgrades again!

Thank you very much for your help and happy new year :tada:!

2 Likes

You’re welcome and happy new year to you as well! :partying_face: