Формат deb что это

DEB – Пакет программного обеспечения Debian (Debian Software Package)

Расширение DEB

Чем открыть файл DEB

В Windows: 7-Zip, WinArchiver, ZipZag, PeaZip
В Linux: Debian package management system, Synaptic Package Manager, Adept, GDebi, Alien
В Apple iOS (iPhone, iPad, iPod): Cydia, Jailbreak

Описание расширения DEB

Популярность: Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

Раздел: Архивы

— debian-binary – версия формата deb файла. Для нового формата стоит «2.0»
— control.tar.gz – информация о пакете
— data.tar.gz или data.tar или data.tar.lzma или data.tar.bz2 – устанавливаемые файлы

DEB – это сокращение от Debian, что в свою очередь произошло от Debra – это имя подруги и от его собственного имени Ian (Ян Мердок).

Файл DEB используется в операционной системе Debian Linux и ее производных (Ubuntu, Edubuntu, Kubuntu, PCLinuxOS) в качестве основного источника инсталляционных пакетов.

Используйте терминал или инструмент управления программами в Linux, чтобы открыть или устанавить программу из пакета DEB. Чтобы установить *.DEB необходимо использовать терминал Linux и написать следующую команду:

Файлы DEB могут быть извлечены некоторыми архиваторами, такими как 7-Zip или конвертированы в другой пакет установки с помощью специализированных программ Linux, например, таких как alien. Создать файл deb можно с помощью утилит dpkg или dpkg-buildpackage.

iPhone Jailbreak (iOS Jailbreak) – это программа, которая удаляет официальное ограничение на IOS устройствах. Одним из таких ограничений является установка новых приложений только через Apple App Store.

Cydia использует собственный репозиторий приложений, которые содержат оба типа приложений – и бесплатные, и платные. Приложения в репозиториях Cydia не хранятся в виде файла приложения IPA, который использует App Store, а хранится в DEB-пакетах. Пакет прикладных программ DEB использует аналогичный формат файла как и пакеты DEB Debian.

Файлы приложения DEB так же установлены на Jailbreak iPhone (или другие устройства JB IOS) из Cydia через консоль SSH.

Источник

Создание deb пакетов

В этой статье мы рассмотрим как собрать deb пакет для своей программы без использования каких-либо сторонних инструментов. Мы не будем рассматривать подпись пакетов для репозиториев, потому что для каждого вида репозиториев команды будут отличаться.

Создание deb пакетов

Шаг 1. Подготовка

Давайте создадим для этого примера небольшую программу на Си. Она будет называться hellolosst и будет выводить на экран строку Hello from losst.ru в терминал при запуске. Сначала создайте папку hellolosst и перейдите в неё:

mkdir hellolosst
cd hellolosst

Затем поместите в неё файл с исходным кодом:

#include
int main() <
printf(«Hello from losst.ru\n»);
>

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

Для компиляции программы выполните такую команду:

Затем вы можете её выполнить:

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

Таким образом, теперь у нас есть программа, которую надо упаковать в deb пакет.

2. Создание манифеста

В каждом deb пакете содержаться не только файлы самой программы, но и файл манифеста, в котором описан пакет, его зависимости и параметры. Этот файл имеет название control и должен находится в папке DEBIAN. Для сборки пакета будем использовать папку package, чтобы файлы программы не путались с исходными файлами и те не попали в пакет. Создайте эти папку:

Прежде чем вы сможете создать этот файл надо узнать несколько вещей. Первым делом надо посмотреть размер файлов программы, поскольку в данном случае файл один, достаточно посмотреть его размер:

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

Если файлов несколько, то можно удалить исходники и посмотреть общий размер папки с файлами программы. Дальше надо понять от каких пакетов будет зависеть ваша программа. Для этого воспользуйтесь командой objdump:

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

В данном случае программе необходима только libc. Чтобы посмотреть в каком пакете она находится выполните:

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

Пакет называется libc6. Затем создайте файл манифеста со следующим содержимым:

