Ниже приведен список команд, которые помогают создавать DEB и RPM пакеты из исходников. Еще ниже каждая команда будет более подробно расписана.
Создание DEB-пакетов из исходного кода:
Подробное описание каждого шага
Установка программы checkinstall
Установка пакета checkinstall не должна вызвать особых сложностей. В операционных системах, использующих DEB пакеты, установка производится командой:
В операционной системе, использующей RPM пакеты, установка пакета checkinstall выполняется командой:
Если такой пакет в Вашей ОС не обнаружен, то Вам следует посетить домашнюю страницу проекта и скачать требуемую версию для Вашего дистрибутива:
http://checkinstall.izto.org/download.php
Переход в директорию с исходным кодом программы
Переход в директорию с исходным кодом программы достаточно прост и также не должен вызвать никаких затруднений.
Хотелось бы напомнить об очень удобном инструменте командной строки Linux – клавише TAB. Кнопка TAB позволяет автоматически дописывать название длинных директорий и файлов. Требуется ввести лишь первые символы названия директории / файла и нажать клавишу TAB, которая автоматически допишет полное название.
Почти все исходники распространяются в архивах формата tar.gz. Для разархивирования архива набираем команду:
Прочитать дополнительную информацию по работе с любыми архивами можно здесь.
Конфигурируем исходники под свою ОС
Проще говоря, это процесс «настройки» исходного кода под конкретную ОС. В результате этого процесса создается файл с описанием конфигурации.
Конфигурирование исходников обычно осуществляется простой командой:
Эта команда не вносит никаких изменений в ОС и тем самым не сможет никак повредить ее.
Бывают случаи, когда авторы программ, добавляют дополнительные ключи установки. Просмотреть инструкцию по установке, написанную автором программы, можно командой:
или прочитать в файле readme или install
Этот этап самый трудоемкий, так как необходимо установить все дополнительные пакеты, от которых зависит исходный код компилируемой программы. Если в ходе выполнения этой команды на экране появилось сообщение об ошибке и процесс конфигурирования остановился, то это значит что какой-то зависимый пакет отсутствует в системе.
К примеру, при конфигурировании Pidgin возникла ошибка:
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 с ключами:
Далее отвечаем на несколько вопросов. По умолчанию все ответы на задаваемые вопросы подходят в большинстве случаев, поэтому везде нажимаем Enter.
В результате всех вышеописанных действий создается пакет требуемого формата в этой же директории.
не хочет выполняться пункт ./configure :( пишет ~/Загрузки/FileZilla3$ ./configure
bash: ./configure: No such file or directory
что делать? ( как видно пробовал скомпилировать filezilla…
Попробуйте переместить исходники в другое место. Возможно русские буквы всему виной
А может просто нужно перейти в верный каталог? Вряд ли в корне есть каталог “Загрузки”, скорее всего путь должен быть /home/USERNAME/Загрузки…
Значек ~ (называется тильда) заменяет написание /home/USERNAME/
К примеру: cd ~/Desktop – переход в директорию Desktop текущего пользователя.
Подскажите, пожалуйста, что я упустил или сделал не так?
1. Скачал архив firefox.tar.bz2 и распаковал при помощи File Roller
2. Установил checkinstall
3. Попытался конфигурировать:
user@user-desktop:~$ cd /home/user/firefox
user@user-desktop:~/firefox$ ./configure
bash: ./configure: Нет такого файла или каталога
Прочитайте в самой директории firefox файл readme. Обычно там пишут как откомпилировать, просто возможно там у Вас скрипт автоматической установки без компилирования или еще что.
P.S. А если не секрет, зачем вам компилировать Firefox, он же есть в репозиториях или для эксперимента просто?
Вы или очень умный веб-мастер или я копи-пастер очень тупой. Никак не получается стыбзеть у вас статейку. Хочу полностью скопировать, но не получается…
ps: спасибо за ценную инфу:)
Да вроде дополнительно ничего к этому не предпринимал. :) Я не против, если будет в ответ стоять активная ссылка на авторство
./configure: Нет такого файла или каталога
на подобные вопросы искать нада в файле ридми, в каталоге с исходником ибо в каждом отдельном случае варианты установки хоть и немного, но могут отличатся, либо по другому скрипт называтся который и проверит зависимости и установит и тп.
Главное суть понят, собирать пакет после успешной компиляции исходников …
такая же фигня с ./configure, хотел собрать nestopia на убунту не получается( тоже пишет нет такого файла или каталога,я был бы не такой злой если б начал писать, что там библиотеки нет какой-нибудь или пакет надо еще установить, а тут нет файла или каталога, ппц
root@debian:/home/nick/wine-1.7.3# sudo checkinstall -D
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran Эта программа распространяется на условиях GNU GPL
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]:
Готовится документация к пакету…OK
Пожалуйста напишите описание пакета.
Закончите ваше описание пустой строкой или EOF.
вот тут я застрял…..подскажите пожалуйста
вот что пишет
========================= Результаты установки ===========================
make: *** Нет правила для сборки цели `install’. Останов.
**** Установка неудачна. Отменяется создание пакета.
Очищается…OK
Удачи.
tar.bz2 нужно распаковать командой следующего вида
Команда для распаковки архива tar.bz2 в заранее определенную деректорию
на примере браузера Firefox_ESR
# cd /opt && tar xjvf /home/balkan/Загрузки/firefox.tar.bz2 , где /opt – куда /home/balkan/Загрузки/ – откуда
Ничего компилировать не надо!!! Это как портативный софт в windows
Создание .desktop (ярлык, иконка)
1. # touch /usr/share/applications/Firefox ESR.desktop
2. # nano /usr/share/applications/Firefox ESR.desktop
3.
Firefox
[Desktop Entry]
Name=Firefox_ESR
GenerickName=Web Browser
Exec=/opt/firefox/firefox %U
Icon=/opt/firefox/browser/chrome/icons/default/default32.png
Terminal=false
Type=Application
Startup=true
Categories=Network; Web Browser;