Справочник по Debian

       

Каталог pool


Исторически пакеты хранились в каталоге дистрибутива, для которого они были созданы. Сам каталог дистрибутива находился в каталоге dists. Это вызывало различного рода проблемы, в том числе и большой расход пропускной способности канала на зеркалирующих серверах, когда производились большие изменения.

Теперь пакеты хранятся в большом "пуле", структурированном в соответствии с именем исходного пакета. Чтобы сделать пул управляемым, он поделен на секции (main, contrib, и non-free) и далее по первым буквам имени исходного пакета. Эти каталоги содержат несколько файлов: бинарные пакеты для каждой архитектуры и пакеты с исходными текстами, на основе которых эти бинарные пакеты были собраны.

Вы можете выяснить, где размещается каждый пакет, выполнив команду типа apt-cache showsrc имя_моего_пакета и посмотрев на строку "Directory:". Например, пакеты apache хранятся в pool/main/a/apache/. Так как существует очень большое количество пакетов библиотек lib*, то они обрабатываются несколько иначе. Например, пакеты libpaper хранятся в pool/main/libp/libpaper/.

Каталоги dists все еще используются индексными файлами для программ типа apt. Также, на момент написания этого документа, старые дистрибутивы еще не сконвертированы использовать пулы, и поэтому в поле Directory заголовка пакета Вы увидите пути, содержащие имена дистрибутивов типа potato или woody.

Обычно Вам не нужно беспокоиться об этом, так как новая программа apt и, вероятно, старые dpkg-ftp (смотрите Способы обновления системы Debian, раздел 2.3.1) обработают это без проблем. Если Вам нужно больше информации, смотрите RFC: Реализация пула пакетов.



Содержание раздела