Установка программ в debian по исходным кодом

При работе с компьютером или сервером Linux большинство необходимых пакетов можно получить при помощи apt или другого менеджера пакетов. Но иногда нужен пакет или более современная версия программы, которых нет в репозиториях.

Данное руководство охватывает вопросы компиляции и установки cURL из исходного кода. Использованный здесь синтаксис применим на большинстве дистрибутивов.

Требования

Для компиляции исходного кода в Linux нужен пакет «build-essential» (в системах на основе Debian) или «Development Tools» (CentOS); данные пакеты содержат компиляторы и библиотеки gcc/g++.

Чтобы установить пакет на Debian и Ubuntu, используйте:

apt-get install build-essential

yum groupinstall «Development Tools»

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

Установка и удаление программ в Debian

Перед компилированием cURL установите все необходимые зависимости. Также на используемом сервере нужно иметь привилегии root или sudo для установки и компилирования исходного кода.

Извлечение и компилирование исходного кода на VPS

Загрузка Tarball

Для начала нужно скачать исходный код cURL. Существует множество способов это сделать, но в данном руководстве используется tarball, доступный на сайте cURL. При желании URL в следующей команде можно заменить на URL текущей версии cURL, но при этом нужно помнить, что это должна быть ссылка на файл «tar.gz». Запустите:

Это скачает и сохранит исходный код как curl.tar.gz в текущем каталоге.

Теперь нужно извлечь tarball. Для этого запустите:

tar -xvzf curl.tar.gz

Исходный код будет расположен в папке по имени «curl-» с номером версии. При вводе:

будет выведен подобный результат:

В данном случае папка называется «curl-7.32.0», следовательно, чтобы войти в эту папку, нужно ввести:

Конфигурирование и компилирование исходного кода

В этой папке можно найти множество разных файлов. На данный момент нужно обратить внимание на файл «configure». Это скрипт, созданный для того, чтобы помочь запустить программу на различных компьютерах. Запустите:

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

Кроме того, данное действие определяет, куда впоследствии установить пакет. По завершению будет создан файл Makefile со всей нужной в нем информацией. Теперь все готово для компилирования исходного кода. Для этого запустите команду:

В результате этого действия будет выведено много лишней и непонятной информации на консоль. Подождите, пока это закончится. Это займет около минуты. По завершению нужно установить исходный код. Запустите как root:

Научись Linux: сборка программ из исходников (эпизод 13)

Читайте также:
Примеры программ на си avr studio

Теперь make будет следовать инструкциям в «Makefile», чтобы установить скомпилированные пакеты. В большинстве случаев это все, что нужно для установки. Теперь можно ввести curl. Если cURL был установлен верно, будет выведен примерно такой результат:

curl: try ‘curl —help’ or ‘curl —manual’ for more information

При извещении об ошибке bash введите:

ln -s /usr/local/bin/curl /usr/bin/curl

Это создаст ссылку на /usr/bin/curl, которая соединяется с /usr/local/bin/curl. Это позволит запустить cURL, просто введя curl в консоль. Обычно это выполняется автоматически, но в некоторых случаях скрипт конфигурации не может найти нужное местоположение установки. Теперь можно ввести:

Это запустит текущую версию cURL. Выведенный результат имеет примерно такой вид:

Готово! cURL был успешно скомпилирован и установлен из исходного кода.

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

Запомните последовательность: ./configure, затем make, а затем make install.

Источник: www.8host.com

Создание DEB / RPM пакета из исходников или как использовать checkinstall

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

Так как здесь рассматриваются пакетные дистрибутивы Linux, то собирать из исходников мы будем в DEB и RPM пакеты. Такие пакеты в последующем легко устанавливаются и удаляются в ОС.

Ниже приведен список команд, которые помогают создавать DEB и RPM пакеты из исходников. Еще ниже каждая команда будет более подробно расписана.

Создание DEB -пакетов из исходного кода:

sudo apt-get install checkinstall
cd директория_исходного_кода_программы
sudo checkinstall

Подробное описание каждого шага

Установка программы checkinstall

Установка пакета checkinstall не должна вызвать особых сложностей. В операционных системах, использующих DEB пакеты, установка производится командой:

sudo apt-get install checkinstall

В операционной системе, использующей RPM пакеты, установка пакета checkinstall выполняется командой:

sudo rpm -i checkinstall

Если такой пакет в Вашей ОС не обнаружен, то Вам следует посетить домашнюю страницу проекта и скачать требуемую версию для Вашего дистрибутива:

