I have a machine where I tried to do a system-upgrade from F23 to F24. The download portion worked fine but after the reboot, the upgrade process aborted. I'd like to know why, but first I need to clean up the mess so I can try it again. Right now I have 4782 total packages installed including 1490 fc24 packages. I haven't checked all of them but it appears that all are paired with the same fc23 package.
Trying to repeat the download step, I get this result.
# dnf --allowerasing -y system-upgrade download --releasever 24 Last metadata expiration check: 0:23:15 ago on Tue Sep 6 15:53:47 2016. Dependencies resolved. Error: The operation would result in removing the following protected packages: systemd.
Evidently, there are two systemd packages installed:
# rpm -q systemd systemd-222-14.fc23.x86_64 systemd-229-13.fc24.x86_64
No new kernel was installed and the machine is running fine as F23. But I'd like to get it upgraded...
I tried using "dnf history rollback" but that didn't work, reporting "A transaction cannot be undone". Since dnf won't erase the extra stuff, I can probably do it with something like, "rpm erase --force $(rpm -qa|grep fc24)" but that seems iffy. Better suggestions are very welcome.
On 09/06/2016 04:32 PM, CLOSE Dave wrote:
# dnf --allowerasing -y system-upgrade download --releasever 24 Last metadata expiration check: 0:23:15 ago on Tue Sep 6 15:53:47 2016. Dependencies resolved. Error: The operation would result in removing the following protected packages: systemd.
Evidently, there are two systemd packages installed:
# rpm -q systemd systemd-222-14.fc23.x86_64 systemd-229-13.fc24.x86_64
First do "rpm --rebuilddb" to make sure the rpm database is consistent. Run "systemd-cat --version" to make sure you're currently running 229. If so, then do "rpm -e systemd-222-14". Then try the upgrade again.
No new kernel was installed and the machine is running fine as F23. But I'd like to get it upgraded...
I tried using "dnf history rollback" but that didn't work, reporting "A transaction cannot be undone". Since dnf won't erase the extra stuff, I can probably do it with something like, "rpm erase --force $(rpm -qa|grep fc24)" but that seems iffy. Better suggestions are very welcome.
When the upgrade completes and if you still have extra packages, you can try "dnf distro-sync" to clean it up. Make sure you carefully check the list of packages that it's going to remove.
To find out what happened during the failed upgrade, run "dnf system-upgrade log" to get a list of upgrade attempts. Then run "dnf system-upgrade log <number>" to get the log.
Samuel Sieb answered my plea for help. Thanks!
First do "rpm --rebuilddb" to make sure the rpm database is consistent. Run "systemd-cat --version" to make sure you're currently running 229. If so, then do "rpm -e systemd-222-14". Then try the upgrade again.
I was running 229 (fc24) as you expected. I then did as you suggested. The upgrade seemed to complete successfully.
When the upgrade completes and if you still have extra packages, you can try "dnf distro-sync" to clean it up. Make sure you carefully check the list of packages that it's going to remove.
After system-upgrade, I still have 4599 total packages, 1233 of which are fc23. distro-sync reports 40 "requires" or "conflicts" and suggests --allowerasing. Trying that reports,
Install 7 Packages Upgrade 1 Package Remove 1242 Packages Downgrade 2002 Packages
It seems to be trying to put everything back to F23. "rpm -qa|sort" shows that almost all of the fc23 packages are paired with fc24 packages, both of which are installed. Is there any reason I can't just remove the redundant packages?
To find out what happened during the failed upgrade, run "dnf system-upgrade log" to get a list of upgrade attempts. Then run "dnf system-upgrade log <number>" to get the log.
# dnf system-upgrade log The following boots appear to contain upgrade logs: -- no logs were found --
On 09/07/2016 01:27 PM, CLOSE Dave wrote:
Samuel Sieb answered my plea for help. Thanks! It seems to be trying to put everything back to F23. "rpm -qa|sort" shows that almost all of the fc23 packages are paired with fc24 packages, both of which are installed. Is there any reason I can't just remove the redundant packages?
You probably have both fedora-release packages installed. Remove the 23 one.
On 09/07/2016 01:32 PM, Samuel Sieb wrote:
You probably have both fedora-release packages installed. Remove the 23 one.
That's an excellent idea because dnf doesn't use the contents of /etc/fedora-release, it uses the version of fedora-release.rpm. If you have a dupe, it stops when it finds the older one and uses that. I know, because I've been burned that way.
On 09/07/2016 01:56 PM, Joe Zeff wrote:
That's an excellent idea because dnf doesn't use the contents of /etc/fedora-release, it uses the version of fedora-release.rpm. If you have a dupe, it stops when it finds the older one and uses that. I know, because I've been burned that way.
Me too, from a similar interrupted upgrade situation. That's why I knew the answer right away. :-)
Samuel Sieb wrote:
It seems to be trying to put everything back to F23. "rpm -qa|sort" shows that almost all of the fc23 packages are paired with fc24 packages, both of which are installed. Is there any reason I can't just remove the redundant packages?
You probably have both fedora-release packages installed. Remove the 23 one.
Yes, indeed! After removing fedora-release.fc23, distro-sync reports,
Upgrade 1 Package Remove 1204 Packages Downgrade 1 Package
Much better. All the ones to be removed are fc23.
Is there any counterpart of the old "yum check" where I can verify everything is now ok?
Samuel Sieb wrote:
Is there any counterpart of the old "yum check" where I can verify everything is now ok?
I don't know what "yum check" did. What are you trying to verify?
From the man page for YUM.
check Checks the local rpmdb and produces information on any problems it finds. You can pass the check command the arguments "dependencies", "duplicates", "obsoletes" or "provides", to limit the checking that is performed (the default is "all" which does all).
On 09/07/2016 01:27 PM, CLOSE Dave wrote:
It seems to be trying to put everything back to F23. "rpm -qa|sort" shows that almost all of the fc23 packages are paired with fc24 packages, both of which are installed. Is there any reason I can't just remove the redundant packages?
dnf remove *fc23* will get rid of them all, but there's always the chance that there's a package you need that hasn't been updated yet. Back in the yum days you could use package-cleanup --cleandupes for this, but I don't think there's a dnf version.
I had the same thing happen on an F22->F23 upgrade. Essentially you have to figure out which F24 packages got installed, and remove them by hand. 😖
Then you can resume the upgrade. Make sure the fedora-release-24 package is already installed before you continue!
-- Kevin J. Cummings kjchome@verizon.net cummings@kjchome.homeip.net cummings@kjc386.framingham.ma.us Registered Linux User #1232 (http://www.linuxcounter.net/)
On Sep 6, 2016, at 19:32, CLOSE Dave Dave.Close@us.thalesgroup.com wrote:
I have a machine where I tried to do a system-upgrade from F23 to F24. The download portion worked fine but after the reboot, the upgrade process aborted. I'd like to know why, but first I need to clean up the mess so I can try it again. Right now I have 4782 total packages installed including 1490 fc24 packages. I haven't checked all of them but it appears that all are paired with the same fc23 package.
Trying to repeat the download step, I get this result.
# dnf --allowerasing -y system-upgrade download --releasever 24 Last metadata expiration check: 0:23:15 ago on Tue Sep 6 15:53:47 2016. Dependencies resolved. Error: The operation would result in removing the following protected packages: systemd.
Evidently, there are two systemd packages installed:
# rpm -q systemd systemd-222-14.fc23.x86_64 systemd-229-13.fc24.x86_64
No new kernel was installed and the machine is running fine as F23. But I'd like to get it upgraded...
I tried using "dnf history rollback" but that didn't work, reporting "A transaction cannot be undone". Since dnf won't erase the extra stuff, I can probably do it with something like, "rpm erase --force $(rpm
-qa|grep fc24)" but that seems iffy. Better suggestions are very welcome.
Dave Close
users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://lists.fedoraproject.org/admin/lists/users@lists.fedoraproject.org Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Have a question? Ask away: http://ask.fedoraproject.org