
Очень часто нужные программы, которые удается найти на просторах Интернета, не имеют готовых DEB или RPM пакетов. В репозиториях дистрибутивов так же не всегда находится актуальная версия программы. Поэтому установка программы из исходного кода бывает единственным выходом.
Так как здесь рассматриваются пакетные дистрибутивы Linux, то собирать из исходников мы будем в DEB и RPM пакеты. Такие пакеты в последующем легко устанавливаются и удаляются в ОС.
Ниже приведен список команд, которые помогают создавать DEB и RPM пакеты из исходников. Еще ниже каждая команда будет более подробно расписана.
Установка пакета checkinstall не должна вызвать особых сложностей. В операционных системах, использующих DEB пакеты, установка производится командой:
В операционной системе, использующей RPM пакеты, установка пакета checkinstall выполняется командой:
Если такой пакет в Вашей ОС не обнаружен, то Вам следует посетить домашнюю страницу проекта и скачать требуемую версию для Вашего дистрибутива:
Переход в директорию с исходным кодом программы достаточно прост и также не должен вызвать никаких затруднений.
Хотелось бы напомнить об очень удобном инструменте командной строки Linux - клавише TAB. Кнопка TAB позволяет автоматически дописывать название длинных директорий и файлов. Требуется ввести лишь первые символы названия директории / файла и нажать клавишу TAB, которая автоматически допишет полное название.
Почти все исходники распространяются в архивах формата tar.gz. Для разархивирования архива набираем команду:
Прочитать дополнительную информацию по работе с любыми архивами можно здесь.
Проще говоря, это процесс «настройки» исходного кода под конкретную ОС. В результате этого процесса создается файл с описанием конфигурации. Конфигурирование исходников обычно осуществляется простой командой:
Эта команда не вносит никаких изменений в ОС и тем самым не сможет никак повредить ее.
Бывают случаи, когда авторы программ, добавляют дополнительные ключи установки. Просмотреть инструкцию по установке, написанную автором программы, можно командой:
Этот этап самый трудоемкий, так как необходимо установить все дополнительные пакеты, от которых зависит исходный код компилируемой программы. Если в ходе выполнения этой команды на экране появилось сообщение об ошибке и процесс конфигурирования остановился, то это значит что какой-то зависимый пакет отсутствует в системе.
К примеру, при конфигурировании Pidgin возникла ошибка:
В приведенном листинге видно, что GTK, PANGA, X11 соответствуют требованиям компилируемого исходного кода (yes), а проверка GTKSPELL вывела значение no. Скорее всего в этом примере требуется установить libgtkspell-dev.
Из этого примера видно, что это дело не такое уж и сложное. Если в процессе конфигурирования не возникло ошибок, то процесс считается завершенным успешно.
Компилирование исходного кода - процесс «автоматический» при условии успешного выполнения предыдущего пункта.
Если все же возникают ошибки, то скорее всего это проблема в исходном коде. Нужно поместить часть строк вывода, в которых содержится ошибка, в любой поисковик и посмотреть результат поиска. Возможно с этой ошибкой уже сталкивалось интернет-сообщество.
Программа checkinstall создает и устанавливает пакет для Вашей ОС. Тип пакета (DEB или RPM) checkinstall определяет сам. Для жесткого указания типа создаваемого пакета используем команду checkinstall с ключами:
Далее отвечаем на несколько вопросов. По умолчанию все ответы на задаваемые вопросы подходят в большинстве случаев, поэтому везде нажимаем Enter.
В результате всех вышеописанных действий создается пакет требуемого формата в этой же директории.
22 Январь, 19:12
не хочет выполняться пункт ./configure :( пишет ~/Загрузки/FileZilla3$ ./configure
bash: ./configure: No such file or directory
что делать? ( как видно пробовал скомпилировать filezilla…
22 Январь, 20:10 (Комментарий автора)
Попробуйте переместить исходники в другое место. Возможно русские буквы всему виной
19 Февраль, 12:31
А может просто нужно перейти в верный каталог? Вряд ли в корне есть каталог “Загрузки”, скорее всего путь должен быть /home/USERNAME/Загрузки…
20 Февраль, 08:40 (Комментарий автора)
Значек ~ (называется тильда) заменяет написание /home/USERNAME/
К примеру: cd ~/Desktop – переход в директорию Desktop текущего пользователя.
18 Апрель, 09:08
Подскажите, пожалуйста, что я упустил или сделал не так?
1. Скачал архив firefox.tar.bz2 и распаковал при помощи File Roller
2. Установил checkinstall
3. Попытался конфигурировать:
user@user-desktop:~$ cd /home/user/firefox
user@user-desktop:~/firefox$ ./configure
bash: ./configure: Нет такого файла или каталога
18 Апрель, 09:40 (Комментарий автора)
Прочитайте в самой директории firefox файл readme. Обычно там пишут как откомпилировать, просто возможно там у Вас скрипт автоматической установки без компилирования или еще что.
P.S. А если не секрет, зачем вам компилировать Firefox, он же есть в репозиториях или для эксперимента просто?