Upgrade OpenSUSE 42.1 to 42.3

Hello.
I want to upgrade OpenSUSE 42.1 to 42.3, I changed all 42.1 numbers in .repo files to 42.3 and when refreshed, I got below error:


> sudo zypper refresh
Repository 'devel:languages:php (openSUSE_Leap_15.1)' is up to date.            
Repository 'MariaDB' is up to date.                                             
Repository 'openSUSE-42.3-0' is up to date.                                     
Repository 'openSUSE-Leap-42.3-Oss' is up to date.
Timeout exceeded when accessing 'http://download.opensuse.org/update/leap/42.3/non-oss/repodata/repomd.xml'.

Any idea to solve it?

Thank you.

Looks like you have mixed repos you have at least one 15.2 repo

Shiw zypper lr -d

Apart from the attention you must pay to @gogalthorpe’s remark, I have no problem in accessing

http://download.opensuse.org/update/leap/42.3/non-oss/repodata/repomd.xml

in a browser. Maybe something temporary?

How can I solve it?


> ls
devel_languages_php.repo
MariaDB10.repo
openSUSE-42.3.repo
repo-debug-non-oss.repo
repo-debug.repo
repo-debug-update-non-oss.repo
repo-debug-update.repo
repo-non-oss.repo
repo-oss.repo
repo-source.repo
repo-update-non-oss.repo
repo-update.repo

> cat openSUSE-42.3.repo 

[openSUSE-42.3-0]
name=openSUSE-42.3-0
enabled=1
autorefresh=0
baseurl= http://download.opensuse.org/distribution/leap/42.3/repo/oss/
path=/
type=yast2
keeppackages=

I would try again after disabling all optional repos and doing zypper clean. I still use 42.3 24/7 and get no errors from zypper refresh. Optional repos can be reenabled after the dup has succeeded.

Going straight from 42.1 to 42.3 without going to 42.2 first is officially not supported, but I have done it successfully more than once.

Because 42.1 is no longer supported, that could be a bit of work…
Steps can be skipped, but at your own risk. If you have good, verified backups and depending on the value of your machine vs re-installing new, there are probably a variety of steps you can take a chance skipping… like updating 42.1 before upgrading, skipping 42.2 and maybe even 15.0 versions, but at your risk. The following more or less describes all the steps you should do if you want best chances to succeed…

An outline of what you should do…
You may want to back up your current repo list and configuration, but anything pointing to 42.1 sources are probably worthless anyway. To backup, run the following command

cp -Rv /etc/zypp/repos.d /etc/zypp/repos.d.Old

Update your system before any upgrades… Because the 42.1 oss update repo is no longer online, you’d have to point to an archive repo, eg at the following location
https://ftp5.gwdg.de/pub/opensuse/discontinued/update/leap/42.1/oss/
You may want to similarly point to point to the non-oss update repo although that’s less important.
Disable all repos except for the oss and non-oss, and your newly configured oss update repo (and maybe your non-oss if you configured that also).
If you did a “zypper clean” you may have to also point to regular oss and non-oss archive repos (besides the update repos).
You can use YaST Repository Management to add and disable your repos or use zypper for disabling repos.

Update your system running

zypper up

Reboot.

Now, set up an upgrade from 42.1 to 42.3.
You can change all your 42.1 to 42.3 repos with the following command

