Застревание обновления Apt указывает на старый пакет Kubernetes для xenial.

Вопрос или проблема

Kubernetes изменил расположение своего репозитория с того места, где он ранее размещался на Google. Я предпринял шаги, чтобы указать на новое местоположение в соответствии с инструкциями K8s:

cat /etc/apt/sources.list.d/kubernetes.list
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /

, но при запуске apt update продолжает искать теперь несуществующий пакет:

Err:8 https://packages.cloud.google.com/apt kubernetes-xenial Release                                                                  
  404  Not Found [IP: 142.250.72.174 443]
...
E: The repository 'http://apt.kubernetes.io kubernetes-xenial Release' no longer has a Release file.

Я пробовал очистить кэш с помощью apt clean и пытался переустановить apt. В настоящее время это блокирует не только мои обновления, но и новую программу, которую я пытаюсь установить с помощью apt, и она вынуждает процесс обновления. Есть ли что-то, что я упустил? Не могу найти ничего в интернете, кроме уже выполненных шагов.

У меня была такая же проблема, и я нашел решение на форуме:

echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
mkdir /etc/apt/keyrings # если нужно
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo apt-get update # работает

.

Ответ или решение

При решении проблемы обновления пакетов Kubernetes важно учитывать, что данная система работает на основе репозиториев, предоставляющих доступ к последним версиям программного обеспечения и обновлениям безопасности. Замена местоположения репозитория Kubernetes требует своевременной корректировки конфигурации системы. Давайте разберёмся, какими способами можно устранить проблему, связанную с устаревшим указателем на пакет Kubernetes в Ubuntu, в данном случае — на пакет для Ubuntu Xenial.

Теория

Основной теоретической основой этой проблемы является понимание работы системы управления пакетами APT в Ubuntu.Обновление APT считается одним из первых шагов, необходимых для того, чтобы система могла загрузить новые версии нужных пакетов. Когда вы обновляете свой репозиторий, система APT обращается к списку репозиториев, хранящихся в файле /etc/apt/sources.list и сопутствующих .list файлах в каталоге /etc/apt/sources.list.d/.

После изменения местоположения репозитория Kubernetes, как указано в предоставленной инструкции, система должна использовать актуальный URL для загрузки пакетов. Однако существующая проблема заключается в том, что при выполнении команды apt update продолжается обращение к устаревшему репозиторию packages.cloud.google.com, который более не доступен (404 ошибка).

Пример

Пример из практики состоит в следующем: пользователь редактирует файл /etc/apt/sources.list.d/kubernetes.list, включая в него новую строку репозитория:

deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /

Проблема заключается в том, что, несмотря на то, что изменения в файле были внесены, система продолжает ссылаться на старый адрес репозитория. Это может происходить из-за нескольких причин:

  1. Существование других конфигурационных файлов с устаревшими адресами репозиториев.
  2. Проблемы с кешем APT.
  3. Информация о ключах подписи пакетов может не быть обновленной.

Чтобы решить эту проблему, необходимо удостовериться, что все ссылки на старые адреса репозиториев в системе удалены, и ключи GPG использованы корректно.

Применение

  1. Проверка файлов конфигурации репозиториев: Попробуйте выполнить поиск всех файлов, где может быть указан устаревший адрес репозитория Kubernetes. Из команды в терминале вам потребуется выполнить:

    grep -r "cloud.google.com" /etc/apt/

    Эта команда найдет вхождения cloud.google.com во всех файлах конфигурации системы APT, чтобы вы могли удалить или обновить их.

  2. Очистка кеша APT: Убедитесь, что кеш APT был полностью очищен. Используйте:

    sudo apt clean
    sudo rm -rf /var/lib/apt/lists/*
    sudo apt update

    Эти команды удалят все кэшированные данные, включая устаревшие ссылки на репозитории.

  3. Проверка и установка ключей GPG: Убедитесь, что ключи GPG для новой репозитории корректно установлены:

    mkdir -p /etc/apt/keyrings 
    curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

    Эта команда загружает и устанавливает ключ безопасности, необходимый для проверки пакетов из нового репозитория.

  4. Обновление и установка пакетов: После всех проверок и изменений повторно выполните обновление и установку пакетов:

    sudo apt-get update
    sudo apt-get upgrade

Эти шаги помогут вам устранить проблему и гарантируют, что система будет использовать актуальные адреса реконфигурированных репозиториев для обновления и установки необходимых пакетов Kubernetes. Убедитесь, что все изменения внесены точно и все проверки выполнены, чтобы избежать дальнейших проблем с обновлением APT.

Оцените материал
Добавить комментарий

Капча загружается...