Не совсем соответствует предварительному условию вопроса «via yum», но быстрее, чем «yum -q list»:
rpm -q <package_name>
, который возвращает точное имя возможно установленная версия, а также код ошибки «0», если установлена, и «1», если нет.
Это также случилось со мной, когда что-то было не так с настройкой разрешения DNS. Убедитесь, что серверы имен перечислены в /etc/resolv.conf
(также попробуйте альтернативные серверы имен). Если вы используете systemd-resolved
, убедитесь, что /etc/resolv.conf
является символической ссылкой на /run/systemd/resolve/resolv.conf
. .
РЕШЕНИЕ (?): Возникает такая же ошибка «сервер ключей недоступен» в Parrot Security 3.6.
Используется GPA v0.9.10 (Gnu Privacy Assistant).
Если это сработает, у вас появится запись в списке «Менеджера ключей». Я смог продолжить процесс проверки оттуда.
Para su información, me encontré con el mismo problema:
gpg: keyserver receive failed: Connection refused
Mi resolv.conf
contenía:
nameserver 127.0.0.1
nameserver XXX.XXX.XXX.XXX
search XXX.XXX
y era inmutable:
$ lsattr /etc/resolv.conf
----i---------e---- /etc/resolv.conf
Además,No tenía un servidor DNS vinculado a la interfaz de red loopback (127.0.0.1 ).
Entonces, cuando traté de ejecutar este comando
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXXXX
apt-key
solo usó el primer servidor de nombres que no existe y falló.
Quité la inmutabilidad:
sudo chattr -i /etc/resolv.conf
Modifiqué el primer servidor de nombres para que apunte a uno que funcione.
Y vuelvo a poner la inmutabilidad:
sudo chattr -i /etc/resolv.conf
Y finalmente apt-key
funcionó.
Я получал ту же ошибку «Отказано в подключении к серверу ключей gpg» при использовании gpg в командной строке, GPA и KGpg. Я использую gnupg 2.1.18 -8 на Debian Sid. Я включил отладку в dirmngr следующим образом:
sudo pkill dirmngr; dirmngr --debug-all --daemon --standard-resolver
В выводе отладки на консоли сообщалось об отсутствии соединения Tor. Оказалось, что в $HOME/.gnupg/dirmngr
было включено «использовать -tor». (Спасибо, gpgconf! )Я закомментировал его, оставив пустым dirmngr.conf
, и связь с сервером ключей теперь работает нормально.
Одной из причин действительно является проблема с прокси см. Невозможно добавить ключ gpg с подходящим ключом -за прокси
вам нужно будет использовать следующую команду:
$ sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com:443 --keyserver-options http-proxy=http://myproxy:3128 --recv-keys 0F164EEB
...или сочетание клавиш curl+apt -
Эта ошибка также может быть вызвана, если вы извлекаете ключи gpg
через tor
и tor
, если не запущен .
В системном журнале вы увидите:
command 'KS_GET' failed: No keyserver available
Для получения ключей через tor
, установленный в~/.gnupg/dirmngr.conf
:
# https://gnupg.org/blog/20151224-gnupg-in-november-and-december.html
use-tor
keyserver hkp://jirk5u4osbsr34t5.onion
# https://sks-keyservers.net/overview-of-pools.php#pool_hkps
hkp-cacert /etc/ssl/CA/sks-keyservers.netCA.pem
Выполнить
sudo apt-get update
перед запуском
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0F164EEB
И если у вас есть строка "echo" перед этой, запустите другуюsudo apt-get update
еще до этой:
RUN apt-get update
RUN sh -c 'echo "..." > /etc/...'
RUN apt-get update
RUN apt-key adv...
Благодаря этому я избавился от аналогичной ошибки "Невозможно назначить запрошенный адрес":
Executing: /tmp/apt-key-gpghome.Up2U8vHXpt/gpg.1.sh --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6
gpg: keyserver receive failed: Cannot assign requested address
ERROR: Service 'listener' failed to build: The command '/bin/sh -c apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6' returned a non-zero code: 2
Скорее всего :сервер просто занят, попробуйте еще раз
Вся вышеизложенная идея скорее всего просто плацебо, так как этот ответ на ту же ошибку, но в другом контексте говорит, что это может появиться когда адрес просто занят . Это будет означать :, если у вас есть эта ошибка, просто попробуйте еще раз, и тогда sudo apt-get update
может ничего не изменить. Это звучит наиболее вероятно.
Попробуйте это:
Шаг 1 :Прежде чем запускать curl, вы можете открыть его прямо в браузере, чтобы проверить, существует ли он и доступен ли он для загрузки. 0x0F164EEB
— ключ, который вы ищете.https://keyserver.ubuntu.com/pks/lookup?search=0x0F164EEB&fingerprint=on&op=get
Шаг 2 :Любая из приведенных ниже команд загрузит определенный ключ pub -в target_pubkey.pgp
.
curl -x http://proxy:port -O target_pubkey.pgp https://keyserver.ubuntu.com/pks/lookup?search=0x0F164EEB&fingerprint=on&op=get
socks5h
означает, что имя хоста разрешается удаленно. curl -x socks5h://proxy:port -O target_pubkey.pgp https://keyserver.ubuntu.com/pks/lookup?search=0x0F164EEB&fingerprint=on&op=get
Шаг 3 :Добавьте целевой ключ. sudo apt-key add target_pubkey.pgp
Шаг 4 :Добавьте целевой репозиторий. sudo add-apt-repository "deb https://your-targeted-repository targeted-project"
Шаг 5 :Обновление. sudo apt-get update
Мое решение было:
команда cli:
sudo gpg --keyserver hkp://pgp.mit.edu:80 --recv-keys 1C61A2656FB57B7E4DE0F4C1FC918B335044912E
[sudo] password for rd:
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key FC918B335044912E: public key "Dropbox Automatic Signing Key <linux@dropbox.com>" imported
gpg: Total number processed: 1
gpg: imported: 1e