from virtual console 1 logged in as the /root, the upgraded checks for conflicts and then tells me that 5 python packages are in conflict. I am not sure what to do but I go ahead in each case and tell the upgrade to use the new packages, even though the new packages look like python 2 and the current packages look like python 3. The upgrade proceeds, all the packages are downloaded and then all the packages are installed. Finally I am given page after page of further Python conflicts which I am told will be resolved. I try to logoff from the virtual console by using the command ‘exit’ but am toldf somethhing has gone wrong and ‘exit’ does not work. Then I swictch back to the graphical display and log off. After logging off I can reboot from the graphical logon menu. When I reboot the menu says OS 15.3, but alas it boots only to a command line prompt with various messages about /etc being locked and no machine ID existing.
I can restore my partitions and go back to a successful boot into 15.2 but each time I try to upgrade to 15.3 using the system upgrade procedure I get the same failure. Can anybody tell me what I might be doing wrong ? I have upgraded from previous releases to the latest release using the system upgrade procedure, but it is not working for me now.
The instructions for updating have been revised from earlier versions; this is the sequence I used which worked successfully with a fairly standard installation but did not with one which had been extensively customised to do some course work:
zypper ref
zypper up
nano /etc/zypp/vars.d/releasever -- To make this 15.3
cp -Rv /etc/zypp/repos.d /etc/zypp/repos.d.Old
sed -i 's/15\.2/${releasever}/g' /etc/zypp/repos.d/*.repo
zypper --releasever=15.3 ref
zypper --releasever=15.3 dup
zypper verify
You will need to do some additional steps before this if your root partition is btrfs - see https://en.opensuse.org/SDB:System_upgrade - and, if you have extensively customised your installation, you may find that this does not succeed.
I can’t say what is going wrong, but what I do in situations where the conflicts do not involve any package involved in the update process itself, I force remove the conflicting packages with rpm, e.g.:
Without the conflicting packages installed, the upgrade should not balk because of them. If they are really necessary packages, something will usually cause the newer ones to be installed rather than upgraded.
It seems the problem may be that I was getting upgraded Python packages from a Build repo. Is it possible under Yast software management to refresh all my Python packages from the main OS repositories ?
I have solved all the Python conflict problems by doing what you suggested and also updating unconditionally all the python packages in the system from the main OpenSuse repositories after disabling all the other build service repositories. This time when I did the system upgrade from the command line there were never conflicts at any point.
However upon rebooting, OS 15.3 ended at a command line login with the message:
"System cannot boot: Missing /etc/machine-id and /etc is mounted read-only."
I can of course restorel OS 15.2 from backup if necessary and start the command line update again but it sounds like I need to do something else to OS 15.2 to get it to boot up successfully when I reboot my system after upgrading to 15.3. Do you have any idea what that is ?
Is it followed by an opportunity to login on vtty3, or is a shell prompt already present? That’s the same problem as in your original post. If you can login, then you can probably do
sudo mount -o remount,rw /
and troubleshoot further.
Did you try booting with any advanced kernel option at the Grub menu?
Is this an installation on BTRFS?
How did you update 15.2 before upgrading to 15.3? Did you do zypper dup on 15.2 after disabling all the buildservice repos? I’ve never used optional repos for Python, or had Python get in the way of a successful Leap dup.
What commands did you use to upgrade?
Before yet another do-over, let’s try to find out what keeps going wrong.
I am just following the instructions at https://en.opensuse.org/SDB:System_upgrade for upgrading at the command line. I do not have btrfs. Everything appears to go fine with the upgrade but when I reboot I get the result I have just explained. Why am I missing a machine ID and why is /etc mounted read only after I reboot ? I have no idea. I am not doing anything strange other than picking the normal default boot item from the grub menu.
When I look at my 15.2 directories there is no /etc/machine-id file but the /etc, which is mounted as r/w as part of the / partition, is read/write. Am I supposed to have an /etc/machine-id file in 15.2 ?
You can create an empty file called machine-id](https://man7.org/linux/man-pages/man1/systemd-machine-id-setup.1.html), reboot your computer and systemd will add the 32 character id to this file while you’re using your disk.
Change /etc to rw - your system needs access to write to files like **machine-id **after you’ve booted up. Usually the installer creates this unique id.
OK, I will add as root an empty machine-id file to /etc in 15.2 and first reboot back into 15.2 and then upgrade. I do not understand what is meant by changing /etc to rw ? The root has full rw access to the /etc directory in 15.2. What am I supposed to do to solve the problem when I upgrade to 15.3 and reboot, and why would the 15.3 upgrade change the /etc directory to read-only if it already exists as read-write for root ? Are you suggesting I change the permissions of the /etc directory so it is read/write for everybody ?
to create a machine-id file in 15.2 I proceeded to upgrade to 15.3 from the command line. Everything in the upgrade went smoothly, without any conflicts, and then I rebooted into 15.3. Unfortunately, while there are no messages any longer about a missing machine-id and there are no error messages which I could see about the bootup, the end result is that I am placed at a command line prompt rather than at a graphical login screen. I can login from the command-line prompt as either root or my own login to examine things. But why there is no graphical login, as with 15.2 and previous releases, I do not know. Any ideas ? Is there a bootup log I can examine to see what has happened ?
and paste the resulting URL here so we can examine the X log for clues. Pasted here output from
inxi -Gxx
could be helpful as well. You can also open text mode yast and examine journal logs yourself for other clues. Susepaste can also upload the journal:
sudo journalctl -b | susepaste
If your GPU is NVidia and you are not using NVidia’s proprietary drivers, it’s highly likely a required kernel extra package did not get installed. Check to see if this happened or not:
It is from booting Leap 15.2 kernel and you said you updated to Leap 15.3 which is also confirmed by journalctl output. What is modification time of this file?
There are no traces of loaded nvidia module in this log.
Jun 26 23:04:10 Z170A sddm[2217]: Initializing...
Jun 26 23:04:10 Z170A sddm[2217]: Starting...
Jun 26 23:04:10 Z170A sddm[2217]: Logind interface found
NVidia’s drivers are not prequisite to successfully running NVidia’s GPUs. I have several NVidia GPUs, and have never yet installed proprietary NVidia graphics drivers on any PC I own.prior**after](“https://en.opensuse.org/SDB:System_upgrade”)
9464.872] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Jun 26 14:39:11 2021
IME of 16 installations of 15.3, most of which are upgrades from 15.2, and none of which had all 15.2 kernels removed, and none of which had NVidia’s proprietary drivers installed, that X on 15.3 works just fine booted to a 15.2 kernel.