Linux Labs

Пакеты, службы, журналы / Ступень 1 из 13

Пакеты, зависимости и репозитории

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 5 из 8 · теория · 5 мин

Откуда apt знает о версиях

Архивы не ищут вручную: их раздают репозитории, а списки того, что в них есть, хранятся на машине.

Репозиторий — сервер с архивами пакетов. Ubuntu берёт пакеты из своих репозиториев, их адреса записаны в настройках APT.

Скачивать архивы ради списка не нужно: машина хранит индексы — списки пакетов и версий каждого репозитория. Их копия лежит в /var/lib/apt/lists. apt ставит пакет по имени: находит его в индексах, скачивает архив вместе с зависимостями и передаёт dpkg. Менять систему apt и dpkg могут от root: без sudo apt install напечатает Could not open lock file /var/lib/dpkg/lock-frontend и спросит are you root?.

sudo apt update скачивает свежие индексы. Установленные программы она не меняет — их обновляет sudo apt upgrade. На учебной машине сети нет: apt update напечатает Temporary failure resolving 'archive.ubuntu.com' и оставит прежние индексы.

Проверь себя 1 вопрос

Что изменит sudo apt update на машине с сетью?

  • Установленные пакеты обновляет apt upgrade. После apt update в строке Installed у apt-cache policy та же версия.

  • Архив apt скачивает, когда ставит пакет. apt update берёт только списки — они лежат в /var/lib/apt/lists.

apt update обновляет индексы, и apt-cache policy после неё может показать нового кандидата. Ставит новые версии отдельная команда — apt upgrade.

Главное в шаге

  • Репозиторий раздаёт архивы, индексы на машине перечисляют его пакеты и версии.
  • apt update обновляет индексы, apt upgrade — установленные пакеты.
  • apt ставит по имени из индексов, dpkg — из архива на диске.
Ubuntu 24.04
Загрузка…