#1
|
|
Вес репутации:
0
Регистрация: 27.02.2009
Адрес: Москва
Сообщений: 7,248
Сказал(а) спасибо: 574
Спасибок 2,673
в 1,898 сообщениях |
Структура репозитория Debian -
05.07.2009, 17:00
Структура репозитория Debian Debian/Ubuntu Недоумеваете, откуда берутся ваши Deb пакеты? Давайте разберемся с устройством репозиториев. Deb файлы - это единица упаковки ПО в Debian и в системах на базе Debian, вроде Ubuntu. Репозиторий – это набор Deb файлов, хранящихся в каталогах заданной структуры, и сопровождающий его файл индекса пакетов. Обычно к репозиториям открыт общий доступ (например, по HTTP), но они могут находиться и в файловой системе (например, репозитории, смонтированные по NFS с сервера, или репозитории на CD). Пакеты в карманах В Ubuntu используется двух уровневое логическое группирование пакетов, которое напрямую отражается в структуре каталогов репозиториев. Каталоги верхнего уровня называются «карманами», хотя иногда о них говорят как о «дистрибутивах». В Ubuntu Hardy Heron карманы таковы: >> hardy Это основной продукт – фиксированная версия на момент релиза Ubuntu и как раз то, что есть на вашем CD. >> hardy-updates Обновления и исправления ошибок для релиза Hardy. Здесь вы не найдете новых версий приложений – это строго обновления к версиям, опубликованным на момент релиза. >> hardy-security Тоже обновления, но связанные с безопасностью. >> hardy-backports Новые версии уже выпущенных пакетов. На пример, в этом репозитории есть Arts версии 1.5.10 (звуковая система Linux), тогда как в Hardy включен Arts версии 1.5.9. Данный карман поддерживается сообществом. Если у вас другой дистрибутив Ubuntu, например, Intrepid Ibex, карманы будут называться так: intrepid, intrepidsecurity и т. д. Под каждым из карманов лежит второй слой структуры. На нем ПО делится на 4 категории (компонента) на основе уровня поддержки пакета и лицензионных соглашений: >> main Пакеты, полностью поддерживаемые Canonical; ими можно пользоваться свободно по свободным лицензиям. Для этих пакетов Canonical предоставляет обновления безопасности. >> restricted Пакеты, поддерживаемые Canonical, но не доступные по свободным лицензиям, хотя обычно бесплатные. В эту категорию попадают проприетарные драйверы, выпускаемые производителями видеокарт в двоичном формате. >> universe Открытые пакеты, поддерживаемые сообществом. Они неподдерживаются Canonical, и их нет на CD Ubuntu. Это самая большая категория. >> multiverse У этих пакетов обычно ограниченные лицензии, и для их использования может потребоваться регистрация или оплата. Для работы с этими репозиториями в Debian есть набор утилит, совместно известных как APT (Advanced Packaging Tool). Здесь мы не будем касаться APT – лучше посмотреть man страницы apt-get и apt-cache. Расположение репозиториев задается в файле конфигурации APT /etc/apt/sources.list. Секции этого файла соответствуют структуре карманов и компонентов. Структура репозитория Структуру настоящего репозитория можно увидеть, открыв страницу http://ru.archive.ubuntu.com/ubuntu. Пройдя по ней ниже, вы увидите иерархию каталогов, которую я обрисовал. Левая часть схемы (в каталоге dists) отражает разбиение на карманы, компоненты и архитектуры, которое мы обсудили, но самих Deb файлов здесь нет. Вместо них вы найдете файлы Packages.bz2. (Как раз они то и извлекаются и кэшируются локально, когда вы выполняете команду sudo apt-get update.) Собственно Deb файлы находятся в каталоге pool, который разделен по компонентам (не по карманам или архитектурам). Чтобы сохранить структуру управляемой, есть еще один уровень каталогов a, b, c и т. д. Файлы Packages.bz2 связывают две ветви этой иерархии – имя пакета с именем файла в пуле. Репозитории с пулом позволяют избежать дублирования Deb файлов, общих для нескольких архитектур или дистрибутивов. Похожую структуру можно увидеть на CD Ubuntu, правда, лишь для компонентов main и restricted. Схема файловой системы репозитория Ubuntu. Показаны лишь некоторые каталоги.
|
Опции темы | |
Опции просмотра | |
|
|