Last weekend I’ve upgraded my home server from Leap 15.6 to Leap 16 using the opensuse-migration-tool. It was a bit more hassle, which is to be expected with a mayor version jump and especially with so many changes, no complaints from me!
Documentation is a bit scarse and all over the place, also to be expected as an early adopter.
After the upgrade I had some issues starting cockpit. I did experiment a tiny bit with cockpit on 15.6 a while ago (and didn’t completely remove it). That issue led me to discover that since 16 default configurations reside in /usr/etc; the issue was caused by the old /etc/nsswitch.conf overriding the new /usr/etc/nsswitch.conf.
So, finally my question: Should I diff between each new default config in /usr/etc/ and existing config in /etc? I was used to ‘only’ checking for .rpmnew and .rpmsave, the fact that there was no .rpmnew for nsswitch.conf was a bit teethgrinding at first.
I wouldn’t, because it is too much effort and hard to maintain sufficient alertness. But I should add that I have not yet upgraded to 16.0.
Yes, it is a problem that we won’t have reminders with the “.rpmnew” and “.rpmsave” files. So occasionally something will break. Where possible, it is better to use the “/etc/*.d” directories to override only the part of the configuration that you need to change.
2025-10-10T20:44:45.313563+02:00 turbo chage[22635]: shadow: unknown configuration item 'USERADD_CMD' in ''
2025-10-10T20:44:45.313731+02:00 turbo chage[22635]: shadow: unknown configuration item 'USERDEL_PRECMD' in ''
2025-10-10T20:44:45.313817+02:00 turbo chage[22635]: shadow: unknown configuration item 'USERDEL_POSTCMD' in ''
2025-10-10T20:44:45.313891+02:00 turbo chage[22635]: shadow: unknown configuration item 'CHARACTER_CLASS' in ''
2025-10-10T20:44:55.221007+02:00 turbo gpasswd[22701]: shadow: unknown configuration item 'USERADD_CMD' in ''
2025-10-10T20:44:55.221181+02:00 turbo gpasswd[22701]: shadow: unknown configuration item 'USERDEL_PRECMD' in ''
2025-10-10T20:44:55.221256+02:00 turbo gpasswd[22701]: shadow: unknown configuration item 'USERDEL_POSTCMD' in ''
2025-10-10T20:44:55.221333+02:00 turbo gpasswd[22701]: shadow: unknown configuration item 'CHARACTER_CLASS' in ''
Obviously the pre 16 default login.defs configuration is located in /etc, with my (yast’s to be specific) customizations in /etc/login.defs.d. The new default configuration is in /usr/etc.
I’m starting to wonder if my migration didn’t go as well as I thought since I can hardly find anything related happening to other users.
Ofcourse, but I’d rather be ahead of them
It’s probably pretty much beyond the scope of zypper and/or rpm to mark those configurations, but it would be very great to get at least a notice somewhere.
I’m aware it’s in the openSUSE Leap Release Notes, but moved seems more applicable for fresh installations. Perhaps the upgrade instructions should point it out as well. (And I will try to find some time this weekend to add it to the article )
Main configuration files have been moved from /etc to /usr.
The location for the default configuration files has been moved. For many packages the files have been moved as well. But for some packages the default, untouched configurations have not been moved, thus overriding the new defaults.
Simply mentioning a move is applicable to a fresh installation, but not for an upgrade.
Also, it could be mentioned in a separate section under Major changes in the upgrade guide.
Disclaimer: it’s just my opinion, and I could be totally wrong!
That needs to be investigated on the case by case basis. In general, packages do not expect to contain files in /etc, so on update RPM should have removed unmodified files previously located there (because from RPM point of view, files were deleted). There are exceptions though, most prominent being glibc marking /etc/nsswitch.conf as %ghost causing it to survive update.
So, in general your expectations are correct. If you find a package that does something different, I would say it is the topic for bug report.