在 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 仓库,同样的问题
问题出在存储库方面(回购操作团队的PEBKAC :))
还有,
zypper clean --all
有帮助。