Репозитории пакетов
100%

Пакеты · Урок 2

Репозитории пакетов

Узнайте, как репозитории публикуют подписанные индексы пакетов и как APT обнаруживает настроенные источники семейства Debian.

Репозиторий пакетов публикует пакеты вместе с индексами и метаданными выпусков. Диспетчер пакетов загружает эти индексы, выбирает версии, совместимые с настроенными дистрибутивом и архитектурой, проверяет подлинность репозитория и получает требуемые файлы пакетов.

Метаданные репозитория и локальные каталоги

Репозиторий — это не просто каталог архивов. Его метаданные описывают доступные имена и версии пакетов, архитектуры, контрольные суммы, зависимости и разделы репозитория. Клиент кэширует локальный каталог, чтобы искать и разрешать пакеты без предварительной загрузки каждого архива.

В системе семейства Debian обновите настроенные метаданные командой:

$ sudo apt update

Она обновляет локальные индексы пакетов, но сама по себе не устанавливает все доступные обновления. Проверяйте указанные источники и ошибки аутентификации, а не игнорируйте неудачные записи.

Что в первую очередь обновляет apt update?

Настройка источников APT

APT читает настроенные источники из двух мест:

  • /etc/apt/sources.list
  • файлов с расширением .list или .sources в /etc/apt/sources.list.d/

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

Источник в стиле deb822 может выглядеть так:

Types: deb
URIs: https://deb.example.invalid/repository
Suites: stable
Components: main
Signed-By: /etc/apt/keyrings/example.gpg

Это лишь пример синтаксиса: зарезервированный домен .invalid не является рабочим репозиторием.

Откуда APT может читать активные определения репозиториев?

Аутентификация репозитория

APT проверяет подписанные метаданные выпуска репозитория, а затем сопоставляет загруженные файлы пакетов с аутентифицированными контрольными суммами из этих метаданных. Signed-By позволяет ограничить источник конкретным хранилищем ключей вместо доверия каждому глобально настроенному ключу для этого репозитория.

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

Каково назначение Signed-By в определении источника APT с точки зрения безопасности?

Осознанное добавление сторонних источников

Репозиторий может устанавливать пакеты и скрипты жизненного цикла с системными привилегиями, поэтому его добавление расширяет границу доверия к программному обеспечению системы. Перед этим:

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

Не копируйте устаревшие инструкции, отключающие проверку подписей или передающие непроверенный удалённый скрипт привилегированной оболочке.

Почему добавление стороннего репозитория расширяет границу доверия системы?

Урок завершён

Вы завершили Репозитории пакетов

Теперь вы можете объяснить, как настроенный репозиторий превращается в доверенные метаданные пакетов.

  • Отличайте индексы репозитория от архивов пакетов.

  • Обновляйте локальный каталог командой apt update.

  • Находите однострочные и deb822-определения источников APT.

  • Ограничивайте ключи подписи и осознанно оценивайте доверие сторонним источникам.

Сохраните прогресс

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

Создать бесплатный аккаунт
Следующий Урок
Назад к Пакеты