Eu experimentei o mesmo problema. levei horas para encontrar o problema e resolvê-lo. meu caso é interromper o yum update
e o último registro yum.log
é como você
Oct 22 19:04:36 Updated: 1:grub2-pc-modules-2.02-0.65.el7.centos.2.noarch
Oct 22 19:04:36 Updated: tzdata-2018e-3.el7.noarch
Oct 22 19:04:37 Updated: bash-4.2.46-30.el7.x86_64
Oct 22 19:04:37 Updated: nss-softokn-freebl-3.36.0-5.el7_5.x86_64
Eu procurei e tentei todas as soluções, mas sem sorte como você. então eu li a fonte rpm e encontrei no rpm/rpmio/digest_nss.c
#if HAVE_NSS_INITCONTEXT
PRUint32 flags = (NSS_INIT_READONLY|NSS_INIT_NOCERTDB|
NSS_INIT_NOMODDB|NSS_INIT_FORCEOPEN|
NSS_INIT_NOROOTINIT|NSS_INIT_OPTIMIZESPACE);
_nss_ctx = NSS_InitContext(NULL, NULL, NULL, NULL, NULL, flags);
if (_nss_ctx == NULL) {
#else
if (NSS_NoDB_Init(NULL) != SECSuccess) {
#endif
rpmlog(RPMLOG_ERR, _("Failed to initialize NSS library\n"));
rc = -1;
} else {
_crypto_initialized = 1;
}
sigaction(SIGPIPE, &oact, NULL);
}
/* Register one post-fork handler per process */
if (_new_process) {
if (pthread_atfork(NULL, NULL, at_forkchild) != 0) {
rpmlog(RPMLOG_WARNING, _("Failed to register fork handler: %m\n"));
}
_new_process = 0;
}
return rc;
}
então eu tentei com código como este para verificar
#include <stdio.h>
#include <nss.h>
int main() {
NSSInitContext * _nss_ctx = NULL;
printf("hello world!\n");
PRUint32 flags = (NSS_INIT_READONLY|NSS_INIT_NOCERTDB|
NSS_INIT_NOMODDB|NSS_INIT_FORCEOPEN|
NSS_INIT_NOROOTINIT|NSS_INIT_OPTIMIZESPACE);
_nss_ctx = NSS_InitContext(NULL, NULL, NULL, NULL, NULL, flags);
if(_nss_ctx == NULL){
printf("Error");
}else{
printf("OK");
}
return 0;
}
e obteve o NSS_InitContext
não referenciado. ~~ então fica claro que a versão da lib não é compatível
wget both
nss-3.36.0-7.el7_5.x86_64.rpm
e
nspr-4.13.1-1.0.el7_3.x86_64.rpm
(meu sistema é centos7)
usando rpm2cpio *rpm | cpio -idmv
para extrair o arquivo e copiá-lo para / usr
run rpm
ainda tem o erro
version 'NSSUTIL_3.31' not found (required by /lib64/libnss3.so)
wget o nss-util-3.36.0-1.el7_5.x86_64.rpm e faça mais rpm2cpio and copy
então tudo fica ok ~ espero que isso possa ajudá-lo