Когда я устанавливаю что-то в терминал, например хром, я набираю
sudo apt-get install chromium-browser
Как терминал узнает, что chromium-browser
является допустимым пакетом для установки? Есть ли список всех пакетов, которые можно установить? Как он находит пакеты?
Всякий раз, когда вы вызываете apt-get update
, репозитории, содержащиеся в sources.list
, получают чтение, это сообщает apt-get, откуда брать списки пакетов. Этот список загружается и сохраняется в /var/lib/apt/lists
для последующего использования. Это списки всех пакетов, доступных в выбранных вами репозиториях. Даже если вы удалите свой sources.list, этот список будет доступен для APT. Вот почему вы всегда должны делать update
всякий раз, когда добавляете / удаляете / изменяете репозиторий, чтобы поддерживать эти списки обновленными.
«Терминал» ничего не знает. APT читает все списки в /var/lib/apt/lists
и определяет, доступен ли пакет. Если пакет не найден ни в одном из списков, вы получите:
E: Unable to locate package <package>
Это отличается от репозитория в хранилище. Ваша локальная копия / список ваших активных репозиториев находится в /var/lib/apt/lists
.
$ sudo apt-get check
Reading package lists... Done
Building dependency tree
Reading state information... Done
Интересует линия
Reading package lists... Done
, которая сообщает вам, что APT читает список из /var/lib/apt/lists
.
apt-get
ищет указанный пакет в репозиториях, указанных в файле /etc/apt/sources.list
и каталоге /etc/apt/sources.list.d
.