sed -i 's/42.1/42.3/g' /etc/zypp/repos.d/*

Display your repos

zypper lr -d

Verify only the oss, non-oss and oss-update and non-oss-update repos are enabled and URLs say “42.3”
If all looks correct, then execute your update fro 42.1 to 42.3, notice the “dup” instead of “up”

zypper dup

Reboot.

Now, for each upgrade from 42.3 to 15.0 or 15.1, repeat the above upgrade steps from 42.1 to 42.3, except change the numbers in your sed command to correspond with your upgrade step.

When you have upgraded to 15.1 and rebooted,
Re-enable your disabled repositories and run a system update (zypper up).
And, you’re done.

In the above, I only described the less usual commands to do things mostly and didn’t describe commonly used zypper commands for add/remove/enable/disable repos, if you want to use zypper instead of YaST for your repository management, ask and I (or someone else) can post those, too.

Good Luck,
TSU

I upgraded 42.1 to 42.2 and then 42.3:


~> cat /etc/os-release 
NAME="openSUSE Leap"
VERSION="42.3"
ID=opensuse
ID_LIKE="suse"
VERSION_ID="42.3"
PRETTY_NAME="openSUSE Leap 42.3"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:42.3"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

But “zypper” tell me:


~> sudo zypper update
Loading repository data...
Reading installed packages...

The following 39 package updates will NOT be installed:
  libdcerpc0 libdcerpc0-32bit libdcerpc-binding0 libdcerpc-binding0-32bit libgcj48-devel libgcj48-jar
  libndr0 libndr0-32bit libndr-krb5pac0 libndr-krb5pac0-32bit libndr-nbt0 libndr-nbt0-32bit
  libndr-standard0 libndr-standard0-32bit libnetapi0 libnetapi0-32bit libsamba-credentials0
  libsamba-credentials0-32bit libsamba-hostconfig0 libsamba-hostconfig0-32bit libsamba-passdb0
  libsamba-passdb0-32bit libsamba-util0 libsamba-util0-32bit libsamdb0 libsamdb0-32bit libsmbclient0
  libsmbconf0 libsmbconf0-32bit libsmbldap0 libsmbldap0-32bit libwbclient0 libwbclient0-32bit
  samba-client samba-client-32bit samba-libs samba-libs-32bit samba-winbind samba-winbind-32bit

Nothing to do.

Is everything OK?

Please be aware how you communicate things. It is a bit complicated, but you should be very clear to what you did and got. Several people give you advices and we can not see what you have chosen to follow. Thus e.g. when you have changed your repos list, show a new

zypper lr -d

and then the other zypper commands you did. Better one too much then leaving out something too much.

I changed numbers as I said and then I did “sudo zypper refresh” and then “sudo zypper update -y”.


> sudo zypper lr -d
Repository priorities are without effect. All enabled repositories share the same priority.

#  | Alias                     | Name                                     | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                                 | Service
---+---------------------------+------------------------------------------+---------+-----------+---------+----------+--------+-------------------------------------------------------------------------------------+--------
 1 | devel_languages_php       | devel:languages:php (openSUSE_Leap_15.1) | Yes     | (r ) Yes  | No      |   99     | rpm-md | http://download.opensuse.org/repositories/devel:/languages:/php/openSUSE_Leap_15.1/ |        
 2 | mariadb                   | MariaDB                                  | No      | ----      | ----    |   99     | rpm-md | http://yum.mariadb.org/10.3/opensuse42-amd64                                        |        
 3 | openSUSE-42.3-0           | openSUSE-42.3-0                          | Yes     | (r ) Yes  | No      |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.3/repo/oss/                       |        
 4 | repo-debug                | openSUSE-Leap-42.3-Debug                 | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.3/repo/oss/                 |        
 5 | repo-debug-non-oss        | openSUSE-Leap-42.3-Debug-Non-Oss         | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.3/repo/non-oss/             |        
 6 | repo-debug-update         | openSUSE-Leap-42.3-Update-Debug          | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.3/oss                             |        
 7 | repo-debug-update-non-oss | openSUSE-Leap-42.3-Update-Debug-Non-Oss  | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.3/non-oss/                        |        
 8 | repo-non-oss              | openSUSE-Leap-42.3-Non-Oss               | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/distribution/leap/42.3/repo/non-oss/                   |        
 9 | repo-oss                  | openSUSE-Leap-42.3-Oss                   | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.3/repo/oss/                       |        
10 | repo-source               | openSUSE-Leap-42.3-Source                | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/42.3/repo/oss/                |        
11 | repo-update               | openSUSE-Leap-42.3-Update                | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.3/oss/                                  |        
12 | repo-update-non-oss       | openSUSE-Leap-42.3-Update-Non-Oss        | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.3/non-oss/                              |        

Going from 42.1 to 42.2 or 42.3 is not updating - it’s upgrading. Zypper up (update) is for updating (bug and security fixes). Zypper dup (dist-upgrade) is for upgrading (everything). The held back packages should be installed if you dup. It’s OK if you forget. You can do a dup after an up. :slight_smile:

I hope you understand that we, who can not look over your shoulders, realy want to see what you see. Thus saying you did something is not enough. There may be misunderstandings and you may have done something different from what others interprete. Thus what the computer says is most important.

And I see that you still have a Leap 15.0 repo active there:

http://download.opensuse.org/repositories/devel:/languages:/php/openSUSE_Leap_15.1/

While this one is probably innocent, I do not see any reason why you take the risk not to follow the advice: only the repos of the new version 42.3 should be active.

And then of course you should do the version update as @mrmazda explains and not a mere update as if the are some newer packages for your existing 42.1.

It is for PHP:


[devel_languages_php]
name=devel:languages:php (openSUSE_Leap_15.1)
enabled=1
autorefresh=0
baseurl=http://download.opensuse.org/repositories/devel:/languages:/php/openSUSE_Leap_15.1/
type=rpm-md
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/devel:/languages:/php/openSUSE_Leap_15.1/repodata/repomd.xml.key

Yes it is PHP but when upgrade you do not want any version repo but the version you upgrade to active. You can re install from the special repo after you successfully upgrade

Thanks:


> sudo zypper dup
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Loading repository data...
Reading installed packages...
Computing distribution upgrade...
Nothing to do.
~>

Is it OK?


~> sudo zypper dup
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.

Loading repository data...
Reading installed packages...
Computing distribution upgrade...

Nothing to do.
~>

Is it OK?

IMO it is ready to upgrade from 42.3 to 15.0. :slight_smile:

I concur lol!

Why versions are odd?
42.3 then 15.0 to 15.2 and Rolling. They jumped from 4X to 15!!!

If I want upgrade 4.3 to “Rolling” then which repository must be add?

42.x was a diversion that enabled to Leap to be brought into sync with SLE versions. Both are now 15.x.

You can’t have both “stable” and “rolling” at the same time. If you want “rolling” you must switch all your repos to Tumbleweed (“upgrade”). If you want zypper dup to do it you should get your current version up at least to 15.0, preferably to 15.1, first. Leap and Tumbleweed are different distros.