07.12.2020 22:17, Brian Reichert пишет:
I have a mounting set of questions about zypper, which don't seem to be addressed by any online docs I've read so far.
I don't know if this is an appropriate forum, and am happy for any pointers to a better one.
My issues are under SLES 12, but I find those forums relatively unresponsive. I'm assuming that SLES's version of 'zypper' isn't critically different than other SuSE-related distributions, so hopefully this is a good alternative.
One such question:
One on SLES 12 host, I sucessfully installed 'createrepo' with zypper, and retained the RPM package.
I've copied it to another SLES 12 host, and am attempting to install it via 'zypper':
localhost:~ # zypper --no-gpg-checks --no-remote install -y - /home/prior_release_RPM/createrepo-0.10.3-2.8.x86_64.rpm ... Reading installed packages... Resolving package dependencies... 2 Problems: Problem: createrepo-0.10.3-2.8.x86_64 requires /bin/sh, but this requirement cannot be provided Problem: This request will break your system! Solution 1: Following actions will be done: keep bash-4.3-83.23.1.x86_64 ... Solution 2: do not install createrepo-0.10.3-2.8.x86_64 Solution 3: break createrepo-0.10.3-2.8.x86_64 by ignoring some of its dependencies
What is zypper trying to convey here? The local RPM database is quite aware of the presense of the 'bash' package, and what it provides:
localhost:~ # rpm -q --whatprovides /bin/sh bash-4.3-83.23.1.x86_64
If you read carefully - zypper offers to "keep" bash which means something causes bash removal for proper resolution. Unfortunately zypper is notoriously bad at presenting explanation *why* it has problems. It only shows how it is going to resolve them. Trying verbose output or checking logs may help. If you create solver test case (see zypper manual) and make it available someone with sufficient knowledge and time may look into it. What happens if you use rpm to install this package? If there are some unresolved dependencies rpm will fail right away and it may hint at root cause.
'zypper' seems to, as well:
localhost:~ # zypper --no-remote info --provides bash ... Provides : [6] bash = 4.3-83.23.1 bash(x86-64) = 4.3-83.23.1 config(bash) = 4.3-83.23.1 /bin/sh /bin/bash /usr/bin/sh
Some details of my environment; let me know if any others would be helpful:
localhost:~ # cat /etc/issue
Welcome to SUSE Linux Enterprise Server 12 SP5 (x86_64) - Kernel \r (\l).
localhost:~ # rpm -q zypper rpm zypper-1.13.57-21.32.1.x86_64 rpm-4.11.2-16.21.1.x86_64