MyTetra Share
Делитесь знаниями!
Как сделать DEB-пакет вручную (инструкция)
03.03.2020
11:15
Текстовые метки: linux, debian, deb, пакет, создание
Раздел: Компьютер - Linux - Инсталляция программ

Последовательность действий для создания DEB-пакета вручную.


1. Создаем каталог с название пакета;

2. В нем создаем дерево каталогов и файлов, которые надо установить, с абсолютными путями linux (т.е. ./<имя пакета>/usr/share/kontakt/<файлы>);

3. В созданном дереве каталогов создаем файлы, которые необходимо устанавливать;

4. В корне папки (создаваемого пакета) создаем каталог DEBIAN;

5. Перейти в каталог DEBIAN и создать в нем следующие файлы:

- control (обязательный файл)

- changelog

- copyright

- dirs

- md5sums

- postinst (скрипт, необходимо установить права на выполнение)

- preinst (скрипт, необходимо установить права на выполнение)


Описание файлов:

control


Атрибут

Описание

Примеры

Package

Имя пакета: [a-zA-Z0-9-] — только латиница, цифры, и дефис.

Package: supersh

Version

Версия пакета. Используется для определения «обновлять ли».

Формат принят такой: <версия_программы>-<версия_пакета>.

Допустимые символы достаточно вольные: можно использовать дату и буквы.

Version: 1.0-1

Version: 2009.12.12-1

Maintainer

Имя и почта мэйнтейнера пакета: человека, который «дебианизировал» приложение.

Формат произвольный, но принято имя <e-mail>

Maintainer: o_O Tync <o-o-tync.habrahabr.ru>

Architecture

Архитектура процессора, для которой предназначен пакет.

Допустимые значения: i386, amd64, all, source

all используется для скриптов.

source используется для компилируемых пакетов с исходниками


Architecture: all

Section

Определяет задачу, для которой приложение обычно используется (группа приложений).

Возможные значения: admin, base, comm, contrib, devel, doc, editors, electronics, embedded, games, gnome, graphics, hamradio, interpreters, kde, libs, libdevel, mail, math, misc, net, news, non-free, oldlibs, otherosfs, perl, python, science, shells, sound, tex, text, utils, web, x11

Section: misc

Description

Описание пакета.

Описание состоит из двух частей: короткое описание (70 символов) на той же строке, и длинное описание на последующих строках, начинающихся с пробела.

В расширенном описании все переводы строки игнорируются. Для вставки \n используется одиночная точка.

Description: Short.

Long

goes here.

.

New line.

Depends

Список пакетов через запятую, которые требуются для установки этого пакета.

После имени пакета можно в круглых скобках указать ограничение на версию, используя операторы: <<, =, >>, <=, >=. Если оператор не указан — используется >=

Depends: dpkg, libz (>= 1.2.3), jpeg (= 6b), png (< 2.0)


Пример содержимого файла control


Package: supersh

Version: 1.0

Maintainer: Sergey Ivantsov <SergeyLeonKik@mail.ru>

Architecture: all

Section: misc

Depends: bash (>=4.2)

Description: Super Shell Script

␣A super example script



changelog

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

Пример содержимого файла changelog


supersh (1.0-1) stable; urgency=medium

* Testing.

-- o_O Tync <o-o-tync.habrahabr.ru> Sun, 13 Dec 2009 00:11:46 +0300



copyright

Текст лицензии.

Пример содержимого файла


Package build Ivantsov Sergey



dirs

Список абсолютных путей к папкам, которые требуются программе, но по каким-либо причинам не создаются (используется для создания папок).

Пример содержимого файла


/var/log/supersh

/var/lib/supersh



md5sums

Используется для проверки целостности пакета.

Пример содержимого файла

Заполняется так (cwd=корень пакета):


$ md5deep -r usr > DEBIAN/md5sums


postinst

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

Пример содержимого файла


#!/bin/bash

#echo “Выполняется Post-install”

read

exit 0



preinst

Выполняется перед установкой пакета: он может подготовить что-либо для успешной установки.

Пример содержимого файла


#!/bin/bash

#echo “Выполняется Pre-install”

read

exit 0



Для создания deb-пакета выполняем следующую команду:


fakeroot dpkg-deb –build <название каталога пакета>


Пакет будет создан в текущем каталоге.


Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования