Debian «apt-get» с закрепленными пакетами перестает работать с сообщением «Невозможно исправить проблемы, у вас есть сломанные пакеты».

Краткое содержание

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

Я закрепил версии пакетов, чтобы иметь стабильные CI/CD и воспроизводимые сборки. Но эти закрепленные версии могут не устанавливаться в любой момент. Ерунда!

Действия по воспроизведению

  1. Закрепить версии пакетов. Все работает.
      FROM python:3.10-slim-bullseye
RUN apt-get update -y \
    && apt-get install -y --no-install-recommends --no-upgrade \
    gcc=4:10.2.1-1 \
    g++=4:10.2.1-1 \
    git=1:2.30.2-1 \
    curl=7.74.0-1.3+deb11u2 \
    && apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/*
  1. Подождите некоторое время (неделю, месяц и т. д.)

Раньше код работал, но через месяц вылезла ошибка:

      #10 2.873 The following packages have unmet dependencies:
#10 2.939  curl : Depends: libcurl4 (= 7.74.0-1.3+deb11u2) but 7.74.0-1.3+deb11u3 is to be installed
#10 2.949 E: Unable to correct problems, you have held broken packages.

Что происходит?

Debian удаляет некоторые версии пакетов?

Я неправильно фиксирую свои требования?

Я исправил свою сборку, написавcurl=7.74.0-1.3+deb11u3, но я до сих пор не понимаю, почему я не могу вечно закреплять версии пакетов, чтобы иметь воспроизводимые сборки.

0 ответов

Другие вопросы по тегам