Со страницы руководства для apt-get
:
обновление используется для повторной синхронизации файлов индекса пакета из их
источники. Индексы
доступных пакетов извлекаются из местоположений, указанных в
/etc/apt/sources.list. Например, при использовании архива Debian эта команда получает
и сканирует файлы Packages.gz, чтобы информация о новых и обновленных пакетах была
имеется в наличии. Обновление всегда следует выполнять перед обновлением или dist-upgrade.
Помните, что общий индикатор прогресса будет неверным, так как размер
Файлы пакетов не могут быть известны заранее.
Вы можете попробовать запустить apt-get install
без запуска update
на образе докера, но вы, вероятно, обнаружите, что многие вещи не удастся установить, потому что индексы пакетов устарели.
Как только вы обновите данные пакета, вы можете указать конкретную версию для пакетов при запуске install
например,
apt update && apt install -y \
git=1:2.7.4-0ubuntu1.4
Пример с док-контейнером:
> sudo docker run -it ubuntu:16.04 /bin/bash
# root@513eb786d86d:/# apt install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package git
root@513eb786d86d:/# apt install git=1:2.7.4-0ubuntu1.4
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package git
root@513eb786d86d:/# apt update
...
root@513eb786d86d:/# apt install git=1:2.7.4-0ubuntu1.4
# works this time!