LinuxBegin.ru - offline-версия от 26.04.2004
Главная | Все темы | Все статьи | Ссылки | Аналоги Windows-программ в Linux | Top 20

Установка и компиляция пакетов из исходных текстов.
(Установка/обновление/удаление программ)


- Linux-Faq или советы начинающему. -

Тарболом (tarball) называется архив с упакованными исходными текстами программ. Обычно они имеют расширение tar.gz или tar.bz2. Программисты создают проект пакета (например, с помощью Kdevelop), в котором есть все makefile и файлы конфигурации (configure), а потом упаковывают их в тарболы. В случае доработки пакета создаются Patch-и к исходным текстам, которые заменяют одни строки текста программ на другие.

Из готового тарбола можно установить программу с помощью команд:

1) Создаем папку, куда будем разархивировать тарбол - mkdir <Имя_папки>.
2) Копируем туда тарбол. cp <исходный_файл> <назначенная папка>. Непосредственно разархивируем в папку:

tar xfzv <Имя_тарбола> - разархивация архивов типа tar.gz и tgz
tar xfjv <Имя_тарбола> - разархивация архивов типа tar.bz и tbz

Файлы разархивируются в текущую папку (для работы с архивами очень удобно использовать MC). Переходим в папку с разархивированным тарболом - cd <Имя_папки>.

3) Конфигурируем пакет:
./configure
(в тяжелых случаях нужно будет в параметрах указать пути для всех необходимых библиотек и header-файлов - но к счастью, обычно на близких системах они лежат одинаково и сам скрипт configure их находит. Также параметры могут потребоваться, если пакет будет распологаться не в том месте, где предполагал разработчик программы, а в каком-либо другом )
4) Компилируем пакет:
make
5) Переходим в режим суперпользователя (команда su) и устанавливаем пакет в систему:
make install
(Этот этап можно теоретически сделать и вручную, скопировав файлы в нужные места). Хочу подчеркнуть, что это наиболее опасный этап - перед ним желательно позаботиться о том, как восстановить старый пакет, если в новом есть ошибки.

Если при установке выдается сообщение о неверной версии компилятора - установите ту версию, которая нужна программе (новые версии скачать можно с http://gcc.gnu.org/), или просто отключите проверку на версию gcc: "./configure --disable-gcc-checking".

Если вообще ничего не получается - почитайте файлы INSTALL и README, идущие с пакетом.

Если у вас вообще не установлены средства компиляции и разработки (при наборе всех вышеприведенных команд появляется ошибка "command not found") - установите следующие пакеты: automake, make, gcc, egcs, glibc, glibc-devel, kernel-headers, libstdc++, XFree86-devel и binutils. Вообще - набор программ, нужных для компиляции, зависит от дистрибутива, но эти пакеты - самые основные.

Установка src.rpm.

Тарболы и прикладываемые к ним patch-и часто упаковываются в пакеты с исходниками (.SRC.RPM), из которых можно создать бинарный RPM - т.е. такой RPM, в котором упакованы исполняемые пакеты. Причем, если RPM будет создан на текущей машине, он теоретически будет наилучшим образом подходить к текущей конфигурации пакетов (именно поэтому многие администраторы наиболее важные пакеты собирают из исходников заново на своей машине).

В результате установки пакета с исходниками:
- В директорию /usr/src/RPM/source помещаются все необходимые тарболы (обычно один) и патчи (может быть много, а может быть и ни одного - все зависит от разработчика и составителя конкретного RPM).
- В директорию /usr/src/RPM/spec помещается установочный скрипт (файл с расширением spec) в котором разработчик RPM помещает все действия по установке пакета - разархивирование тарбола, накладывания патчей, транслирование и т.д. Разработано уже много макросов для spec-файлов. С наиболее старыми из них и общей теорией их построения а также опциями команды rpm можно познакомится в RPM-HOWTO. При построении пакета все операции с исходным текстом программ обычно (но не всегда) помещаются в /usr/src/RPM/builder, а новые полученные пакеты (новый исходник и новый бинарник) помещаются соответственно в /usr/src/RPM/RPMS и /usr/src/RPM/SRPMS.

Получить из установленного исходника соответствующий пакет можно с помощью команд rpm --rebuild *.src.rpm (самая простая) и rpm -ba paket..spec (см. RPM-HOWTO).

Просмотров: 3166  |  Рейтинг статьи: 4 (Голосов: 4).
4
Дата размещения статьи: 2002-12-12 05:45:17



5 последних поступлений в раздел Установка/обновление/удаление программ:

28.10.03: RedHat Linux, RedHat Network, apt, yum, etc... (Ни для кого не секрет, что для обновления машин, бегающих под управлением RedHat Linux, давно придума...)
16.01.03: Обеспечение и поддержание целостности системы с помощью APT. (Усовершенствованная система управления программными пакетами APT (Advanced Packaging Tool) первоначал...)
12.12.02: Установка новых программ в Linux. Работа с RPM. (Необходимость в установке новых программных пакетов под LINUX возникает в двух основных случаях: когд...)
12.12.02: Установка и компиляция пакетов из исходных текстов. (Тарболом (tarball) называется архив с упакованными исходными текстами программ. Обычно они имеют расш...)
11.12.02: Установка программы из исходных файлов -или- "Что мне делать с этим file.tar.gz? (Как-то раз я решил скачать "cuyo" -- новую игру, о которой упоминалось в рассылке Answer Gang admin. ...)

Комментарии:

LinuxBegin.ru © 2003-2004 Valery V. Kachurov | Условия использования материалов | О проекте