Deb (формат файлів)
Старий формат (до версії 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).
Сontrol.tar
Архів містить набір файлів:
- control - Містить коротку інформацію про пакеті програмного забезпечення: Найменування, версія, опис, цільова архітектура, залежно від інших пакетів і т.д ..
- md5sums - Містить перевірочні MD5 суми всіх встановлюваних файлів.
- conffiles - Список файлів пакету, що є конфігураційними. При оновленні файли з цього списку не перезаписувати новими, якщо це не зазначено окремо.
- preinst. postinst. prerm, postrm - Необов'язкові скрипти, що виконуються відповідно до і після установки або видалення пакета.
- config - Необов'язковий скрипт для debconf механізму конфігурації.
- shlibs - Необов'язковий список shared libraries.
Стандартна програма для управління цими пакетами - dpkg. часто використовувана за допомогою apt та aptitude.
Deb-пакети можуть бути перетворені в інші пакети, і навпаки, за допомогою програми alien.
Створюють пакети deb зазвичай за допомогою утиліт dpkg - зокрема, dpkg-buildpackage. Основи створення пакетів до підручника нового розробника Debian і Довіднику розробника Debian. [3]
Зовсім прості, але малопридатні для серйозного супроводу пакети можна створювати за допомогою програми CheckInstall.
Проект 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
- Ім'я пакета;
- Якщо даний пакет містить:
- заголовні і інші файли для розробників → «-dev»;
- зневадження → «-dbg»;
- файли документації → «-doc»;
- виконувані файли (зазвичай йдуть з бібліотеками) → «-bin»;
- «-» і версія пакету
- Після основної версії може стояти редакції пакунка в вигляді «-1», «-2» ...
- Якщо зміни стосуються тільки відповідності критеріям Debian щодо вільного програмного забезпечення. то «.dfsg-1», «.dfsg-2» ...
- Для оновлень безпеки всередині стабільної гілки Debian додається «etch2», «lenny1» ...
- Якщо пакет завантажений в репозиторій не одним з основних мейнтейнера (англ. NMU-upload), то додається «+1», «+2» ...
- «_» І архітектура: «_i386», «_amd64», «_all» ...