Это минимальный набор параметров в файле манифеста. Вот их значение:

3. Расположение файлов

Манифест готов. Теперь в папке пакета надо создать структуру папок, аналог того, что есть в корневой файловой системе. В данном случае надо создать папку usr/bin и поместить туда исполняемый файл:

4. Скрипты установки

#!/bin/bash
echo «Hello from losst installed»

Разработчики Debian не рекомендуют использовать эти скрипты без крайней надобности, поскольку они дают вам полный контроль над системой пользователя и вы можете случайно что-то повредить. Обычно эти скрипты используются для того чтобы задавать пользователям вопросы и на основе этого генерировать конфигурационные файлы.

5. Сборка и проверка пакета

Осталось собрать настроенный пакет. Для этого используйте такую команду:

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

Теперь вы знаете как как собрать deb пакет. После завершения сборки можете установить его с помощью apt:

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

После этого исполняемый файл программы появится в /usr/bin, а сообщение из postinst будет выведено после установки.

Выводы

В этой небольшой статье мы рассмотрели как выполняется создание deb пакета с помощью инструмента dpkg-deb. Как видите, всё очень просто. Вам достаточно написать манифест и расположить файлы там, где они должны быть. Мы рассмотрели здесь только самые основы. На самом деле создание пакетов намного сложнее. Существует целый набор утилит debhelpers, которые используются на различных этапах сборки и установки deb пакетов, подробнее обо всём этом вы можете прочитать в официальной документации.

Источник

3 способа установить deb файлы на Ubuntu Linux

В этой статье для начинающих объясняется, как устанавливать deb-пакеты в Ubuntu. Также показано, как впоследствии удалить эти пакеты deb.

Это еще одна статья в серии новичков Ubuntu. Если вы абсолютно новичок в Ubuntu, вы можете поинтересоваться, как устанавливать приложения. Самый простой способ — использовать Ubuntu Software Center. Найдите приложение по его имени и установите его оттуда.

Жизнь была бы слишком простой, если бы вы могли найти все приложения в Центре программного обеспечения. Но этого не происходит, к сожалению.

Вы можете найти эти пакеты DEB в разделе загрузки на сайте поставщика программного обеспечения. Например, если вы хотите установить Google Chrome в Ubuntu, вы можете загрузить пакет DEB для Chrome со своего веб-сайта.

Теперь возникает вопрос, как установить файлы deb? Существует несколько способов установки пакетов DEB в Ubuntu. Я покажу их вам один за другим в этом уроке.

Вы можете выбрать инструмент GUI или инструмент командной строки для установки пакета deb. Выбор за вами.

Давайте посмотрим, как установить deb файлы.

Способ 1: использование программного центра по умолчанию

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

Откроется центр программного обеспечения, и вы должны увидеть возможность установки программного обеспечения. Все, что вам нужно сделать, это нажать кнопку установки и ввести свой пароль для входа.

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

Способ 2. Использование приложения Gdebi для установки пакетов deb с зависимостями.

Опять же, жизнь была бы намного проще, если бы все прошло гладко. Но это не жизнь, как мы ее знаем.

Что происходит, так это то, что программа может зависеть от другого программного обеспечения (библиотек). Когда разработчик готовит пакет DEB для вас, он / она может предположить, что ваша система уже имеет эту часть программного обеспечения в вашей системе.

Но если это не так, и ваша система не имеет необходимых компонентов программного обеспечения, вы столкнетесь с печально известной «ошибкой зависимости».

Центр программного обеспечения не может самостоятельно обрабатывать такие ошибки, поэтому вам придется использовать другой инструмент под названием gdebi.

gdebi — это легкое приложение с графическим интерфейсом, единственная цель которого — установить пакеты deb.

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

Лично я предпочитаю gdebi центру программного обеспечения для установки файлов deb. Это легкое приложение, поэтому установка кажется быстрее. Вы можете прочитать подробно об использовании gDebi и сделать его по умолчанию для установки пакетов DEB.

