Вопрос или проблема
У меня новый сервер ubuntu 22.04, и я пытаюсь установить nginx 1.27.0/latest.
Импортировал ключи отсюда
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Также пробовал
http://nginx.org/packages/keys/nginx_signing.key
и у меня есть /etc/apt/sources.list.d/nginx.list
как показано ниже
deb [arch=x86_64 signed-by=/usr/share/keyrings/nginx_signing.gpg] http://nginx.org/packages/ubuntu jammy nginx
Пробовал выше с или без arch=x86_64
Когда я выполняю apt update
Всегда получаю следующую ошибку
Подписи не удалось проверить, потому что публичный ключ недоступен: NO_PUBKEY ABF5BD827BD9BF62
Ответ или решение
Установка Nginx 1.27.0 на Ubuntu 22.04: Решение проблемы с NO_PUBKEY
Установка Nginx на сервере Ubuntu 22.04 может иногда вызывать трудности, особенно при работе с ключами для подтверждения подлинности. В вашей ситуации возникла ошибка при попытке обновления пакетов, указав на отсутствие публичного ключа NO_PUBKEY ABF5BD827BD9BF62
. В этом ответе мы рассмотрим, как устранить эту проблему пошагово.
Шаг 1: Проверка правильности добавления репозитория
Для начала убедимся, что файл /etc/apt/sources.list.d/nginx.list
настроен правильно. Он должен выглядеть так:
deb [arch=amd64 signed-by=/usr/share/keyrings/nginx_signing.gpg] http://nginx.org/packages/ubuntu jammy nginx
Обратите внимание на использование arch=amd64
, так как ваша архитектура сервера может требовать именно этого.
Шаг 2: Импортирование ключа
Вы правильно начали с импорта ключа с помощью следующей команды:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx_signing.gpg >/dev/null
Убедитесь, что файл /usr/share/keyrings/nginx_signing.gpg
действительно существует и содержит данные. Вы можете проверить это, используя команду:
ls -l /usr/share/keyrings/nginx_signing.gpg
Шаг 3: Установка ключа вручную
Иногда ключ может не быть правильно импортирован. Попробуйте добавить ключ вручную, используя следующую команду:
sudo apt-key adv --fetch-keys https://nginx.org/keys/nginx_signing.key
Если этот метод не сработает, возможно, потребуется добавить ключ с использованием GPG:
gpg --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
gpg --export --armor ABF5BD827BD9BF62 | sudo tee /usr/share/keyrings/nginx_signing.gpg
Шаг 4: Обновление пакетов
После того как ключ успешно добавлен, выполните обновление пакетов:
sudo apt update
Шаг 5: Устранение неполадок
Если ошибка NO_PUBKEY
все еще возникает, проверьте содержимое файла /etc/apt/sources.list.d/nginx.list
ещё раз на предмет опечаток. Также убедитесь, что ваш сервер имеет доступ к интернету и может связаться с репозиторием Nginx.
Заключение
Следуя изложенным выше шагам, вы сможете устранить проблему с отсутствующим публичным ключом и успешно установить Nginx на ваш сервер с Ubuntu 22.04. Если проблема сохраняется, обратитесь к документации Nginx или на форумы сообщества для получения дополнительной помощи. Удачи в ваших начинаниях!