O problema estava no repositório (PEBKAC para a equipe operacional do repositório :))
Além disso, zypper clean --all
ajuda.
Em um servidor SLES11.4, queria instalar um pacote:
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:~ #
De acordo com a página man:
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).
Então eu fiz um "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:~ #
O pacote foi instalado (de outro repositório, este foobar_common não o fornece), mas devo ter o código de saída 0 para o zypper após a instalação de um pacote.
P: Como posso consertar que o zypper não fornecerá o código de saída 106?
Eu tentei: