Тарболом (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 (Этот этап можно
теоретически сделать и вручную, скопировав файлы в
нужные места). Хочу подчеркнуть, что это наиболее
опасный этап - перед ним желательно позаботиться о том,
как восстановить старый пакет, если в новом есть ошибки.
Если при установке выдается сообщение о неверной
версии компилятора - установите ту версию, которая нужна
программе , или
просто отключите проверку на версию 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 |