ADVERTISEMENT

dnf error conflicting packages between i686 and x86_64

The most typical cause of this error is trying to install packages without having everything up to date. That sometimes causes new dependencies to be brought in which conflict with packages already on disk, and dnf doesn't know that it should update those otherwise-unrelated packages.

In your case, it seems to be something else, since you are seeing the problem while running the update. Here, though, the error is definitely something out of sync between available and installed versions in the different architectures. For example:

file /usr/share/doc/glibc/NEWS from install of 
    glibc-2.25-10.fc26.i686 conflicts with file from package 
    glibc-2.25-7.fc26.x86_64

Linebreaks added to make this obvious: It's trying to install newer i686 packages and it doesn't know to update older glibc.

The first thing I'd check is to see if you have multiple versions of the x86_64 glibc installed. If so, run sudo dnf repoquery --duplicates see the extra versions, and dnf remove --duplicates to clean up. (This will leave the files belonging to the latest package, so is safe even if it tries to remove things which seem important.)

If that's not the case, it may simply be the mirror you are hitting now is not as up-to-date as the one you got earlier. In that case, try sudo dnf clean all and update again.

If that doesn't work, you can often resolve this by temporarily removing all i686 packages. The system will function without them, and then you can do the update, and then put back what you need for compatibility with 32-bit apps.

If you are still getting db errors, you may have a different problem at the RPM level — but start with the above.