Вы можете установить gdebi из центра программного обеспечения или используя команду ниже:

Способ 3: установить deb файлы в командной строке с помощью dpkg

Если вы хотите установить deb файлы в команде lime, вы можете использовать команду apt или dpkg. Команда Apt на самом деле использует команду dpkg, но apt более популярна и проста в использовании.

Если вы хотите использовать команду apt для файлов deb, используйте ее следующим образом, где /path/to/file.deb — путь до вашего deb-файла:

Если вы хотите использовать команду dpkg для установки пакетов deb, вот как это сделать:

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что это

Если при установке пакетов deb вы получили ошибку зависимости, вы можете использовать следующую команду для устранения проблем зависимости:

Как удалить пакеты deb

Удаление пакета deb не имеет большого значения. И нет, вам не нужен оригинальный файл deb, который вы использовали для установки программы.

Способ 1: удаление пакетов deb с помощью команд apt

Все, что вам нужно, это имя программы, которую вы установили, и затем вы можете использовать apt или dpkg, чтобы удалить эту программу. Для этого введите вот эту команду, где program_name название программы, которую вы хотите удалить.

Теперь возникает вопрос, как найти точное имя программы, которое нужно использовать в команде удаления? У команды apt есть решение и для этого.

Команда grep удалит из вывода все строки, в которых нет слова grid и мы получим только то, что нас интересует. То есть в данном случае вместо большого списка будет только та строка, которая интересует. Это намного проще, чем искать глазами, правда?

Как видите, установлена ​​программа appgrid. Теперь вы можете использовать это имя программы с командой apt remove.

Способ 2: удалить пакеты deb с помощью команд dpkg

Вы также можете использовать dpkg, чтобы найти имя установленной программы:

Вывод выдаст все установленные пакеты, которые содержат слово grid:

ii в приведенной выше команде вывод означает, что пакет был правильно установлен.

Теперь, когда у вас есть имя программы, вы можете использовать команду dpkg, чтобы удалить ее:

Я надеюсь, что это руководство для начинающих помогло вам установить deb файлы в Ubuntu. Я добавил часть удаления, чтобы вы могли лучше контролировать установленные вами программы.

Более подробно о deb-пакетах вы можете почитать на официальном сайте Debian тут.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Системное администрирование и мониторинг Linux/Windows серверов и видео CDN

Статьи по настройке и администрированию Windows/Linux систем

Создание и редактирование deb пакетов

Формат deb что это. Смотреть фото Формат deb что это. Смотреть картинку Формат deb что это. Картинка про Формат deb что это. Фото Формат deb что этоХотел бы навести маленькую статью заметку о том, как можно редактировать (вносить изменения) deb пакеты. Рано или поздно каждый администратор сталкивается с нуждой сборки или редактирования установочных пакетов. К примеру, мы используем pound в роли фронт-енда для https. По умолчанию, он пишет все логи в syslog.log, и для того, чтобы он писал в свой собственный файл, нужно внести изменения не только в pound, но и в syslog конфигурацию. Плюс нужно добавить ротейт логов. Чтобы каждый раз не проделывать все изменения после установки, мы можем добавить все нужные файлы конфигураций и папки в deb-пакет pound-а, и уже устанавливать его вместо репозиторного.
Будем редактировать pound под дистрибутивом Ubuntu 16.04.

Для того, чтобы загрузить пакет из репозитория без установки можно использовать следующею команду.

После этого, у нас в рабочей директории появиться пакет pound.

Посмотрим из каких файлов состоит этот пакет.

Мы хотим, чтобы pound писал логи в папку /var/log/pound. Также нужно сразу добавить logrotate для этой папки, чтобы лог-файлы не росли до заоблачных размеров.
Следовательно, нам нужно добавить в deb пакет папку с логфайлом, конфигурацию для logrotat-а и конфигурацию для syslog.
Распакуем deb пакет.

