Читаем Linux полностью

Аргумент -b применяется в том случае, если для сборки пакета используется spec-файл. Если же команда rpm должна извлечь этот файл из архива gzip, используется аргумент -t. После первого аргумента ставится следующий: о, указывающий, какие этапы сборки и упаковки должны быть выполнены. Это один из:

• -bp – исполнить стадию %ргер spec-файла. Обычно это включает в себя распаковку исходного кода и прикладывание к нему патчей (от англ .patch — патч, заплатка, исправление);

• -bl – произвести проверку списка. В секции %files spec-файла производится расширение макросов и проверка перечисленных файлов на существование;

• -bc – исполнить стадию %buiid spec-файла (предварительно исполнив стадию %ргер). Обычно это сводится к исполнению некого эквивалента make;

• -bi – исполнить стадию % install spec-файла (предварительно исполнив стадии %ргер и %buiid). Обычно это сводится к исполнению некого эквивалента make install;

• -bb – собрать бинарный пакет (предварительно исполнив стадии %ргер, %build и % install);

• -bs – собрать только исходный пакет (предварительно исполнив стадии %prep, %build и %install);

• -ba – собрать бинарный (RPM) и исходный (SRPM) пакеты (предварительно исполнив стадии %prep, %build и % install).

Также могут быть использованы следующие опции:

• -short-circuit – исполнить непосредственно указанную стадию, пропустив предшествующие. Может быть использована только с -Ьс и -bi;

• -timecheck – установить возраст для timecheck (0 – чтобы запретить). Это значение также может быть установлено путем определения макроса _timecheck. Значение timecheck определяет максимальный возраст (в секундах) пакуемых в пакет файлов. Для всех файлов, которые старце этого возраста, будет выводиться предупреждение;

• -clean – удалить дерево, использованное для сборки, после того, как построены пакеты;

• -rmsource – удалить исходный код и spec-файл после сборки (может быть использовано отдельно, например, rpm -rmsource foo.spec);

• -test – не исполнять никаких стадий сборки. Полезно для тестирования spec-файлов;

• -sign – встроить в пакет PGP-подпись. Эта подпись может быть использована для проверки целостности и источника происхождения пакета. Подробную информацию см. в разд. «Подписи PGP»;

• -buiiroot <каталог> – использовать каталог <каталог> как корневой для сборки пакетов;

• -target <платформа> – при сборке пакета интерпретировать <платформа> как arch-vendor-os и соответственно установить макросы _target, _target_arch и _target_os.

Опции пересборки и перекомпиляции

Существуют два способа запуска RPM:

• rpm -recompile <файл_исходного_пакета>

• rpm -rebuild <файл_исходного_пакета>

Будучи вызванным любым из способов, RPM устанавливает указанный исходный пакет и исполняет стадии %prep, %buiid и %install. Кроме того, – rebuild собирает новый бинарный пакет. После того как сборка закончена, удаляется дерево, использованное для сборки (как с опцией – clean), исходный код и spec-файл.

Подпись существующего RPM

Подпись RPM выполняется следующими командами:

• rpm -resign <файл_бинарного_пакета>

Опция resign генерирует и вставляет новые подписи в указанные пакеты. Все существующие подписи из пакетов удаляются.

• rpm -addsign <файл_бинарного_пакета>

Опция addsign генерирует и добавляет новые подписи в указанные пакеты. Все существующие подписи пакетов при этом сохраняются.

Подписи PGP

Чтобы использовать возможность подписи, RPM должен быть настроен для запуска PGP. Для этого следует создать свою собственную пару из публичного и секретного ключей. Необходимо также настроить следующие макросы:

• _signature – тип подписи. В настоящее время поддерживается только pgp;

• _pgp_name – имя «пользователя», чьи ключи вы хотите использовать для подписи ваших пакетов.

При сборке пакетов к командной строке добавляется опция -sign. У вас спросят пароль, и ваш пакет будет собран и подписан.

Опции пересборки базы данных

Общая форма команды перестроения базы данных RPM выглядит так:

rpm -rebuilddb

Для построения новой базы данных:

rpm -initdb

Этот режим поддерживает только две опции: -dbpath и -root.

Опции FTP/HTTP

RPM содержит простые клиенты FTP и HTTP для упрощения установки и изучения пакетов, доступных через Интернет. Файлы пакетов для установки, обновления и запроса могут быть указаны как FTP– или HTTP-адрес:

ftp://:@hostname:/path/to/packagee.rpm

Если часть опущена, пароль будет запрошен (по одному разу для каждой пары user/hostname). Если ни , ни не указаны, будет использован anonymous ftp. Во всех случаях осуществляется пассивная (PASV) пересылка по FTP.

RPM позволяет применять с адресом FTP следующие опции:

• -ftpproxy  – система будет организована как proxy-сервер для всех пересылок, что позволяет производить FTP-соединения через firewall, использующий прокси для выхода во внешний мир. Эта опция может быть задана также настройкой макроса _ftpproxy;

• -ftpport  – задает номер TCP-порта, открываемого для FTP-соединений вместо порта по умолчанию. Эта опция может быть также задана настройкой макроса _ftpport.

RPM позволяет применять с адресом HTTP следующие опции:

• -httpproxy  – система будет организована как proxy-сервер для всех пересылок, что позволяет производить HTTP-соединения через firewall, использующий прокси для выхода во внешний мир. Эта опция может быть задана также настройкой макроса _httpproxy;

• – httpport  – задает номер TCP-порта, открываемого для HTTP-соединений вместо порта по умолчанию. Эта опция может быть также задана настройкой макроса _httpport.

Используемые файлы

Следующие файлы необходимы при работе с пакетом RPM:

• /usr/lib/rpm/rpmrc;

• /etc/rpmrc;

• ~/.rpmrc;

• /var/state/rpm/packages;

• /var/state/rpm/pathidx;

• /var/state/ipm/nameidx;

• /tmp/rpm*.

Примеры использования консольного менеджера пакетов RPM

В предыдущем разделе мы познакомились с опциями менеджера RPM. С легкостью установки программ в Windows не сравнить. Впрочем, пользователи вряд ли применяют даже десятую часть имеющихся опций, поэтому и не следует запоминать их все. Рассмотрим, что практически используется в работе с пакетами.

Установка пакетов осуществляется с помощью команды:

Перейти на страницу:

Все книги серии Наиболее полное руководство

Linux
Linux

Книга посвящена операционной системе Linux. Приводятся подробные сведения о ее особенностях и возможностях, идеологии файловой системы, инсталляции и основных командах, вопросах компиляции ядра, настройках и сервисах. Большое внимание уделяется организации на базе Linux различных серверов и служб: электронной почты, WWW, FTP, INN, Proxy, NTP, а также проблемам администрирования сети, обеспечения безопасной работы и другим вопросам. Описаны способы настройки под Linux рабочих станций, в т. ч. и бездисковых, установки и эксплуатации на них графических сред типа X Window, а также конфигурирование модемных соединений, принтеров и сканеров, отладка взаимодействия с Linux-машинами такой «экзотической» периферии, как карманные компьютеры, мобильные телефоны, TV-тюнеры и т. п. Рассматриваемые в книге конфигурационные файлы и структура каталогов соответствуют дистрибутиву Red Hat Linux 7.x, тем не менее, при минимальной адаптации все упоминаемые в книге пакеты устанавливаются в любом дистрибутиве Linux.Для начинающих администраторов или пользователей Linux.

Алексей Александрович Стахнов

ОС и Сети, интернет

Похожие книги