|
- 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).
|