Из готового тарбола (если он учитывает все нужные патчи) можно получить
исполняемые программы с помощью следующих команд:
1 разархивировать тарбол:
Создаем папку, куда будем разархивировать тарбол,
mkdir <Имя_папки>
Копируем туда тарбол
cp <исходный_файл> > <назначенная папка>
Непосредственно разархивируем в папку:
tat xfzv <Имя_тарбола>
- разархивация архивов типа tar.gz и tgz
tat xfjv <Имя_тарбола>
- разархивация архивов типа tar.bz и tbz
файлы разархивируются в текущую папку (для работы с архивами очень
удобно использовать Midnight Commander - MC - свободный клон NC)
Переходим в папку с разархивированным тарболом
cd _Имя_папки_
2 конфигурим пакет
./configure
(в тяжелых случаях нужно будет в параметрах указать пути для всех необходимых
библиотек и header-файлов - но к счастью, обычно на близких системах
они лежат одинакого и сам скрипт configure их находит, также параметы
могут потребоваться, если пакет будет распологаться не в том месте,
где предполагал разработчик программы, а в каком-либо другом )
3 Создаем пакет:
make
4 Устанавливаем пакет
make install
(последний этап можно теоретически сделать и в ручную скопировав файлы
в нужные места) Хочу подчеркнуть, что это наиболее опасный этап - перед
ним желательно позаботится о том, как восстановить старый пакет, если
в новом есть ошибки.
Программисты создают проект программы (например с помощью Kdevelop),
в котором есть все makefile и файлы конфигурации (configure), а потом
упаковывают их в тарболы. В случае доработки пакета создаются Patch-и
к исходным текстам, которые заменяют одни строки текста программ на
другие. Тарболы и прикладываемые к ним patch-и упаковываются в пакеты-сорцы
(.SRC.RPM)(бывают и другие системы пакетов - но я говорю о дистрибутивах
на основе RPM - Red Hat, Mandrake, SuSe). RPM-пакет - это особо организованный
архив, в который помимо данных (тарбола и патчей - для сырца, необходимых
программ - для бинарного RPM) упакованы скрипты установки и обновления.
C помощью сорца можно создать бинарный RPM - т.е. такой RPM, в котором
упакованы исполняемые пакеты. Причем, если RPM создан на текущей машине,
он теоретически будет наилучшим образом подходить к текущей конфигурации
пакетов (именно поэтому многие администраторы наиболее важные пакеты
собирают из сырцов заново на своей машине). В результате установки сорца-
в директорию /usr/src/RPM/source помещаются все необходимые тарболы
(обычно один) и патчи (может быть много, а может быть и не одного -
все зависит от разработчика и составителя конкретного RPM). - В директорию
/usr/src/RPM/spec помещается установочный скрипт (файл с расширением
spec) в котором разработчик RPM помещает все действия по установке пакета
- разархивирование тарбола, накладывания патчей, транслирование и т.д.
Разработано уже много макросов для spec-файлов. . При построении пакета
все операции с исходным текстом программ обычно (но не всегда) помещаются
в /usr/src/RPM/builder, а новые полученные пакеты (новый сырец и новый
бинарник) помещаются соответственно в /usr/src/RPM/RPMS и /usr/src/RPM/SRPMS.
Получить из установленного сорца соответствующий пакет можно с помощью
команды
rpm -ba packet.....spec
В дистрибутивах Red Hat, Mandrake, Suse, AltLinux, ASP Linux и некоторых
других, программы (состоящие, как правило, из нескольких файлов) распространяются
объединенными в пакеты формата RPM (RedHat Packet Manager). С помощью
программы rpm можно легко устанавливать, модифицировать, удалять и создавать
пакеты программного обеспечения, а также получать о них разнообразную
информацию. Все эти дистрибутивы (кроме программы начальной установки)
состоят из таких пакетов. Каждый пакет определяется именем программы,
номером ее версии и номером версии релиза этой программы дистрибутива,
а также архитектурой пакета. Например, bash-2.0.5-alt2.i586.rpm: в этом
пакете
- имя - bash,
- номер версии - 2.0.5,
- номер релиза - alt2,
- архитектура - i586.
Чем больше номер версии (или при одинаковых номерах версии - чем больше
номер релиза), тем, соответственно, новее пакет. Управлять пакетами
можно из командной строки при помощи программы rpm, которая имеет следующий
синтаксис:
rpm -options rpm_package_name
Далее приводятся возможные параметры.
Установка пакета.
Вы можете установить программу, используя опцию -i (опции -v и -h выставлены
здесь для того, чтобы включить визуальное отображение процесса установки).
Например, для того, чтобы установить klyx, наберите:
rpm -ivh klyx-0.10.9-ipl6mdk.i586.rpm
(настоящее имя зависит от версии программы на доступном носитеое).
Заметим, что ipl6mdk означает, что пакет был модифицирован ALT Linux
Team (ранее - IPLabs Linux Team) для русской редакции, это его шестая
сборка, он входит в дистрибутив Mandrake. i586 указывает на то, что
он скомпилирован для процессоров не ниже Pentium(tm). Наличие в имени
пакета аббревиатуры alt2 означает, что пакет был собран ALT Linux Team
и это его вторая сборка.
Обновление пакета.
Для того чтобы обновить программу (с целью установки более свежей версии),
нужно использовать опцию -U, вместо -i, это позволит сохранить все текущие
конфигурационные файлы. Если пакета ранее не было в системе, то он будет
установлен.
Удаление пакета.
Если вы желаете удалить пакет из системы, внимательно введите:
# rpm -e имя_пакета_без_номера_версии_и_релиза
то есть, например, для пакета klyx:
# rpm -e klyx
Если в процессе удаления пакета произойдет нарушение зависимостей,
программа rpm сообщит об этом.
Информация о пакете.
Вы можете запросить у rpm ряд полезной информации о пакете, не устанавливая
его - например, бывает удобно просмотреть список всех файлов пакета
или краткое описание его возможностей. Для этого используйте опцию -q
(query, запрос). -qi используется для получения некоторой информации
о ранее установленном пакете; -qip используется для еще не установленных
пакетов. В этом случае вы должны указать полный путь и имя пакета (например,
/mnt/cdrom/Mandrake/RPMS/klyx-0.10.9-ipl6mdk.i586.rpm); -ql используется
для того, чтобы просмотреть список файлов пакета. Добавьте p, если пакет
еще не был установлен; -qa выдает список всех установленных пакетов
(не нужно указывать имя пакета).
Будьте осторожны с опцией --force - ее можно употреблять только в
тех случаях, когда вы хорошо знаете, что делаете.
Если надо установить два или более пакетов, зависящих друг от друга,
то установите их одновременно:
# rpm -ihv foo-1.1-3mdk.rpm libfoo-1.5-2mdk.rpm
Часто бывает удобнее, однако, применять программы специально созданные
для данного дистрибутива, например, rpmdrake, разработанную MandrakeSoft,
kpackage из KDE, gnorpm из GNOME или систему apt (AltLinux). В дистрибутивах,
родственных Mandrake удобнее управлять пакетами через графическую оболочку
rpmdrake, которую можно запустить через панель управления DrakConf (находящуюся
на рабочем столе). Можно выбрать два режима работы - установка или удаление
- при помощи кнопок в правом верхнем углу. Выделив пакет, можно получить
информацию о нем, входящих в его комплект файлах, а также некоторую
другую. Нажав кнопку "Удалить выбранное" или "Установить выбранное",
можно удалить или установить выбранные пакеты. Часто бывает так, что
требуемый пакет для нормального функционирования требует другие; в этом
случае программа предложит вам установить или удалить еще несколько
пакетов. При удалении пакетов необходимо соблюдать осторожность, чтобы
не удалить важные части системы, например пакеты kernel или glibc. Для
использования функции обновления пакетов необходимо указать программе
через меню Файл|Настройки дополнительный источник пакетов, в качестве
которого может выступать как ресурс Internet, так и локальный каталог
или диск CD-ROM. Установку пакетов весьма удобно выполнять и через консольную
программу urpmi - с тем отличием, что все действия будут выполняться
менее наглядно. Для установки пакетов, поставляемых ALT Linux Team,
можно даже запускать программу urpmi не от имени суперпользователя,
а от обычного пользователя; единственное, что необходимо сделать для
этого ? добавить его в группу urpmi. Для получения дополнительной информации
наберите man rpm.