Após atualizar um sistema AIX usando a migração mksysb via NIM , o pacote virtual AIX-rpm foi deixado para trás no nível anterior do AIX:
$ oslevel -r
7100-04
$ rpm -q AIX-rpm
AIX-rpm-6.1.7.0-7
Isso impede a instalação de outros RPMs que dependem de uma determinada versão do AIX-rpm, como:
$ sudo rpm -Uvh libgcc-6.3.0-2.aix7.1.ppc.rpm
error: failed dependencies:
AIX-rpm >= 7.1.0.0 is needed by libgcc-6.3.0-2
Você pode testar essa situação de antemão consultando o pacote por suas dependências:
$ rpm -qp --requires libgcc-6.3.0-2.aix7.1.ppc.rpm
AIX-rpm >= 7.1.0.0
AIX-rpm < 7.2.0.0
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
... ou usando a --test
opção rpm:
$ sudo rpm -Uvh --test libgcc-6.3.0-2.aix7.1.ppc.rpm
error: failed dependencies:
AIX-rpm >= 7.1.0.0 is needed by libgcc-6.3.0-2
Como posso instalar ou fazer upgrade do AIX-rpm para o nível correto para poder instalar RPMs adicionais sem forçar --nodeps
?
Para atualizar o pacote virtual do AIX-rpm para o nível de SO correto, execute:
O pacote virtual do AIX-rpm será atualizado:
AIX-rpm é um pacote "virtual" que reflete o que foi instalado no sistema por installp. Ele é criado pelo script /usr/sbin/updtvpkg quando o rpm.rte é instalado, e pode ser executado a qualquer momento que o administrador escolher (geralmente após instalar algo com installp que é necessário para satisfazer alguma dependência de um pacote RPM).
Como o AIX-rpm precisa ter algum tipo de número de versão, ele simplesmente reflete o nível de bos.rte no sistema em que /usr/sbin/updtvpkg está sendo executado. É apenas informativo - nada deve verificar o nível de AIX-rpm.
O AIX não executa automaticamente /usr/sbin/updtvpkg toda vez que algo é instalado ou desinstalado porque em alguns sistemas mais lentos com muitos softwares instalados, /usr/sbin/updtvpkg pode demorar MUITO.
Se você quiser executar o comando manualmente:
/usr/sbin/updtvpkg
Se você receber um erro semelhante a "não é possível ler o cabeçalho em 20760 para pesquisa" ao executar o updtvpkg, execute um rpm rebuilddb:
rpm --rebuilddb
Depois de executar o updtvpkg, você pode executar um rpm -qa para ver seu novo pacote AIX-rpm.
https://unixhealthcheck.com/blog?id=305