deb (формат файлов)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Пакет Debian (dpkg)

Application-x-deb.svg

Application-x-deb.svg
Иконка deb-файлов в среде GNOME

Расширение

.deb или .udeb

MIME-тип

application/vnd.debian.binary-package[1]

Разработчик

Debian

Тип формата

Система управления пакетами

Содержит

Программное обеспечение и метаданные в архивах .tar.bz2 или .tar.gz

Расширен из

ar и tar

Установка deb-пакета в Gdebi

deb — расширение имён файлов «бинарных» пакетов для распространения и установки программного обеспечения в ОС проекта Debian, и других, использующих систему управления пакетами dpkg. Deb — это часть слова Debian, в свою очередь, образованного от слов Debra — имени подруги (впоследствии — жены, ныне — бывшей) основателя Дебиана Яна Мердока и Ian от его собственного имени.

Формат[править | править вики-текст]

Старый формат (до версии Debian 0.93)[править | править вики-текст]

deb-файл в старом формате представляет собой две строки ASCII-текста, за которыми следуют два сцепленных архива формата tar.gz. Первая строка содержит номер версии формата, дополненный до 8 цифр (0,939000 для всех старых форматов). Вторая строка содержит десятичную строку (без начальных нулей), определяющую длину первого архива формата tar.gz. Каждая из этих строк завершается одним символом новой строки.[2]

Новый (текущий) формат (с версии Debian 0.93)[править | править вики-текст]

Начиная с Debian версии 0.93, deb файл представляет собой архив формата ar.

Обычно архив содержит 3 файла в нижеприведенной последовательности:

  • debian-binary - Текстовый файл, содержащий версию формата deb-пакета. Она равняется «2.0» для текущих версий Debian.
  • control.tar - tar-архив, содержащий информацию и скрипты установки пакета. Может быть сжат с помощью gzip или xz, тип архива отображается в имени файла (к примеру control.tar.gz).
  • data.tar - tar-архив, содержащий дерево устанавливаемых файлов пакета. Может быть сжат с помощью gzip, bzip2, lzma или xz, тип архива отображается в имени файла (к примеру control.tar.gz).

control.tar[править | править вики-текст]

Архив содержит информацию о поставляемом в данном пакете программном обеспечении.

  • control - Содержит краткую информацию об пакете программного обеспечения: Наименование, версия, описание, целевая архитектура, зависимости от других пакетов и т.д..
  • md5sums - Содержит проверочные MD5 суммы всех устанавливаемых файлов.
  • conffiles - Список файлов пакета, являющихся конфигурационными. При обновлении файлы из этого списка не перезаписываются новыми, если это не указано отдельно.
  • preinstpostinstprerm, postrm - Необязательные скрипты, выполняемые соответственно до и после установки или удаления пакета.
  • config - Скрипт для debconf механизма конфигурации.
  • shlibs - Список shared libraries.

data.tar[править | править вики-текст]

Архив с деревом устанавливаемых файлов пакета, разворачиваемый в систему относительно ее корня.

Репозитории[править | править вики-текст]

Основной вид распространения deb-пакетов. Для описания репозитория обычно используется строчка:

deb http://ftp.debian.org/debian squeeze main contrib non-free
  • deb - указание типа репозитория
  • http://ftp.**** - URI корня репозитория. Может использоваться http:// ftp:// file:// и некоторые другие схемы.
  • squeeze - distribution part. Версия операционной системы.
  • main contrib *** *** - component - Компоненты операционной системы (в основном различающиеся свободой ).

Репозиторий, размещенный на сетевых хранилищах обычно объединяет несколько distribution part с общим хранением пакетов. структура обычно такова.

  • /pool/ - структуированное по имени хранилище скомпилированных пакетов и исходных текстов программ.
  • /dists/ - списки пакетов, входящий в определенный distribution part.

Программное обеспечение[править | править вики-текст]

Стандартная программа для управления этими пакетами — dpkg, часто используемая с помощью apt и aptitude.

Deb-пакеты могут быть преобразованы в другие пакеты, и наоборот, с помощью программы alien.

Создают пакеты deb обычно с помощью утилит dpkg — в частности, dpkg-buildpackage. Основы создания пакетов описаны в Руководстве нового сопровождающего Debian и Справочнике разработчика Debian.[3]

Совсем простые, но малопригодные для серьёзного сопровождения пакеты можно создавать с помощью программы CheckInstall.

Разновидности[править | править вики-текст]

udeb[править | править вики-текст]

Проект debian-installer ввёл имена файлов пакетов, которые заканчиваются на .udeb («µdeb», «микроdeb»). Это микро-.deb формат, который не полностью следует политике Debian, не содержит документации и должен использоваться только инсталлятором Debian (Debian-Installer), который является новым установщиком Debian, разработанным для Debian Sarge. Формат файла .udeb идентичен формату .deb. Программа udpkg, используемая для работы с .udeb пакетами, имеет ограниченные возможности по сравнению с dpkg и меньше поддерживает связи пакетов. Разница в имени существует из-за того, что мейнтейнерам архива Debian не нравилось присутствие в архиве пакетов .deb, которые не отвечали политике, поэтому для них было выбрано другое имя, чтобы подчеркнуть это и не допустить их непреднамеренную установку на рабочую систему. Пакеты .udeb используются на initial ram-диске при установке базовой системы, только чтобы создать очень ограниченную систему Debian.

Именование пакетов[править | править вики-текст]

Структура имени пакетов такова: имя-дополнение-версия_архитектура.deb

  • Имя пакета;
  • Если данный пакет содержит:
  • «-» и версия пакета
    • После основной версии может стоять номер ревизии пакета в виде «-1», «-2»…
    • Если изменения касаются только соответствия критериям Debian по определению свободного ПО, то «.dfsg-1», «.dfsg-2»…
    • Для обновлений безопасности внутри стабильной ветки Debian добавляется «etch2», «lenny1»…
    • Если пакет загружен в репозиторий не одним из основных мейнтейнеров (англ. NMU-upload), то добавляется «+1», «+2»…
  • «_» и архитектура: «_i386», «_amd64», «_all»…

Примечания[править | править вики-текст]

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]