Создайте файл .deb из исходного кода в Ubuntu 16.04
Ubuntu имеет тысячи файлов .deb в официальных и неофициальных репозиториях. Но не все пакеты будут доступны в формате DEB. Иногда пакеты могут быть доступны только для дистрибутивов на основе RPM или дистрибутивов на основе Arch. В таких случаях важно знать, как создать файл .deb из исходного файла. В этом кратком руководстве мы посмотрим, как создать файл .deb из исходного файла в Ubuntu 16.04 LTS. Это руководство должно работать на всех системах на базе DEB, таких как Debian, Linux Mint, Elementary OS и т. д.
Создайте файл .deb из исходного кода в Ubuntu.
Во-первых, нам нужно установить необходимые зависимости для компиляции и создания DEB-файла из исходного файла.
Для этого запустите:
sudo apt-get install checkinstall build-essential automake autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev libgtk2.0-dev libnotify-dev libglib2.0-dev libevent-dev
Мы установили необходимые зависимости. Давайте продолжим и загрузим исходный файл пакета.
Загрузка исходных архивов
Для целей этого руководства давайте создадим файл .deb для исходного файла Leafpad. Как вы уже знаете, Leafpad — это простой графический текстовый редактор.
Перейдите на домашнюю страницу Leafpad и загрузите tar-файл.
wget http://tarot.freeshell.org/leafpad/leafpad-0.8.17le2.tar.bz2
Затем извлеките загруженный файл tar, как показано ниже.
tar xvjf leafpad-0.8.17le2.tar.bz2
Затем перейдите в извлеченную папку и выполните одну за другой следующие команды, чтобы скомпилировать исходный код:
cd leafpad-0.8.17le2/
./configure
Примечание. Если команда ./configure не найдена, пропустите ее и перейдите к следующей команде.
make
Наконец, выполните следующие команды, чтобы создать файл .deb из исходного кода.
sudo checkinstall
Пример вывода:
Введите Y, когда вас попросят создать описание для файла Deb.
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]: y
Затем введите описание файла DEB и дважды нажмите клавишу ВВОД, чтобы продолжить.
Preparing package documentation...OK
Please write a description for the package.
End your description with an empty line or EOF.
>> This Leafpad DEB file has been created from source code
>> EOF
На следующем экране вы увидите подробную информацию об исходном файле, из которого вы собираетесь создать DEB-файл. Пакет DEB будет построен в соответствии с этими деталями.
Просмотрите детали и измените их по своему желанию.
*****************************************
**** Debian package creation selected ***
*****************************************
This package will be built according to these values:
0 - Maintainer: [ root@ostechnix ]
1 - Summary: [ This Leafpad DEB file has been created from source code ]
2 - Name: [ leafpad ]
3 - Version: [ 0.8.17 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ leafpad-0.8.17 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ leafpad ]
12 - Conflicts: [ ]
13 - Replaces: [ ]
Например, я хочу изменить идентификатор электронной почты сопровождающего. Для этого нажмите цифру "0". Введите адрес электронной почты сопровождающего и нажмите клавишу ВВОД.
Enter a number to change any of them or press ENTER to continue: 0
Enter the maintainer's name and e-mail address:
>> sk@ostechnix.com
Наконец, нажмите Enter, если вас устраивают подробности.
Пакет .deb успешно собран и установлен автоматически.
**********************************************************************
Done. The new package has been installed and saved to
/home/ostechnix/leafpad-0.8.17/leafpad_0.8.17-1_amd64.deb
You can remove it from your system anytime using:
dpkg -r leafpad
**********************************************************************
.deb будет сохранен в каталоге, в который вы извлекли исходный файл.
Посмотрим содержимое исходного каталога:
ls
Пример вывода:
ABOUT-NLS config.sub intltool-extract missing
aclocal.m4 configure intltool-extract.in mkinstalldirs
AUTHORS configure.ac intltool-merge NEWS
ChangeLog COPYING intltool-merge.in po
compile data intltool-update README
config.guess depcomp intltool-update.in src
config.h description-pak leafpad_0.8.17-1_amd64.deb stamp-h1
config.h.in doc-pak Makefile
config.log INSTALL Makefile.am
config.status install-sh Makefile.in
ostechnix@ostechnix:~/leafpad-0.8.17$
Как вы можете видеть в приведенном выше выводе, файл deb был успешно создан и сохранен в исходном каталоге.
Вы также можете удалить установленный пакет deb, как показано ниже.
sudo dpkg -r leafpad
Я протестировал это руководство с исходными файлами Leafpad и 7zip. Это сработало как шарм, как я описал выше.
Это все на данный момент. Теперь вы знаете, как создать файл .deb из исходного файла. Скоро я буду здесь с еще одной интересной статьей. А до тех пор следите за обновлениями OSTechNix.
Если вы нашли эту статью полезной, поделитесь ею в социальных сетях и поддержите нас.
Ваше здоровье!