Теперь переходим в новосозданную папку и добавляем все нужных папки и конфигурации.
Для начала добавляем папку для логов

Далее добавляем конфигурацию для logrotate.

Теперь добавим конфигурацию для syslog (чтобы pound писал в свой файлик).

Осталось только подправить конфигурация самого pound-а.

На этом приготовления завершены. Теперь нужно добавить описание для нашего пакета (control-information есть обязательным для всех deb пакетов). Его можно извлечь из скаченного пакета и обязательно поместить в нашу с именем DEBIAN.

Также, извлечь информацию о пакете и дерево файлов можно было одной командой:

Теперь редактируем DEBIAN/control файл.

Также добавим m5sum каждого добавленного файла.

Теперь осталось собрать новый пакет (название пакета я изменил просто для примера).

Посмотрим какие файлы в нашем новом пакете.

Как видим, все наши файлы есть в сборке.
Теперь можно установить новый пакет.

Теперь внесем пару изменений и стартуем pound

Проверяем 443 порт.

Как видим, pound не настроен, поэтому выдал ошибку и залогировал ее в свой лог файл.
Осталось проверить logrotate.

Все отлично, лог заротейтился, потом мы проверили или пишется лог в новый файл – все ок.
На этом все. Как создавать пакет с новым названием для поддержки мультиверсионности можно почитать здесь

Источник

Как собрать бинарный deb пакет: подробное HowTo

Сегодня я расскажу на абстрактном примере как правильно создать *.deb пакет для Ubuntu/Debian. Пакет мы будем делать бинарный. Пакеты, компилирующие бинарники из исходников здесь не рассматриваются: осилив изложенные ниже знания, в дальнейшем по готовым примерам можно понять суть и действовать по аналогии 🙂

В статье не будет никакой лишней возни «вручную»: формат пакета эволюционировал в достаточно простую, а главное — логичную структуру, и всё делается буквально на коленке, с применением пары специализированных утилит.

В качестве бонуса в конце статьи будет пример быстрого создания собственного локального репозитория: установка пакетов из репозитория позволяет автоматически отслеживать зависимости, и конечно же! — устанавливать всё одной консольной командой на нескольких машинах 🙂

Для тех, кто не хочет вдаваться в мощную систему установки софта в Linux, рекомендую посетить сайт проги CheckInstall: она автоматически создаёт deb-пакет из команды «make install» 😉 А мы вместе с любопытными —

Источники

Подготовка

Зачем это всё?
Что потребуется

Конечно, для создания полноценного пакета хватит архиваторов tar, gz, ar, но можно исключить лишнюю возню, и воспользоваться инструментами, созданными для облегчения жизни 🙂
Ставим:
$ sudo apt-get install dpkg debconf debhelper lintian

Что мы будем делать

Для примера будет рассмотрен некий скрипт /usr/bin/super.sh. Не важно что внутри, главное — как он появится на правильном месте 🙂

Подготовка папки

/supersh/usr/bin # путь к скрипту
cp super.sh

/supersh/usr/bin/ # копируем наш скрипт в нужное место
В итоге имеем:
supersh/DEBIAN/
supersh/usr/
supersh/usr/bin/
supersh/usr/bin/super.sh

