Solucionar error NO_PUBKEY Ubuntu

Cuando se ejecuta una actualización apt update, o cuando se intenta actualizar las fuentes de software, apt se quejará de no poder descargar todos los índices del repositorio, mostrando errores como este:

Las firmas siguientes no se pudieron verificar porque su clave pública no está disponible: NO_PUBKEY 3F01618A51312F3F

Solución: Importar por lotes todas las claves GPG que faltan

Cuando faltan varias claves OpenPGP públicas, puedes usar una simple línea para importarlas todas de una sola vez:

sudo apt update 2>&1 1>/dev/null | sed -ne 's/.*NO_PUBKEY //p' | while read key; do if ! [[ ${keys[*]} =~ "$key" ]]; then sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys "$key"; keys+=("$key"); fi; done

How to Install EPEL Repository on CentOS

1. Installing  EPEL Repository

Install EPEL Repository On 32-bit CentOS Linux 5.5:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Install EPEL Repository On 64-bit CentOS Linux 5.5:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

Sample Output:
[root@gembul ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Preparing…             ########################################### [100%]
1:epel-release           ########################################### [100%]

2. Check and updating your repository list, make sure the epel.repo has been installed
# yum update
# yum repolist

Sample Output:

Loading “skip-broken” plugin
Loading “fastestmirror” plugin
repo id           repo name                                                                status
addons           CentOS-5 – Addons                                                 enabled
base                CentOS-5 – Base                                                      enabled
epel                Extra Packages for Enterprise Linux 5 -             enabled
extras             CentOS-5 – Extras                                                   enabled
updates          CentOS-5 – Updates                                                enabled

3. Edit your epel.repo file configuration and the priority of yum repository configuration
# vi /etc/yum.repos.d/epel.repo

Sample Output :
[epel]
name=Extra Packages for Enterprise Linux 5 – $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 5 – $basearch – Debug #baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch/debug mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 5 – $basearch – Source #baseurl=http://download.fedoraproject.org/pub/epel/5/SRPMS mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL gpgcheck=1

Done :)