Что означает ошибка apt-key deprecated
Предупреждение apt-key deprecated появляется, когда вы используете устаревшую команду apt-key для добавления GPG-ключей репозиториев. Например:
$ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <KEY>
apt-key is deprecated. Use `gpg --keyring ...` instead.
apt-key был удалён из современных дистрибутивов, поэтому система игнорирует его действия, что может привести к ошибкам при обновлении списков пакетов.
Причины возникновения
- Использование устаревшего инструмента:
apt-keyне поддерживается в Ubuntu 21.10+, Debian 12 и новее. - Отсутствие ключа в
trusted.gpg.d: Ключ не добавлен в новый формат ключrings. - Старая версия
software-properties-common: Не содержит обновлённого API для работы с ключами. - Ручное редактирование
sources.listбез обновления ключей: Репозиторий не подписан современным ключом.
Способы решения
Способ 1: Обновление репозитория с помощью gpg --keyring
Этот метод использует новый API gpg и работает во всех современных дистрибутивах.
- Скачайте GPG-ключ репозитория
wget -qO- https://repo.example.com/ubuntu/repo.gpg.key | gpg --dearmor -o /etc/apt/trusted.gpg.d/repo.gpg - Добавьте строку репозитория
Откройте файл
/etc/apt/sources.list.d/repo.listи добавьте строку:deb [signed-by=/etc/apt/trusted.gpg.d/repo.gpg] https://repo.example.com/ubuntu noble main - Выполните обновление
sudo apt update - Установите необходимые пакеты
sudo apt install package-name
Способ 2: Использование apt-add-repository (Ubuntu)
Для пользователей Ubuntu этот метод проще, так как software-properties-common предоставляет удобный инструмент.
- Установите
software-properties-commonsudo apt update && sudo apt install -y software-properties-common - Добавьте репозиторий
sudo add-apt-repository "deb [signed-by=/etc/apt/trusted.gpg.d/repo.gpg] https://repo.example.com/ubuntu noble main" - Выполните обновление и установку
sudo apt update sudo apt install package-name
Способ 3: Ручное редактирование ключей с помощью gpg --export
Если у вас есть только ASCII-формат ключа (.asc), экспортируйте его напрямую.
- Сохраните ключевой файл
wget -O repo.asc https://repo.example.com/ubuntu/repo.asc - Преобразуйте и импортируйте
gpg --dearmor -o /etc/apt/trusted.gpg.d/repo.gpg < repo.asc - Добавьте строку репозитория (как в Способе 1).
- Выполните
sudo apt updateи установите пакеты.
Профилактика
- Никогда не используйте
apt-key— сразу переходите кgpg --keyring. - Храните ключи в
/etc/apt/trusted.gpg.d/— этот каталог автоматически используется новыми версиями apt. - Регулярно обновляйте систему (
sudo apt update && sudo apt upgrade), чтобы получать обновлённые инструменты. - Используйте
software-properties-commonдля автоматического управления репозиториями, если это возможно. - Документируйте добавленные репозитории в текстовом файле, чтобы быстро восстановить их при переустановке системы.
Эти шаги помогут вам избежать ошибки apt-key deprecated и поддерживать актуальные и безопасные репозитории в Ubuntu и Debian.