Создание пакета: DEBIAN/*

Как я уже сказал, папка DEBIAN содержит файлы, используемые при установке. Здесь я опишу (с примерами) каждый файл.
Для создания полноценного пакета достаточно контрольного файла «control», все остальные используются либо для прикрепления текстовой информации (changelog, лицензия), либо для управления расширенными возможностями установки приложений.
Из описанных ниже файлов в папке DEBIAN/* выбираем необходимые, и заполняем согласно инструкции 🙂
В наше примере реально используется только обязательный DEBIAN/control.

DEBIAN/control: Основная информация

control — центральный файл пакета, описывающего все основные свойства. Файл — текстовый, состоящий из пар «Атрибут: значение». Можно использовать комментарии: символ «#» в начале строки (возможность была добавлена в версии dpkg >= 1.10.11, надеяться на комментарии не стоит :).
В таблице приведены все поля, определённые для контрольного файла. Обязательные поля выделены жирным: без них пакет не будет считаться составленным верно.

АтрибутОписаниеПримеры
— основные —
Package:Имя пакета: [a-zA-Z0-9-] — только латиница, цифры, и дефис. Имя используется при установке: apt-get install

DEBIAN/copyright: © / лицензия

Текст лицензии. Файл не обязателен, но лучше подчеркнуть своё авторство 😉

DEBIAN/changelog: история изменений

Changelog в специальном формате: используется dpkg для получения номера версии, ревизии, дистрибутива и важности пакета. Лучше посмотреть в официальной документации 😉 а я лишь приведу пример:
supersh (1.0-1) stable; urgency=medium

— o_O Tync Sun, 13 Dec 2009 00:11:46 +0300

DEBIAN/rules: правила компиляции

Используется для управления компиляцией пакета: это когда Architeture: source 🙂
См. официальную документацию

DEBIAN/conffiles: список файлов конфигурации

Обычно пакеты содержат болванки конфигурационных файлов, например, размещаемых в /etc. Очевидно, что если конфиг в пакете обновляется, пользователь потеряет свой отредактированный конфиг. Эта проблема легко решается использованием папок типа «config.d», содержимое которых включается в основной конфиг, заменяя собой повторяющиеся опции.
Файл «DEBIAN/conffiles» позволяет решить проблему иначе: он содержит список файлов конфигурации (по одному на строке). Если в текущей версии пакета один из этих файлов обновляется, то пользователь получает предупреждение о конфликте версий конфигов, и может выбрать: удалить, заменить, или сделать merge.
С этой ситуацией наверняка сталкивался каждый линуксоид, копавшийся в конфигах 🙂 А ноги растут отсюда.
На каждой строке должен быть полный абсолютный путь до каждого конфига. Например:
/etc/supersh/init.conf
/etc/supersh/actions.conf

DEBIAN/dirs: список папок для создания

«Список абсолютных путей к папкам, которые требуются программе, но по каким-либо причинам не создаются.» — гласит официальная документация. На практике – здесь перечисляются все папки, так или иначе используемые программой: и где лежат бинарники, и которые используются программой.
По одной на строке. Например:
/var/log/supersh
/var/lib/supersh
Удобно использовать для создания нескольких пустых папок.

DEBIAN/menu: создание пунктов меню
UPD: Правильный способ добавления пункта меню
DEBIAN/md5sums: контрольные суммы файлов
DEBIAN/watch: мониторинг сайта, откуда была скачана прога

Функция полезна, если Вы мэйнтейните от нескольких десятков пакетов, и уследить за всеми обновлениями сложно.
Файл содержит инструкции для программ uscan и uupdate. Используя эту возможность, можно следить за сайтом, откуда были получены исходники пакета, и обеспечивать контроль качества дистрибутива в целом.
Пример:
# Site Directory Pattern Version Script
ftp.obsession.se /gentoo gentoo-(.*)\.tar\.gz debian uupdate

И ещё пример для uscan(1):
version=3
madwimax.googlecode.com/files/madwimax-(.*)\.tar\.gz

Лучше почитайте официальную документацию, такие мощные вещи нечастно требуются простым смертным 🙂

DEBIAN/cron.d: инсталляция заданий cron
DEBIAN/inid.d: init-скрипт

В этот файл пишется содержимое init-скрипта. О написании init-скриптов в инете можно найти

Скриптинг

Мы подошли к самому интересному: встраиванию скриптов в deb пакеты. Скрипты позволяют управлять установкой, переустановкой и удалением пакета, выполняя действия, которые нельзя сделать простым копированием файлов в правильные места. Это может быть скачивание дополнительных файлов (как это делает flash-installer), изменение существующих, а также — вывод интерактивных (GUI или ncurses) диалогов, позволяющих пользователю сконфигурировать пакет под себя: например, mysql спрашивает какой установить пароль для root.
Все скрипты выполняются от пользователя root (а как же ещё :). Также они получают аргументы (которые обрабатывать не обязательно), конкретизирующие на каком именно этапе находится установка. Подробнее об этом здесь.

DEBIAN/(preinst|postinst|prerm|postrm): скрипты установки

exit 0

WARNING: болванка пока не тестировалась широко, проверьте лишний раз! На невозможность отладки наткнулся совсем недавно 🙂

DEBIAN/templates: шаблоны для диалогов

Как уже было сказано, в скрипте DEBIAN/config можно задавать пользователю вопросы: ввести строку, выбрать один из вариантов, поставить галочку,… Этим занимается «библиотека» bash функций debhelper пакета debconf, умеющая кроме этого ещё массу полезных вещей. Здесь их не рассматриваю 🙂
Файл DEBIAN/templates содержит данные, используемые при выводе диалоговых окон (GUI или ncurses). Файл содержит блоки, разделённые пустой строкой. Каждый блок определяет ресурсы, используемые в одном конкретном диалоговом окне.
Шапка для всех типов диалогов стандартная:
Template: supersh/template-name
Type: string
Default: Default-value
Description: Dialog-title
␣Dialog-text

Template — уникальный (в пределах одного пакета) идентификатор шаблона. Если в скрипте нужно вызвать определённый диалог — используется именно это имя.
Type — тип шаблона. Определены такие типы: string, password, boolean, select, multiselect, text, note, error.
Default-value — значение по умолчанию: пользователь может просто согласиться с ним.
Description — как и в контрольном файле, состоит из двух полей: короткое описание, и длинный текст. Первое — это заголовок «окна», второе — более развёрнутое описание того, что требуется от пользователя. Рекомендуется не использовать слов вроде «введите», а сразу суть: «Приветствие скрипта», «Точка монтирования»,…

Основы использования debconf и debhelper

# Подключение команд debconf
. /usr/share/debconf/confmodule

Собираем пакет! 🙂

Автоматическая проверка пакета

Существует утилита lintian, позволяющая проверить пакет и выявить типичные ошибки в его структуре. Делается это так:
$ lintian supersh_1.0-1_all.deb

Установка пакета

Создаём собственный репозиторий пакетов

Теперь у нас есть собственный пакет. Когда их будет несколько, и тем более — с зависимостями, окажется, что намного удобнее быстренько поднять собственный локальный микро-репозиторий, и включить его в список источников менеджера пакетов 🙂 Здесь я опишу быстрый HowTo «как создать свой репозиторий». Идею будет легко развить, почитывая соответствующую документацию 🙂
Сперва установим помощника:
$ sudo apt-get install reprepro

Описание будущего репозитория

Центр репозитория — его описание. Главное в нём — список компонент репозитория. Мы создадим компоненты «soft» и «games».
Выберите папку для будущего репозитория. Все действия производятся из её корня.
Создаём файл conf/distributions следующего содержания:
Description: my local repository
Origin: Ubuntu
Suite: testing
AlsoAcceptFor: unstable experimental
Codename: karmic
Version: 5.0
Architectures: i386 amd64 source
Components: soft games
UDebComponents: soft games

В нашем деле создания простого репозитория все поля не играют принципиальной роли, и используются лишь для визуального определения «что есть что» 🙂

Создание репозитория

Репозиторий описан! Теперь сгенерируем болванку на основе описания. Команды выполняются в корне репозитория:
$ reprepro export
$ reprepro createsymlinks
И добавим готовый репозиторий в /etc/apt/sources.list:
deb file:///path/to/repo/ karmic soft games
Этот репозиторий можно также расшарить при помощи веб-сервера.

Управление пакетами в репозитории

Финиш

UPD: @ICD2 подсказывает, что есть GUIшная прога для создания пакетов: GiftWrap.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *