.\" rpm - Red Hat Package Manager .TH rpm 8 "04 July 1998" "KSI Software" "KSI Linux" .SH НАЗВАНИЕ rpm \- Менеджер пакетов от Red Hat .SH УПОТРЕБЛЕНИЕ \fBrpm\fP [опции] .SH ОПИСАНИЕ \fBrpm\fP - это мощный \fIменеджер пакетов\fP, который может быть использован для сборки, установки, инспекции, проверки, обновления и удаления отдельных программных пакетов. \fIПакет\fP состоит из набора файлов и информации о пакете, включающей название, версию и описание пакета. Имеется десять основных режимов работы, каждый из которых понимает свой собственный набор опций. Это \fIУстановка(Install)\fP, \fIЗапрос(Query)\fP, \fIВерификация(Verify)\fP, \fIПроверка подписи(Signature check\fP), \fIУдаление(Uninstall)\fP, \fIСборка(Build)\fP, \fIПерестройка базы данных(Rebuild Database)\fP, \fIИсправление прав доступа(fix permissions)\fP, \fIУстановка хозяев и групп(set owners and groups)\fR, и \fIПоказ RC(Show RC)\fP. Режим установки(инсталляции): .br .I "\fB rpm \-i [опции\-установки] <файл_с_пакетом>+\fP" .br Режим запроса(инспекции): .br .I "\fB rpm \-q [опции\-запроса]\fP" .br Режим верификации: .br .I "\fB rpm \-V|\-y|\-\-verify [опции\-верификации]\fP" .br Режим проверки подписи: .br .I "\fB rpm \-\-checksig <файл_с_пакетом>+\fP" .br Режим удаления(деинсталляции): .br .I "\fB rpm \-e <название_пакета>+\fP" .br Режим сборки(построения): .br .I "\fB rpm \-[b|t]\fIO\fB [опции\-сборки] +\fP" .br Перестройка базы данных: .br .I "\fB rpm \-\-rebuilddb" .br Исправление прав доступа: .br .I "\fB rpm \-\-setperms [спецификаторы\-запроса\-пакета]\fP" .br Установка хозяев и групп: .br .I "\fB rpm \-\-setugids [спецификаторы\-запроса\-пакета]\fP" .br Показ RC: .br .I "\fB rpm \-\-showrc" .br .SH ОБЩИЕ ОПЦИИ Эти опции могут быть использованы во всех режимах работы. .IP "\fB\-vv\fP" Выводить много отладочной информации. .IP "\fB\-\-keep\-temps\fP" Не удалять временные файлы (/tmp/rpm\-*). В основном полезно для отладки rpm. .IP "\fB\-\-quiet\fP" Выводить как можно меньше сообщений \- как правило, выводятся только сообщения об ошибках. .IP "\fB\-\-help\fP" Вывести более детальную, чем обычно, справку об использовании rpm. .IP "\fB\-\-version\fP" Вывести одну строку, содержащую номер версии используемого rpm. .IP "\fB\-\-rcfile \fP" Использовать \fB\fP вместо \fB/usr/lib/rpmrc\fP и \fB$HOME/.rpmrc\fP. .IP "\fB\-\-root \fI\fP" Использовать для всех операций файловую систему с корнем в \fI\fP. Обратите внимание, что это значит, что база данных также будет читаться и модифицироваться под \fI\fP и все \fIpre\fP и \fIpost\fP скрипты будут исполняться после chroot() в \fI\fP. .IP "\fB\-\-dbpath \fP" Использовать базу данных RPM в \fI\fP. .IP "\fB\-\-ftpproxy \fP" Использовать \fI\fP как FTP proxy. См. \fBОПЦИИ FTP\fP. .IP "\fB\-\-ftpport \fP" Использовать \fI\fP как FTP port. См. \fBОПЦИИ FTP\fP. .SH ОПЦИИ УСТАНОВКИ И ОБНОВЛЕНИЯ Общая форма команды установки rpm выглядит так: .PP \fBrpm \-i [опции\-установки] <файл_с_пакетом>+\fP .PP Такая команда устанавливает новые пакеты. Общая форма команды обновления rpm выглядит так: .PP \fBrpm \-U [опции\-установки] <файл_с_пакетом>+\fP .PP Такая команда производит обновление установленных пакетов. Работа этой команды полностью аналогична работе команды установки за исключением того, что все остальные версии пакетов удаляются из системы. Допускается задание \fI<файл_с_пакетом>\fP в виде ftp style URL. В этом случае перед установкой файл будет получен с FTP-сервера, указанного в URL. См. \fBОПЦИИ FTP\fP на предмет информации о встроенной поддержке FTP. .PP .IP "\fB\-\-force\fP" То же, что и использование комбинации \fI\-\-replacepkgs\fP, \fI\-\-replacefiles\fP и \fI\-\-oldpackage\fP. .IP "\fB\-h, \-\-hash\fP" Выводить 50 знаков "#" по мере распаковки архива с пакетом. Используется с \fB\-v\fP для красивости. .IP "\fB\-\-oldpackage\fP" Позволяет заменить новый пакет на более старый при обновлении (откатиться назад). .IP "\fB\-\-percent\fP" Выводить процент готовности по мере распаковки архива с пакетом. Задумано для облегчения использования RPM из других утилит. .IP "\fB\-\-replacefiles\fP" Устанавливать пакеты даже если они перепишут файлы из других, уже установленных пакетов. .IP "\fB\-\-replacepkgs\fP" Устанавливать пакеты даже если некоторые из них уже установлены в системе. .IP "\fB\-\-allfiles\fP" Устанавливать или обновлять все файлы, определенные как "missingok", даже если они уже существуют. .IP "\fB\-\-nodeps\fP" Не проверять зависимости перед установкой или обновлением пакета. .IP "\fB\-\-noscripts\fP" Не исполнять пре\- и постустановочных скриптов. .IP "\fB\-\-notriggers\fP" Не исполнять триггер-скриптов, взведенных на установку данного пакета. .IP "\fB\-\-excludedocs\fP" Не устанавливать никаких файлов, отмеченных как файлы документации (включает мануалы и документы texinfo). .IP "\fB\-\-includedocs\fP" Устанавливать файлы документации. Это необходимо только в том случае, если в rpmrc указано \fIexcludedocs: 1\fP. .IP "\fB\-\-test\fP" Не устанавливать пакет, просто проверить возможность установки и сообщить о возможных проблемах. .IP "\fB\-\-prefix \fP" Установить префикс установки в \fI\fP для переместимых пакетов. .IP "\fB\-\-ignorearch\fP" Произвести установку или обновление даже если архитектуры бинарного RPM и машины не совпадают. .IP "\fB\-\-ignoreos\fP" Произвести установку или обновление даже если операционные системы бинарного RPM и машины не совпадают. .SH ОПЦИИ ЗАПРОСА Общая форма команды запроса(инспекции) rpm выглядит так: .PP \fBrpm \-q [опции\-запроса]\fP .PP Можно задать формат, в котором будут выводиться информация о пакете. Для этого используется опция \fB\-\-queryformat\fP с последующей строкой формата. Форматы запроса представляют собой модифицированную версию стандартного форматирования \fBprintf(3)\fP. Формат состоит из статических строк (которые могут включать стандартные escape-последовательности C для переводов строки, табуляций и других специальных символов) и форматов по типу используемых в \fBprintf(3)\fP. Так как \fBrpm\fP уже знает типы данных, подлежащих выводу, спецификаторы типов должны быть опущены и заменены именами тэгов(ключей) хедеров, подлежащих выводу, заключенными в \fB{}\fP. Часть имени тэга \fBRPMTAG_\fP может быть опущена. Альтернативные форматы вывода могут быть заданы путем добавления к имени тэга \fB:\fItypetag\fR. В настоящее время поддерживаются следующие типы: \fBoctal\fR, \fBdate\fR, \fBshescape\fR, \fBperms\fR, \fBfflags\fR и \fBdepflags\fR. Например, для вывода только названий запрашиваемых пакетов, можно использовать в качестве строки формата \fB%{NAME}\fP. Для вывода названий пакетов и информации о дистрибутиве в две колонки можно использовать \fB%\-30{NAME}%{DISTRIBUTION}\fP. Будучи запущенным с аргументом \fB\-\-querytags\fP, \fBrpm\fP выведет список всех тэгов, о которых он знает. Есть два набора опций для запроса \- выбор пакетов и выбор информации. Опции выбора пакетов: .br .IP "\fB\fI<название_пакета>\fP" Запрос пакета, называющегося \fB\fI<название_пакета>\fP. .IP "\fB\-a\fP" Запрос всех установленных пакетов. .IP "\fB\-\-whatrequires \fI\fP" Запрос всех пакетов, требующих \fI\fP для правильного функционирования. .IP "\fB\-\-whatprovides \fI\fP" Запрос всех пакетов, предоставляющих \fI\fP сервис. .IP "\fB\-f \fI\fP" Запрос пакета, которому принадлежит файл \fI\fP. .IP "\fB\-\-requiredby \fI<имя_пакета>\fP" Запрос всех пакетов, содержащих триггер-скрипты, активизируемые пакетом \fI<имя_пакета>\fP. .IP "\fB\-p \fI<файл_с_пакетом>\fP" Запрос (неинсталлированого) пакета \fI<файл_с_пакетом>\fP. Файл <файл_с_пакетом> может быть задан как ftp style URL; в этом случае хедер пакета будет получен с указанного FTP-сервера. См. \fBОПЦИИ FTP\fP на предмет встроенной поддержки FTP. .P Опции выбора информации: .br .IP "\fB\-i\fP" Выводит информацию о пакете, включая название, версию и описание. Использует \fB\-\-queryformat\fP если таковой задан. .IP "\fB\-R\fP" Выводит список пакетов, от которых зависит данный пакет (то же, что и \fB\-\-requires\fP). .IP "\fB\-\-provides\fP" Выводит список сервисов и библиотек, предоставляемых данным пакетом. .IP "\fB\-\-changelog\fP" Выводит протокол изменений данного пакета. .IP "\fB\-l\fP" Выводит список файлов, входящих в данный пакет. .IP "\fB\-s\fP" Выводит \fIсостояние\fP файлов в пакете (подразумевает \fB\-l\fP). Каждый файл может находиться в одном из следующих состояний: \fIнормальный\fP, \fIне установлен\fP или \fIзаменен\fP. .IP "\fB\-d\fP" Вывести список только файлов документации (подразумевает \fB\-l\fP). .IP "\fB\-c\fP" Вывести список только конфигурационных файлов (подразумевает \fB\-l\fP). .IP "\fB\-\-scripts\fP" Вывести специфические для данного пакета скрипты, используемые как часть процессов инсталляции/деинсталляции, если таковые есть. .IP "\fB\-\-triggers\fP" Показать все триггер-скрипты, если таковые имеются, содержащиеся в пакете. .IP "\fB\-\-dump\fP" Вывести информацию о файлах следующим образом: path size mtime md5sum mode owner group isconfig isdoc rdev symlink. Эта опция должна использоваться в сочетании с по меньшей мере одной из \fB\-l\fP, \fB\-c\fP, \fB\-d\fP. .SH ОПЦИИ ВЕРИФИКАЦИИ Общая форма команды верификации rpm выглядит так: .PP \fBrpm \-V|\-y|\-\-verify [опции\-верификации]\fP .PP В процессе верификации пакета информация об инсталлированых файлах пакета сравнивается с информацией из оригинального пакета и из базы данных RPM. В числе прочих, верификация проверяет размер, контрольную сумму MD5, права доступа, тип, хозяина и группу каждого файла. Все несоответствия докладываются. Опции выбора пакетов такие же, как и для запроса(инспекции) пакетов. Файлы, которые не устанавливались из пакета (например, файлы документации, которые были исключены из процесса инсталляции при помощи опции "\fB\-\-excludedocs\fP") молча игнорируются. Форматом вывода является строка из восьми символов, возможное "\fBc\fP", указывающее на конфигурационный файл, и имя файла. Каждый из восьми символов показывает результат сравнения одного из аттрибутов файла со значением, записанным в базе данных RPM. Точка обозначает, что тест прошел. Следующие символы говорят об ошибках некоторых тестов: .IP "\fB5\fP" Контрольная сумма MD5 .IP "\fBS\fP" Размер файла .IP "\fBL\fP" Симлинк .IP "\fBT\fP" Время модификации .IP "\fBD\fP" Устройство .IP "\fBU\fP" Хозяин .IP "\fBG\fP" Группа .IP "\fBM\fP" Права доступа (включает права доступа и тип файла) .SH ПРОВЕРКА ПОДПИСИ Общая форма команды проверки подписи RPM выглядит так: .PP \fBrpm \-\-checksig <файл_с_пакетом>+\fP .PP Эта команда проверяет PGP-подпись, встроенную в пакет, для подтверждения целостности и источника происхождения пакета. Информация о конфигурации PGP читается из /usr/lib/rpmrc. Более детально см. секцию ПОДПИСИ PGP. .SH ОПЦИИ УДАЛЕНИЯ (ДЕИНСТАЛЛЯЦИИ) Общая форма команды удаления (деинсталляции) rpm выглядит так: .PP \fB rpm \-e <название_пакета>+\fP .PP .IP "\fB\-\-allmatches\fP" Удалить все версии пакета, отвечающие \fI<название_пакета>\fR. Обычно, если \fI<название_пакета>\fR отвечает нескольким пакетам, выдается сообщение об ошибке и удаление не производится. .IP "\fB\-\-noscripts\fP" Не исполнять пре\- и постустановочные скрипты. .IP "\fB\-\-notriggers\fP" Не исполнять триггер-скриптов, взведенных на удаление данного пакета. .IP "\fB\-\-nodeps\fP" Не проверять зависимостей перед удалением пакетов. .IP "\fB\-\-test\fP" Не производить удаления, только сделать вид что :) .SH ОПЦИИ СБОРКИ (ПОСТРОЕНИЯ) ПАКЕТОВ Общая форма команды построения пакета rpm выглядит так: .PP \fBrpm \-[b|t]\fIO\fP [опции\-сборки] +\fP .PP Аргумент \fB-b\fR применяется в том случае, если для сборки пакета используется spec\-файл. Если же \fBRPM\fR должен извлечь этот файл из архива gzip (или compress), используется аргумент \fB-t\fR. После первого аргумента указывается следующий (\fIO\fR), указывающий какие этапы сборки и упаковки должны быть выполнены. Это один из: .IP "\fB\-bp\fP" Исполнить стадию "%prep" spec\-файла. Обычно это включает в себя распаковку исходников и прикладывание к ним патчей. .IP "\fB\-bl\fP" Произвести "list check". В секции "%files" spec\-файла производится расширение макросов и проверка перечисленных файлов на существование. .IP "\fB\-bc\fP" Исполнить стадию "%build" spec\-файла (предварительно исполнив стадию %prep). Обычно это сводится к исполнению некого эквивалента "make". .IP "\fB\-bi\fP" Исполнить стадию "%install" spec\-файла (предварительно исполнив стадии %prep и %build). Обычно это сводится к исполнению некого эквивалента "make install". .IP "\fB\-bb\fP" Собрать бинарный пакет (предварительно исполнив стадии %prep, %build и %install). .IP "\fB\-ba\fP" Собрать бинарный (RPM) и исходный (SRPM) пакеты (предварительно исполнив стадии %prep, %build и %install). .PP Также могут быть использованы следующие опции: .IP "\fB\-\-short\-circuit\fP" Исполнить непосредственно указанную стадию, пропустив предшествующие. Может быть использована только с \fB\-bc\fP и \fB\-bi\fP. .IP "\fB\-\-timecheck\fP" Установить возраст для "timecheck" (0 чтобы запретить). Это значение также может быть установлено в rpmrc опцией "timecheck:". Значение timecheck определяет максимальный возраст (в секундах) пакуемых в пакет файлов. Для всех файлов, которые старше этого возраста, будет выводиться предупреждение. .IP "\fB\-\-clean\fP" Удалить дерево, использованное для сборки, после того, как построены пакеты. .IP "\fB\-\-rmsource\fP" Удалить исходники и spec\-файл после сборки (может быть использовано также по отдельности, например "\fBrpm \-\-rmsource foo.spec\fP"). .IP "\fB\-\-test\fP" Не исполнять никаких стадий сборки. Полезно для тестирования spec\-файлов. .IP "\fB\-\-sign\fP" Встроить в пакет PGP-подпись. Эта подпись может быть использована для проверки целостности и источника происхождения пакета. См. секцию ПОДПИСИ PGP на предмет опций PGP в /usr/lib/rpmrc. .IP "\fB\-\-buildarch \fP" Собрать пакет для архитектуры \fI\fP не обращая внимания на архитектуру системы, на которой производится сборка. Полезно, например, для сборки пакетов для i586 на машине с архитектурой i686 (довольно реальная ситуация). .IP "\fB\-\-buildos \fP" Собрать пакет для операционной системы \fI\fP не обращая внимания на архитектуру системы, на которой производится сборка. .IP "\fB\-\-builroot \fP" Использовать каталог \fI\fP как корневой для сборки пакетов. .SH ОПЦИИ ПЕРЕСБОРКИ И ПЕРЕКОМПИЛЛЯЦИИ Существуют еще два способа запуска rpm: .I "\fBrpm \-\-recompile <файл_исходного_пакета>+\fP" .I "\fBrpm \-\-rebuild <файл_исходного_пакета>+\fP" Будучи вызванным таким способом, rpm устанавливает указанный исходный пакет и исполняет %prep, %build и %install. Кроме того, \fB\-\-rebuild\fP собирает новый бинарный пакет. После того, как сборка закончена, удаляется дерево, использованное для сборки (как с опцией \fB\-\-clean\fP), сами исходники и spec\-файл. .SH ПОДПИСЬ СУЩЕСТВУЮЩЕГО RPM .I "\fBrpm \-\-resign <файл_бинарного_пакета>+\fP" Эта опция генерирует и вставляет новые подписи в указанные пакеты. Все существующие подписи из пакетов удаляются. .SH ПОДПИСИ PGP Для того, чтобы использовать возможность подписи, RPM должен иметь возможность запуска PGP (она должна быть установлена и находиться в директории, включенной в пути поиска) и должен быть способен найти public key ring с ключом RPM в нем. По умолчанию RPM для поиска keyrings использует умолчания PGP (соблюдая PGPPATH). Если ваши key rings расположены не там, где их ожидает найти PGP, вы должны прописать в ваш /usr/lib/rpmrc следующее: .IP "\fBpgp_path\fP" Директория, используемая вместо /usr/lib/rpm. Она должна содержать ваши key rings. .PP Если вы хотите иметь возможность подписи создаваемых вами пакетов, вам также необходимо создать свою собственную пару из публичного и секретного ключей (см. документацию PGP). Кроме вышеупомянутой строки в /usr/lib/rpmrc, вы должны добавить следующее: .IP "\fBsignature\fP" Тип подписи. В настоящее время поддерживается только pgp. .IP "\fBpgp_name\fP" Имя "пользователя", чьи ключи вы хотите использовать для подписи ваших пакетов. .PP При сборке пакетов вы добавляете к командной строке опцию \-\-sign. У вас спросят пароль и ваш пакет будет собран и подписан. .SH ОПЦИИ ПЕРЕСТРОЙКИ БАЗЫ ДАННЫХ Общая форма команды перестройки базы данных rpm выглядит так: .PP \fBrpm \-\-rebuilddb\fP .PP Этот режим поддерживает только две опции, \fB-\-dbpath\fP и \fB-\-root\fP. .SH ПОКАЗ RC Запуск .PP \fBrpm \-\-showrc\fP .PP выводит значения, которые RPM будет использовать для всех опций, которые могут быть установлены в файлах \fIrpmrc\fP. .SH ОПЦИИ FTP RPM содержит простой FTP-клиент для упрощения установки и изучения пакетов, доступных через Интернет. Файлы пакетов для установки, обновления и запроса могут быть указаны как ftp style URL: .PP \fBftp://:@hostname/path/to/package.rpm\fP .PP Если часть \fB\fP опущена, пароль будет запрошен (по одному разу для каждой пары user/hostname). Если ни , ни не указаны, будет использован anonymous ftp. Во всех случаях используется пассивная (PASV) пересылка по FTP. RPM позволяет использовать с ftp URL следующие опции: .IP "\fB\--ftpproxy \fP" Система будет использована как прокси\-сервер для всех пересылок, что позволяет производить FTP\-соединения через firewall, использующий прокси для выхода во внешний мир. Эта опция может быть задана также в файле \fIrpmrc\fP. .IP "\fB\--ftpport \fP" Задает номер TCP\-порта, используемого для FTP\-соединений вместо порта по умолчанию. Эта опция может быть также задана в файле \fIrpmrc\fP. .SH ФАЙЛЫ .nf /usr/lib/rpmrc ~/.rpmrc /var/lib/rpm/packages /var/lib/rpm/pathidx /var/lib/rpm/nameidx /tmp/rpm* .fi .El .SH СМ. ТАКЖЕ .IR glint (8) , .IR rpm2cpio (8) , .B http://www.rpm.org .nf .SH АВТОРЫ .nf Marc Ewing Erik Troan Serguei Koubouchine \- перевод и адаптация для KSI Linux. .fi