将 SUSE Tumbleweed 更改为 Leap 后如何修复损坏的 Zypper

将 SUSE Tumbleweed 更改为 Leap 后如何修复损坏的 Zypper

我已将我的发行版从 Tumleweed 更改为 Leap 43,将存储库列表更改为:

 # zypper lr
Repository priorities are without effect. All enabled repositories share the same priority.

# | Alias                               | Name                              | Enabled | GPG Check | Refresh
--+-------------------------------------+-----------------------------------+---------+-----------+--------
1 | http-download.opensuse.org-2fb25ebb | devel:tools:building              | Yes     | (r ) Yes  | Yes    
2 | packman                             | packman                           | Yes     | (r ) Yes  | Yes    
3 | repo-debug                          | openSUSE-Leap-42.3-Debug          | No      | ----      | ----   
4 | repo-non-oss                        | openSUSE-Leap-42.3-Non-Oss        | Yes     | (r ) Yes  | Yes    
5 | repo-oss                            | openSUSE-Leap-42.3-Oss            | Yes     | (r ) Yes  | Yes    
6 | repo-source                         | openSUSE-Leap-42.3-Source         | No      | ----      | ----   
7 | repo-source-non-oss                 | openSUSE-Leap-42.3-Source-Non-Oss | Yes     | (r ) Yes  | Yes    
8 | repo-update                         | openSUSE-Leap-42.3-Update         | Yes     | (r ) Yes  | Yes    
9 | repo-update-non-oss                 | openSUSE-Leap-42.3-Update-Non-Oss | Yes     | (r ) Yes  | Yes   

接下来我尝试更新它:

# zypper up
Loading repository data...
Reading installed packages...

The following 119 package updates will NOT be installed:
  cmake dmraid ffmpeg gettext-runtime gio-branding-openSUSE gstreamer-plugins-bad gtk3-branding-openSUSE java-1_8_0-openjdk java-1_8_0-openjdk-headless libavcodec57 libavdevice57 libavfilter6 libavformat57 libavresample3 libavutil55 libdcerpc0 libdcerpc0-32bit
  libdcerpc-binding0 libdcerpc-binding0-32bit libgstadaptivedemux-1_0-0 libgstbadaudio-1_0-0 libgstbadbase-1_0-0 libgstbadvideo-1_0-0 libgstbasecamerabinsrc-1_0-0 libgstcodecparsers-1_0-0 libgstgl-1_0-0 libgstmpegts-1_0-0 libgstphotography-1_0-0 libgsturidownloader-1_0-0
  libgstwayland-1_0-0 libltdl7 libmjpegutils-2_0-0 libndr0 libndr0-32bit libndr-krb5pac0 libndr-krb5pac0-32bit libndr-nbt0 libndr-nbt0-32bit libndr-standard0 libndr-standard0-32bit libnetapi0 libnetapi0-32bit libpostproc54 libquicktime0 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 libsox3
  libswresample2 libswscale4 libwbclient0 libwbclient0-32bit mjpegtools NetworkManager-branding-openSUSE PackageKit-branding-openSUSE perl-Authen-SASL perl-B-Hooks-EndOfScope perl-Class-Data-Inheritable perl-Class-Factory-Util perl-Class-Method-Modifiers
  perl-Crypt-SmbHash perl-Devel-Caller perl-Devel-LexAlias perl-Digest-HMAC perl-Digest-MD4 perl-Digest-SHA1 perl-Eval-Closure perl-File-Listing perl-HTML-Tagset perl-HTTP-Daemon perl-HTTP-Date perl-HTTP-Negotiate perl-LWP-MediaTypes perl-namespace-autoclean
  perl-namespace-clean perl-Net-LibIDN perl-Package-DeprecationManager perl-PadWalker perl-Params-Util perl-Pod-Coverage perl-Sub-Install perl-TermReadLine-Gnu perl-Test-Fatal perl-TimeDate perl-WWW-RobotRules perl-X11-Protocol perl-X500-DN perl-XML-SAX python3-cairo
  qt4-qtscript samba samba-client samba-client-32bit samba-libs samba-libs-32bit samba-winbind samba-winbind-32bit site-config sox subversion-perl xf86-input-vmmouse xf86-input-void xf86-video-fbdev xf86-video-vesa xorg-x11-server yast2-core yast2-perl-bindings

The following 2 packages are going to be REMOVED:
  libzypp libzypp

The following 5 packages are going to be upgraded:
  libicu52_1 libicu52_1-data libzypp zypper-aptitude zypper-log

