System completely broken after changing repo to rolling (Resolved)

Hello,

  • _OpenMandriva Lx version:_4.2

  • Desktop environment (KDE, LXQT…): KDE

  • _Description of the issue (screenshots if relevant):_I changed my repo to rolling and ran sudo dnf --refresh distro-sync, and then rebooted. No accounts are accessible. This is the second time. The first time, I chrooted into the install and changed the root password, and it said my user account (fishe) did not exist, even when it showed up in the users command. Additionally, KDE kept giving errors that very many things were inaccessible. What can I do?

  • Relevant informations (hardware involved, software version, logs or output…):

1 Like

At the end of the dnf distro-sync did you answer some questions? Questions about some files like /etc/passwd, /etc/shadow, /etc/group, and /etc/gshadow. Those are the files that contain your users, groups, and passwords.

More here

If you can chroot into or simply boot in to console login you can easily re-create users and passwords. Also you might look in /etc and see if you have files like /etc/shadow.rpm.old. If so you could just copy that back to /etc/shadow. You want to check all four of those files.

Hope this helps.

Hey Ben,
Thanks for replying. I actually just figured it out! It asks to replace a few packages at the very end, you have to answer no.

1 Like

Yes, but whether you answer yes or no depends on the file. For /etc/passwd , /etc/shadow , /etc/group , and /etc/gshadow you generally would want to keep the original files. For .repo files or files about grub2 you generally want to accept the new files.

I just wrote this post because we have seen several users having this issue.

And the questions at the end are not always the same but the ones about those 4 files are almost always a part of this system upgrade.

Hello,
After following the post and upgrading OM, DNF and the KDE app menu is broken,
Running DNF gives me this error:

Traceback (most recent call last):
  File "/usr/bin/dnf", line 57, in <module>
    from dnf.cli import main
  File "/usr/lib/python3.9/site-packages/dnf/__init__.py", line 30, in <module>
    import dnf.base
  File "/usr/lib/python3.9/site-packages/dnf/base.py", line 29, in <module>
    import libdnf.transaction
  File "/usr/lib64/python3.9/site-packages/libdnf/__init__.py", line 12, in <module>
    from . import conf
  File "/usr/lib64/python3.9/site-packages/libdnf/conf.py", line 13, in <module>
    from . import _conf
ImportError: libicuuc.so.68: cannot open shared object file: No such file or directory

Opening the KDE app menu gives me this error:

file:///usr/share/plasma/plasmoids/org.kde.plasma.kicker/contents/ui/main.qml:27:1: plugin cannot be loaded for module "org.kde.plasma.private.kicker": Cannot load library /usr/lib64/qt5/qml/org/kde/plasma/private/kicker/libkickerplugin.so: (libicuuc.so.68: cannot open shared object file: No such file or directory)
1 Like

That is this bug

I was not aware that affected upgrading from Lx 4.2 to Rolling.

The fix is to create these 3 symbolic links

$ sudo ln -s /usr/lib64/libicudata.so.69.1 /usr/lib64/libicudata.so.68

$ sudo ln -s /usr/lib64/libicui18n.so.69.1 /usr/lib64/libicui18n.so.68

$ sudo ln -s /usr/lib64/libicuuc.so.69.1 /usr/lib64/libicuuc.so.68

I get a ‘file exists’ error with all three.

[fishe@fisheplex ~]$ sudo ln -s /usr/lib64/libicudata.so.69.1 /usr/lib64/libicudata.so.68
[sudo] password for fishe: 
ln: failed to create symbolic link '/usr/lib64/libicudata.so.68': File exists
[fishe@fisheplex ~]$ sudo ln -s /usr/lib64/libicui18n.so.69.1 /usr/lib64/libicui18n.so.68
ln: failed to create symbolic link '/usr/lib64/libicui18n.so.68': File exists
[fishe@fisheplex ~]$ sudo ln -s /usr/lib64/libicuuc.so.69.1 /usr/lib64/libicuuc.so.68
ln: failed to create symbolic link '/usr/lib64/libicuuc.so.68': File exists
1 Like

Remove the existing file and then create the new links.

I think this should work:

$ sudo rm /usr/lib64/libicudata.so.68 /usr/lib64/libicui18n.so.68 /usr/lib64/libicuuc.so.68

Then:

$ sudo ln -s /usr/lib64/libicudata.so.69.1 /usr/lib64/libicudata.so.68

$ sudo ln -s /usr/lib64/libicui18n.so.69.1 /usr/lib64/libicui18n.so.68

$ sudo ln -s /usr/lib64/libicuuc.so.69.1 /usr/lib64/libicuuc.so.68

Edit: You are removing an incorrect link to the .so.68 files and replacing the link with the correct one.

1 Like

Thanks! This worked fully.

1 Like

All right thanks for the feedback @fishe . That will help some other folks.

1 Like