Fixing software package updates according to questionable link changes

I became affected in special ways by a change attempt according to adjustments for directory links on another system.
Thus I am also trying to fix undesirable side effects from recent package installations.

I started the software combination “openSUSE-Tumbleweed-NET-x86_64-Snapshot20210602-Media.iso” for this purpose.

  1. I could choose my previous root partition for another system upgrade by the provided graphical user interface.
  2. All relevant repositories were enabled then.
  3. This tool needed some help for the desired dependency resolution. (The installation summary looked promising finally.)

:open_mouth: But I got surprised (and annoyed) by an error message for a Ruby component.
A debug interface was presented for a “byebug” item.

:\ How can the software situation be repaired better?

:\ How do you think about to add any advices for a bug report on a topic like “Fix Ruby components for further package installations”?

For bug reports the is https://bugzilla.opensuse.org/, the component is likely libzypp.

Keep in mind that to solve things probably a lot more information is needed because I am almost sure that for most people this works without problems so people will need to know what is different on your system that is triggering this and it is good to provide that information beforehand.

On:

But I got surprised (and annoyed) by an error message for a Ruby component.

Yes, that is not fun, can you make a screen shot and share that in this topic? If possible everything between the last thing that was fine and where you were presented the debug interface.

Would you like to take another look at registered open issues?

Thanks for linking the issue, Bug #1186895

I have tried once more to improve this situation by the means of further software updates together with the file “openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20210829-Media.iso”.
Unfortunately, I stumbled on the following YaST2 message.

Subprocess failed. Error: RPM failed: error: lua script failed: [string "%prein(filesystem-84.87-2.1.x86_64)"]:15: No such file or directory
error: filesystem-84.87-2.1.x86_64: install failed
error: filesystem-15.5-40.1.x86_64: erase skipped

How should such information lead to another system correction? :\

Another bit of progress was achieved in the meantime.
I could configure a chroot environment for my needs (in principle) for a terminal interface by an Ubuntu 21.04 session where internet access is working so far.
But I stumbled on the following information. :open_mouth:

markus-elfring@bw-wst-linux1:~/root-Alternative$ sudo chroot ${chr}
bw-wst-linux1:/ # zypper info zypper
…
Problem retrieving files from 'Haupt-Repository (OSS)'.
Download (curl) error for 'http://download.opensuse.org/tumbleweed/repo/oss/repodata/repomd.xml':                                                                                            
Error code: Connection failed                                                                                                                                                                
Error message: Could not resolve host: download.opensuse.org                                                                                                                                 

Please see the above error message for a hint.
Warning: Skipping repository 'Haupt-Repository (OSS)' because of the above error.
…
Information for package zypper:
…
Version        : 1.14.44-1.1
…

One of my internet browsers could successfully retrieve the referenced XML files.
Now I am looking again for further hints and advices.

Other users came also along similar system configuration challenges for the reactivation of network access there.
I would like to adjust the software situation a bit more.

**markus-elfring@bw-wst-linux1**:**~/root-Alternative**$ sudo ls -l ${chr}etc/resolv.conf 
lrwxrwxrwx 1 root root 26 Aug 31 10:57 /home/markus-elfring/root-Alternative/etc/resolv.conf -> /run/netconfig/resolv.conf

Which approaches would you recommend to get the corresponding network services running (within the “changed root”)? :\

I use:

mount --bind /run /mnt/run

assuming that “/mnt” is the mount point to which you will chroot.

Would you like to add any comments to desirable progresses for the shown software installation story? :\

I saw that thread, but did not think it worth adding the same comment. You seem to have other issues in that thread.

These days, when I use “chroot”, I first do a “–bind” mount of “/run” and “/tmp”. The bind mount of “/run” gets me access to “resolv.conf”, and the bind mount of “/tmp” avoids putting any temporary files in a permanent directory.

The software distributions manage the resolver configuration file in different ways, don’t they? :\

Another attempt for installation of relevant software components:

**bw-wst-linux1:/ #** zypper update filesystem
…
Some of the repositories have not been refreshed because of an error.
Loading repository data... 
Reading installed packages... 
Resolving package dependencies... 

The following package is going to be upgraded:
  filesystem 

1 package to upgrade. 
Overall download size: 0 B. Already cached: 66.5 KiB. After the operation, additional 31.0 B will be used. 
**Continue? [y/n/v/...? shows all options] (y): **
In cache filesystem-84.87-2.2.x86_64.rpm                                                                                                                (1/1),  66.5 KiB (  584   B unpacked) 

Checking for file conflicts: ..........................................................................................................................................................[done] 
(1/1) Installing: filesystem-84.87-2.2.x86_64 ........................................................................................................................................[error] 
Installation of filesystem-84.87-2.2.x86_64 failed:
Error: Subprocess failed. Error: RPM failed: error: unpacking of archive failed on file /var/spool/mail: cpio: lstat failed - Invalid argument                                               
error: filesystem-84.87-2.2.x86_64: install failed                                                                                                                                           
error: filesystem-15.5-40.1.x86_64: erase skipped                                                                                                                                            

**Abort, retry, ignore? [a/r/i] (a): **
Problem occurred during or after installation or removal of packages:
Installation has been aborted as directed.                                                                                                                                                   
Please see the above error message for a hint.

Would you like to correct the shown software situation (by the means of the configured chroot environment)? :\

**bw-wst-linux1:/ #** ls -l /var/spool/mail 
lrwxrwxrwx 1 root root 7 Sep 14 11:44 **/var/spool/mail** -> **../mail**

Should any symbolic links be adjusted another bit?

I took another suggestion into account.
Thus I tried a renaming out for the mentioned file.

**bw-wst021:/ #** mv /var/spool/mail /var/spool/mail-20210914

Another corresponding system test:

**bw-wst021:/ #** zypper update filesystem
…
Loading repository data... 
Reading installed packages... 
Resolving package dependencies... 

The following package is going to be upgraded:
  filesystem 

1 package to upgrade. 
Overall download size: 0 B. Already cached: 66.5 KiB. After the operation, additional 31.0 B will be used. 
**Continue? [y/n/v/...? shows all options] (y): **
In cache filesystem-84.87-2.2.x86_64.rpm                                                                                                                (1/1),  66.5 KiB (  584   B unpacked) 

Checking for file conflicts: ..........................................................................................................................................................[done] 
(1/1) Installing: filesystem-84.87-2.2.x86_64 .........................................................................................................................................[done]

Now I find the following system configuration detail questionable.

**bw-wst021:/ #** ls -l -d /var/spool/mail 
drwxrwxrwt 2 root root 4096 Sep 18 13:23 /var/spool/mail

May I expect that a symbolic link should be configured (instead of a directory) at this place? :\

Special system configuration steps enabled the update for a lot of software packages (after some clarification attempts).
The desired distribution upgrade succeeded then as expected finally.

The alternative that I have sometime used, is to copy “resolv.conf” into the chroot system. And, when undoing the “chroot” I also undo that copy (restore the original, which I had temporarily named as “restore.conf.orig”).

Another attempt for installation of relevant software components:

bw-wst-linux1:/ # zypper update filesystem

I don’t have any particular advice on that one. It is from the usrmerge update, which was quite complex (and messed up a few things).

I am still looking for further information according to more desirable collateral evolution.