Переход в директорию с исходным кодом программы

Переход в директорию с исходным кодом программы достаточно прост и также не должен вызвать никаких затруднений.

Хотелось бы напомнить об очень удобном инструменте командной строки Linux – клавише TAB . Кнопка TAB позволяет автоматически дописывать название длинных директорий и файлов. Требуется ввести лишь первые символы названия директории / файла и нажать клавишу TAB , которая автоматически допишет полное название.

Почти все исходники распространяются в архивах формата tar.gz. Для разархивирования архива набираем команду:

tar xvzf имя_архива.tar.gz

Прочитать дополнительную информацию по работе с любыми архивами можно здесь.

Конфигурируем исходники под свою ОС

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

Эта команда не вносит никаких изменений в ОС и тем самым не сможет никак повредить ее.

Бывают случаи, когда авторы программ, добавляют дополнительные ключи установки. Просмотреть инструкцию по установке, написанную автором программы, можно командой:

./configure —help

или прочитать в файле readme или install

Этот этап самый трудоемкий, так как необходимо установить все дополнительные пакеты, от которых зависит исходный код компилируемой программы. Если в ходе выполнения этой команды на экране появилось сообщение об ошибке и процесс конфигурирования остановился, то это значит что какой-то зависимый пакет отсутствует в системе.

Читайте также:
Самые сложные программы на скретч

К примеру, при конфигурировании Pidgin возникла ошибка:

checking for GTK … yes
checking for PANGO … yes
checking for X11… yes
checking for GTKSPELL … no
no
configure: error:
GtkSpell development headers not found.
Use —disable-gtkspell if you do not need it.

В приведенном листинге видно, что GTK , PANGA , X11 соответствуют требованиям компилируемого исходного кода (yes), а проверка GTKSPELL вывела значение no. Скорее всего в этом примере требуется установить libgtkspell-dev.

Из этого примера видно, что это дело не такое уж и сложное. Если в процессе конфигурирования не возникло ошибок, то процесс считается завершенным успешно.

Компилирование исходников

Компилирование исходного кода – процесс «автоматический» при условии успешного выполнения предыдущего пункта.

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

Создание DEB -пакета из исходного кода

Программа checkinstall создает и устанавливает пакет для Вашей ОС. Тип пакета ( DEB или RPM ) checkinstall определяет сам. Для жесткого указания типа создаваемого пакета используем команду checkinstall с ключами:

sudo checkinstall -R
sudo checkinstall -D
sudo checkinstall -S

Далее отвечаем на несколько вопросов. По умолчанию все ответы на задаваемые вопросы подходят в большинстве случаев, поэтому везде нажимаем Enter.

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

Зарубин Иван Эксперт по Linux и Windows

Опытный системный администратор с большим стажем работы на крупном российском заводе. Иван является энтузиастом OpenSource и любителем Windows, проявляя высокую компетентность в обоих операционных системах. Благодаря его технической грамотности и умению решать сложные задачи, Иван стал неотъемлемой частью команды нашего проекта, обеспечивая непрерывную авторскую работу.

Источник: itshaman.ru

Как собрать пакеты Debian из исходного кода 5 мин для чтения

Favorite

Добавить в избранное

Главное меню » Как собрать пакеты Debian из исходного кода

21 сентября 2020

Как собрать пакеты Debian из исходного кода

D ebian и системы на основе Debian, такие как Ubuntu, используют Advanced Package Tool , сокращенно APT , для установки, обновления, обновления и удаления программного обеспечения из командной строки. Обычно менеджер пакетов APT хранит список репозиториев в файле с именем /etc/apt/sources.list и в любом файле с суффиксом .list в каталоге. /etc/apt/sources.list.d/.

Когда мы устанавливаем пакет, команда apt извлекает двоичную или предварительно скомпилированную версию данного пакета из этих репозиториев. Помимо установки двоичных пакетов, APT также позволяет загружать исходный код пакета. Таким образом, вы можете затем добавить некоторые функции в исходный код, собрать пакет из исходного кода и, наконец, установить измененную версию пакета. В этой статье давайте посмотрим, как создавать пакеты debian из исходного кода в Debian, Ubuntu и других системах на основе apt, таких как Linux Mint.

