zypper 退出代码 106 - 如何修复?

zypper 退出代码 106 - 如何修复?

在SLES11.4服务器上想要安装一个包:

SLES11SERVER:~ # zypper in -f telnet
Retrieving repository 'foobar_common' metadata [\]
File 'repomd.xml' from repository 'foobar_common' is unsigned, continue? [yes/no] (no): yes
Retrieving repository 'foobar_common' metadata [error]
Repository 'foobar_common' is invalid.
[|] Valid metadata not found at specified URL(s)
Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Disabling repository 'foobar_common' because of the above error.
Some of the repositories have not been refreshed because of an error.
Loading repository data...
Reading installed packages...
Forcing installation of 'telnet-1.2-134.24.1.x86_64' from repository 'SLES11-SP4-Pool'.
Resolving package dependencies...

The following package is going to be reinstalled:
  telnet

1 package to reinstall.
Overall download size: 54.0 KiB. No additional space will be used or freed after the operation.
Continue? [y/n/? shows all options] (y): y
Retrieving package telnet-1.2-134.24.1.x86_64 (1/1), 54.0 KiB (118.0 KiB unpacked)
Retrieving: telnet-1.2-134.24.1.x86_64.rpm [done]
Installing: telnet-1.2-134.24.1 [done]
SLES11SERVER:~ # echo $?
106
SLES11SERVER:~ #

根据手册页:

106 - ZYPPER_EXIT_INF_REPOS_SKIPPED
           Some repository had to be disabled temporarily because it failed to refresh. You should check your
           repository configuration (e.g.  zypper ref -f).

所以我做了一个“zypper ref -f”:

SLES11SERVER:~ # zypper ref -f
...
Retrieving repository 'foobar_common' metadata [/]
File 'repomd.xml' from repository 'foobar_common' is unsigned, continue? [yes/no] (no): yes
Retrieving repository 'foobar_common' metadata [error]
Repository 'foobar_common' is invalid.
[|] Valid metadata not found at specified URL(s)
Please check if the URIs defined for this repository are pointing to a valid repository.
Skipping repository 'foobar_common' because of the above error.
Forcing raw metadata refresh
...
Some of the repositories have not been refreshed because of an error.
SLES11SERVER:~ #

该软件包已安装(来自另一个存储库,这个 foobar_common 不提供它),但在软件包安装后我必须为 zypper 设置退出代码 0。

问:如何解决 zypper 不会给出退出代码 106 的问题?

我尝试过了:

  • 删除/添加 foobar_common 存储库,同样的问题

答案1

问题出在存储库方面(存储库操作团队的 PEBKAC :))

另外,zypper clean --all有帮助。

相关内容