5 packages to upgrade, 2 to remove.
Overall download size: 8.7 MiB. Already cached: 0 B. After the operation, 14.9 MiB will be freed.
Continue? [y/n/...? shows all options] (y): y
Retrieving package libicu52_1-data-52.1-15.1.x86_64                                                                                                                                                                                       (1/5),   5.2 MiB ( 22.4 MiB unpacked)
Retrieving delta: ./x86_64/libicu52_1-data-52.1-13.3_15.1.x86_64.drpm, 16.7 KiB
Retrieving: libicu52_1-data-52.1-13.3_15.1.x86_64.drpm ..................................................................................................................................................................................................................[done]
Applying delta: ./libicu52_1-data-52.1-13.3_15.1.x86_64.drpm ............................................................................................................................................................................................................[done]
Retrieving package libzypp-16.15.6-12.1.x86_64                                                                                                                                                                                            (2/5),   2.0 MiB (  7.4 MiB unpacked)
Retrieving: libzypp-16.15.6-12.1.x86_64.rpm ...............................................................................................................................................................................................................[done (356.5 KiB/s)]
Retrieving package zypper-aptitude-1.13.32-8.1.noarch                                                                                                                                                                                     (3/5),  60.4 KiB (  4.0 KiB unpacked)
Retrieving: zypper-aptitude-1.13.32-8.1.noarch.rpm .........................................................................................................................................................................................................[done (75.4 KiB/s)]
Retrieving package zypper-log-1.13.32-8.1.noarch                                                                                                                                                                                          (4/5),  61.0 KiB (  6.2 KiB unpacked)
Retrieving: zypper-log-1.13.32-8.1.noarch.rpm ...........................................................................................................................................................................................................................[done]
Retrieving package libicu52_1-52.1-15.1.x86_64                                                                                                                                                                                            (5/5),   1.4 MiB (  4.3 MiB unpacked)
Retrieving delta: ./x86_64/libicu52_1-52.1-13.3_15.1.x86_64.drpm, 21.8 KiB
Retrieving: libicu52_1-52.1-13.3_15.1.x86_64.drpm .......................................................................................................................................................................................................................[done]
Applying delta: ./libicu52_1-52.1-13.3_15.1.x86_64.drpm .................................................................................................................................................................................................................[done]
Checking for file conflicts: ............................................................................................................................................................................................................................................[done]
(1/5) Installing: libicu52_1-data-52.1-15.1.x86_64 ......................................................................................................................................................................................................................[done]
(2/5) Installing: libzypp-16.15.6-12.1.x86_64 ...........................................................................................................................................................................................................................[done]
(3/5) Installing: zypper-aptitude-1.13.32-8.1.noarch ....................................................................................................................................................................................................................[done]
(4/5) Installing: zypper-log-1.13.32-8.1.noarch .........................................................................................................................................................................................................................[done]
(5/5) Installing: libicu52_1-52.1-15.1.x86_64 ...........................................................................................................................................................................................................................[done]
There are some running programs that might use files deleted by recent upgrade. You may wish to check and restart some of them. Run 'zypper ps -s' to list these programs.

zypper 被破坏后:

# zypper
zypper: relocation error: zypper: symbol _ZN4zypp13KeyRingReport10infoVerifyERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_13PublicKeyDataERKNS_10KeyContextE, version ZYPP_plain not defined in file libzypp.so.1600 with link time reference

我尝试从 Tumbleweed 中查找与 zypper 相关的软件包版本,并安装了它们:

# rpm --force -hiv libmodman1-2.0.1-24.25.x86_64.rpm  libproxy1-0.4.14-164.14.x86_64.rpm  python-zypp-0.7.3-3.27.x86_64.rpm  zypper-1.13.32-9.1.x86_64.rpm  zypper-aptitude-1.13.14-1.1.noarch.rpm  zypper-log-1.13.14-1.1.noarch.rpm
warning: libmodman1-2.0.1-24.25.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 629ff0c2: NOKEY
warning: python-zypp-0.7.3-3.27.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID f3ef3328: NOKEY
warning: zypper-aptitude-1.13.14-1.1.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f6ab3975: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zypper-1.13.32-9.1               ################################# [ 17%]
   2:libmodman1-2.0.1-24.25           ################################# [ 33%]
   3:libproxy1-0.4.14-164.14          ################################# [ 50%]
   4:zypper-aptitude-1.13.14-1.1      ################################# [ 67%]
   5:zypper-log-1.13.14-1.1           ################################# [ 83%]
   6:python-zypp-0.7.3-3.27           ################################# [100%]

但是它不修复 zypper:

# zypper
zypper: relocation error: zypper: symbol _ZN4zypp13KeyRingReport10infoVerifyERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_13PublicKeyDataERKNS_10KeyContextE, version ZYPP_plain not defined in file libzypp.so.1600 with link time reference

我该如何避免重新安装系统?我可以下载zypper的源代码并编译并运行吗?

答案1

我从 software.opensuse.org 下载了 openSuse 42.3 的 zyppper 和 libzypp

之后我运行rpm --force -hiv *rpm(对于这些 rpm)并且在此操作之后 zypper 被修复。

相关内容