Почему мы должны собирать пакет из исходников?

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

  • Просмотреть исходный код, чтобы найти ошибку.
  • Добавить новые функции в пакеты, которые больше активно не разрабатываются.
  • Установите самую последнюю версию пакета из исходников. Как правило, пакеты в официальных репозиториях могут быть устаревшими.
  • И что еще более важно — научится собирать пакеты Debian из исходников.
Читайте также:
Что такое содержание программы кружка

Установите необходимые инструменты сборки

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

Эти пакеты предоставляют множество инструментов для создания двоичных пакетов из исходного кода.

Чтобы установить «dpkg-dev», запустите:

$ sudo apt install dpkg-dev

Чтобы установить пакет «devscripts», используйте следующую команду:

$ sudo apt install devscripts

Включить исходные репозитории

Убедитесь, что вы включили исходные репозитории.

Для этого откройте файл /etc/apt/sources.list :

$ sudo vim /etc/apt/sources.list

Вы увидите в нем несколько строк, как показано ниже:

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://in.archive.ubuntu.com/ubuntu focal main restricted # deb-src http://in.archive.ubuntu.com/ubuntu focal main restricted [. ]

В приведенном выше файле все строки, начинающиеся с одного или двух хешей (#), являются просто комментариями, только для информации. А строки без хэшей — подходящие репозитории .

Строки репозитория apt, начинающиеся с «deb», относятся к двоичным пакетам, которые могут быть установлены пользователями с помощью диспетчера пакетов apt. Строки, начинающиеся с «deb-src», относятся к исходным пакетам. Это полезно для разработчиков. По умолчанию «deb-src» закомментирован в списке источников.

Читать Как настроить автоматические обновления ядра в Linux

Чтобы загрузить пакеты с исходным кодом, вам нужно раскомментировать строку «deb-src». Удалите символ #, чтобы раскомментировать строку. После раскомментирования строки репозитория должны выглядеть следующим образом:

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://in.archive.ubuntu.com/ubuntu focal main restricted deb-src http://in.archive.ubuntu.com/ubuntu focal main restricted [. ]

Сохраните и закройте файл. Обновите список репозиториев с помощью команды:

$ sudo apt update

Скачать исходные пакеты

Загрузите исходный код пакета с помощью команды «apt source ». Например, следующая команда загрузит исходный код «andreyex World!» программа:

$ apt source andreyex
Reading package lists. Done Need to get 734 kB of source archives. Get:1 http://in.archive.ubuntu.com/ubuntu focal/main andreyex 1.10-2ubuntu2 (dsc) [1847 B] Get:2 http://in.archive.ubuntu.com/ubuntu focal/main andreyex 1.10-2ubuntu2 (tar) [726 kB] Get:3 http://in.archive.ubuntu.com/ubuntu focal/main andreyex 1.10-2ubuntu2 (diff) [6560 B] Fetched 734 kB in 2s (336 kB/s) dpkg-source: info: extracting andreyex in andreyex-1.10 dpkg-source: info: unpacking andreyex_1.10.orig.tar.gz dpkg-source: info: unpacking andreyex_1.10-2ubuntu2.debian.tar.xz

Как видите, мы загрузили исходный код программы andreyex World.

$ ls andreyex-1.10 andreyex_1.10-2ubuntu2.debian.tar.xz andreyex_1.10-2ubuntu2.dsc andreyex_1.10.orig.tar.gz

Просмотрите фактическое содержимое исходного кода:

$ ls andreyex-1.10/ ABOUT-NLS ChangeLog INSTALL NEWS README-release aclocal.m4 configure debian lib man tests AUTHORS ChangeLog.O Makefile.am README THANKS build-aux configure.ac doc m4 po COPYING GNUmakefile Makefile.in README-dev TODO config.in contrib andreyex.1 maint.mk src

Установите зависимости сборки для пакета

Затем нам нужно установить зависимости для этого пакета. Для этого запустите:

$ sudo apt build-dep andreyex

Теперь мы загрузили исходный код пакета и установили зависимости, необходимые для сборки этого пакета. Затем внесите изменения в исходный код.

Изменить исходный код пакета debian

Cd в каталог, содержащий исходный код пакета. В нашем случае это andreyex-1.10.

$ cd andreyex-1.10

Измените код по своему желанию. Код находится в файле «andreyex.c» в каталоге «src».

$ vi src/andreyex.c

Измените код и/или внесите какие-либо изменения. После редактирования кода сохраните и закройте файл.

Пришло время создать собственно пакет .deb.

Сборка пакетов Debian из исходного кода

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru