Архивы не ищут вручную: их раздают репозитории, а списки того, что в них есть, хранятся на машине.
Репозиторий — сервер с архивами пакетов. 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' и оставит прежние индексы.
Что изменит 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 — из архива на диске.