Rechercher une page de manuel
rpm
Langue: ru
Version: 22 Апреля 1999 (fedora - 16/08/07)
Section: 8 (Commandes administrateur)
Sommaire
- НАЗВАНИЕ
- УПОТРЕБЛЕНИЕ
- ОПИСАНИЕ
- ОБЩИЕ ОПЦИИ
- ОПЦИИ УСТАНОВКИ И ОБНОВЛЕНИЯ
- ОПЦИИ ЗАПРОСА
- ОПЦИИ ВЕРИФИКАЦИИ
- ПРОВЕРКА ПОДПИСИ
- ОПЦИИ УДАЛЕНИЯ (ДЕИНСТАЛЛЯЦИИ)
- ОПЦИИ СБОРКИ (ПОСТРОЕНИЯ) ПАКЕТОВ
- ОПЦИИ ПЕРЕСБОРКИ И ПЕРЕКОМПИЛЛЯЦИИ
- ПОДПИСЬ СУЩЕСТВУЮЩЕГО RPM
- ПОДПИСИ PGP
- ОПЦИИ ПЕРЕСТРОЕНИЯ БАЗЫ ДАННЫХ
- ПОКАЗ RC
- ОПЦИИ FTP/HTTP
- ФАЙЛЫ
- СМ. ТАКЖЕ
- АВТОРЫ
НАЗВАНИЕ
rpm - Менеджер пакетов от Red HatУПОТРЕБЛЕНИЕ
rpm [опции]ОПИСАНИЕ
rpm - это мощный менеджер пакетов, который может быть использован для сборки, установки, инспекции, проверки, обновления и удаления отдельных программных пакетов. Пакет состоит из набора файлов и информации о пакете, включающей название, версию и описание пакета.Может быть выбран один из следующих основных режимов: Инициализация базы данных, Перестроение базы данных, Сборка пакетов, Рекомпиляция пакетов, Сборка пакетов из tar-архивов, Запрос, Показ полей запроса, Установка, Освежение, Удаление, Верификация, Проверка подписи, Повторная подпись, Добавление подписи, Установка владельцев и групп и Показ конфигурации.
Обслуживание базы данных:
rpm -i [--initdb]
rpm -i [--rebuilddb]
Сборка:
rpm [-b|t] [spec-файл]+
rpm [--rebuild] [sourcerpm]+
rpm [--tarbuild] [tarredsource]+
Запрос:
rpm [--query] [опции-запроса]
rpm [--querytags]
Обслуживание установленных пакетов:
rpm [--install] [опции-установки] [файл-пакета]+
rpm [--freshen|-F] [опции-установки] [файл-пакета]+
rpm [--uninstall|-e] [опции-удаления] [пакет]+
rpm [--verify|-V] [опции-верификации] [пакет]+
Подписи:
rpm [--verify|-V] [опции-верификации] [пакет]+
rpm [--resign] [файл-пакета]+
rpm [--addsign] [файл-пакета]+
Разное:
rpm [--showrc]
rpm [--setperms] [пакет]+
rpm [--setgids] [пакет]+
ОБЩИЕ ОПЦИИ
Эти опции могут быть использованы во всех режимах работы.- -vv
- Выводить много отладочной информации.
- --quiet
- Выводить как можно меньше сообщений - как правило, выводятся только сообщения об ошибках.
- --help
- Вывести более детальную, чем обычно, справку об использовании rpm.
- --version
- Вывести одну строку, содержащую номер версии используемого rpm.
- --rcfile <список-файлов>
- Каждый из файлов из разделенного двоеточиями <списка-файлов> последовательно читается rpm на предмет конфигурационной информации. По умолчанию <список-файлов> выглядит как /usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc. В этом списке обязана существовать только первая строка; все тильды будут заменены значением $HOME.
- --root <каталог>
- Использовать для всех операций файловую систему с корнем в <каталог>. Обратите внимание, что это значит, что база данных также будет читаться и модифицироваться под <каталог> и все pre и post скрипты будут исполняться после chroot() в <каталог>.
- --dbpath <путь>
- Использовать базу данных RPM в <путь>.
- --justdb
- Обновить только базу данных, не файловую систему.
- --ftpproxy <host>, --httpproxy <host>
- Использовать <host> как FTP или HTTP прокси. См. ОПЦИИ FTP/HTTP.
- --ftpport <порт>, --httpport <порт>
- Использовать <порт> как FTP или HTTP порт прокси-сервера. См. ОПЦИИ FTP/HTTP.
- --pipe <cmd>
- Перенаправляет вывод rpm на вход команды <cmd>.
ОПЦИИ УСТАНОВКИ И ОБНОВЛЕНИЯ
Общая форма команды установки rpm выглядит так: rpm -i [опции-установки] <файл_пакета>+
Такая команда устанавливает новые пакеты. Общая форма команды обновления rpm выглядит так:
rpm -U [опции-установки] <файл_пакета>+
Такая команда производит обновление установленных пакетов. Работа этой команды полностью аналогична работе команды установки за исключением того, что все остальные версии пакетов удаляются из системы.
rpm [-F|--freshen] [опции-установки] <файл_пакета>+
Такая команда производит обновление пакетов, но только если в системе существуют более ранние версии этих пакетов.
Допускается задание <файл_пакета> в виде ftp или http style URL. В этом случае перед установкой файл будет получен с cервера, указанного в URL. См. ОПЦИИ FTP/HTTP на предмет информации о встроенной поддержке FTP/HTTP.
- --force
- То же, что и комбинация --replacepkgs, --replacefiles и --oldpackage.
- -h, --hash
- Выводить 50 знаков "#" по мере распаковки архива с пакетом. Используется с -v для красивости.
- --oldpackage
- Позволяет заменить новый пакет на более старый при обновлении (откатиться назад).
- --percent
- Выводить процент готовности по мере распаковки архива с пакетом. Задумано для облегчения использования rpm из других утилит.
- --replacefiles
- Устанавливать пакеты даже если они перепишут файлы из других, уже установленных пакетов.
- --replacepkgs
- Устанавливать пакеты даже если некоторые из них уже установлены в системе.
- --allfiles
- Устанавливать или обновлять все файлы, определенные как "missingok", даже если они уже существуют.
- --nodeps
- Не проверять зависимости перед установкой или обновлением пакета.
- --noscripts
- Не исполнять пре- и постустановочных скриптов.
- --notriggers
- Не исполнять триггер-скриптов, взведенных на установку данного пакета.
- --ignoresize
- Не проверять файловую систему на наличие достаточного свободного места перед установкой этого пакета.
- --excludepath <путь>
- Не устанавливать файлы, чьи имена начинаются с <путь>.
- --excludedocs
- Не устанавливать никаких файлов, отмеченных как файлы документации (включает мануалы и документы texinfo).
- --includedocs
- Устанавливать файлы документации. Это поведение по умолчанию.
- --test
- Не устанавливать пакет, просто проверить возможность установки и сообщить о возможных проблемах.
- --ignorearch
- Произвести установку или обновление даже если архитектуры бинарного RPM и машины не совпадают.
- --ignoreos
- Произвести установку или обновление даже если операционные системы бинарного RPM и машины не совпадают.
- --prefix <путь>
- Установить префикс установки в <путь> для переместимых пакетов.
- --relocate <старый_путь>=<новый_путь>
- Для переместимых пакетов: преобразовывает файлы, которые должны были бы быть установлены в <старый_путь> в <новый_путь>.
- --badreloc
- Для использования вместе с --relocate. Производит перемещение даже если пакет не переместимый.
- --noorder
- Не переупорядочивать список устанавливаемых пакетов. Обычно список переупорядочивается для удовлетворения зависимостей.
ОПЦИИ ЗАПРОСА
Общая форма команды запроса(инспекции) rpm выглядит так: rpm -q [опции-запроса]
Можно задать формат, в котором будут выводиться информация о пакете. Для этого используется опция --queryformat с последующей строкой формата.
Форматы запроса представляют собой модифицированную версию стандартного форматирования printf(3). Формат состоит из статических строк (которые могут включать стандартные escape-последовательности C для переводов строки, табуляций и других специальных символов) и форматов по типу используемых в printf(3). Так как rpm уже знает типы данных, подлежащих выводу, спецификаторы типов должны быть опущены и заменены именами тэгов(ключей) хедеров, подлежащих выводу, заключенными в {}. Часть имени тэга RPMTAG_ может быть опущена.
Альтернативные форматы вывода могут быть заданы путем добавления к имени тэга :typetag. В настоящее время поддерживаются следующие типы: octal, date, shescape, perms, fflags и depflags.
Например, для вывода только названий запрашиваемых пакетов, можно использовать в качестве строки формата %{NAME}. Для вывода названий пакетов и информации о дистрибутиве в две колонки можно использовать %-30{NAME}%{DISTRIBUTION}.
Будучи запущенным с аргументом --querytags, rpm выведет список всех тэгов, о которых он знает.
Есть два набора опций для запроса - выбор пакетов и выбор информации.
Опции выбора пакетов:
- <название_пакета>
- Запрос установленного пакета, называющегося <название_пакета>.
- -a, --all
- Запрос всех установленных пакетов.
- --whatrequires <capability>
- Запрос всех пакетов, требующих <capability> для правильного функционирования.
- --whatprovides <virtual>
- Запрос всех пакетов, предоставляющих <virtual> сервис.
- -f <файл>, --file <файл>
- Запрос пакета, которому принадлежит файл <файл>.
- -g <группа>, --group <группа>
- Запрос пакетов из группы <группа>.
- -p <файл_пакета>
- Запрос (неинсталлированого) пакета <файл_пакета>. Файл <файл_пакета> может быть задан как ftp или http style URL; в этом случае хедер пакета будет получен с указанного сервера. См. ОПЦИИ FTP/HTTP на предмет встроенной поддержки FTP/HTTP.
- --specfile <specfile>
- Разбор и запрос <specfile> так, как если бы это был пакет. Хотя не вся информация (например, списки файлов) доступна, этот тип запроса позволяет использовать rpm для извлечения информации из spec-файлов без необходимости написания парсера spec-файлов.
- --querybynumber <num>
- Запросить непосредственно запись базы данных номер <num>. Полезно для отладочных целей.
- --triggeredby <имя_пакета>
- Запрос всех пакетов, содержащих триггер-скрипты, активизируемые пакетом <имя_пакета>.
Опции выбора информации:
- -i
- Выводит информацию о пакете, включая название, версию и описание. Использует --queryformat если таковой задан.
- -R, --requires
- Выводит список пакетов, от которых зависит данный пакет.
- --provides
- Выводит список сервисов и библиотек, предоставляемых данным пакетом.
- --changelog
- Выводит протокол изменений данного пакета.
- -l, --list
- Выводит список файлов, входящих в данный пакет.
- -s, --state
- Выводит состояние файлов в пакете (подразумевает -l). Каждый файл может находиться в одном из следующих состояний: нормальный, не установлен или заменен.
- -d, --docfiles
- Вывести список только файлов документации (подразумевает -l).
- -c, --configfiles
- Вывести список только конфигурационных файлов (подразумевает -l).
- --scripts
- Вывести специфические для данного пакета скрипты, используемые как часть процессов инсталляции/деинсталляции, если таковые есть.
- --triggers, --triggerscripts
- Показать все триггер-скрипты, если таковые имеются, содержащиеся в пакете.
- --dump
- Вывести информацию о файлах следующим образом: path size mtime md5sum mode owner group isconfig isdoc rdev symlink. Эта опция должна использоваться в сочетании с по меньшей мере одной из -l, -c, -d.
- --last
- Упорядочивает список пакетов по времени установки таким образом, что наиболее свежие пакеты находятся в верху списка.
- --filesbypkg
- Показывает все файлы в каждом пакете.
- --triggerscripts
- Показывает все триггер-скрипты для выбранных пакетов.
ОПЦИИ ВЕРИФИКАЦИИ
Общая форма команды верификации rpm выглядит так: rpm -V|-y|--verify [опции-верификации]
В процессе верификации пакета информация об инсталлированых файлах пакета сравнивается с информацией из оригинального пакета и из базы данных RPM. В числе прочих, верификация проверяет размер, контрольную сумму MD5, права доступа, тип, хозяина и группу каждого файла. Все несоответствия докладываются. Опции выбора пакетов такие же, как и для запроса(инспекции) пакетов.
Файлы, которые не устанавливались из пакета (например, файлы документации, которые были исключены из процесса инсталляции при помощи опции "--excludedocs") молча игнорируются.
Опции, которые могут быть использованы в процессе верификации:
- --nofiles
- Игнорировать отсутствующие файлы.
- --nomd5
- Игнорировать ошибки контрольной суммы MD5.
- --nopgp
- Игнорировать ошибки подписи PGP.
Форматом вывода является строка из восьми символов, возможное "c", указывающее на конфигурационный файл, и имя файла. Каждый из восьми символов показывает результат сравнения одного из аттрибутов файла со значением, записанным в базе данных RPM. Точка обозначает, что тест прошел. Следующие символы говорят об ошибках некоторых тестов:
- 5
- Контрольная сумма MD5
- S
- Размер файла
- L
- Симлинк
- T
- Время модификации
- D
- Устройство
- U
- Хозяин
- G
- Группа
- M
- Права доступа (включает права доступа и тип файла)
ПРОВЕРКА ПОДПИСИ
Общая форма команды проверки подписи RPM выглядит так: rpm --checksig <файл_с_пакетом>+
Эта команда проверяет PGP-подпись, встроенную в пакет, для подтверждения целостности и источника происхождения пакета. Информация о конфигурации PGP читается из конфигурационных файлов. Более детально см. секцию ПОДПИСИ PGP.
ОПЦИИ УДАЛЕНИЯ (ДЕИНСТАЛЛЯЦИИ)
Общая форма команды удаления (деинсталляции) rpm выглядит так: rpm -e <название_пакета>+
- --allmatches
- Удалить все версии пакета, отвечающие <название_пакета>. Обычно, если <название_пакета> отвечает нескольким пакетам, выдается сообщение об ошибке и удаление не производится.
- --noscripts
- Не исполнять пре- и постустановочные скрипты.
- --notriggers
- Не исполнять триггер-скриптов, взведенных на удаление данного пакета.
- --nodeps
- Не проверять зависимостей перед удалением пакетов.
- --test
- Не производить удаления, только сделать вид что :) Полезна в сочетании с опцией -vv.
ОПЦИИ СБОРКИ (ПОСТРОЕНИЯ) ПАКЕТОВ
Общая форма команды построения пакета rpm выглядит так:
rpm -[b|t]O [опции-сборки] <spec_файл>+
Аргумент -b применяется в том случае, если для сборки пакета используется spec-файл. Если же rpm должен извлечь этот файл из архива gzip (или compress), используется аргумент -t. После первого аргумента указывается следующий (O), указывающий какие этапы сборки и упаковки должны быть выполнены. Это один из:
- -bp
- Исполнить стадию "%prep" spec-файла. Обычно это включает в себя распаковку исходников и прикладывание к ним патчей.
- -bl
- Произвести "list check". В секции "%files" spec-файла производится расширение макросов и проверка перечисленных файлов на существование.
- -bc
- Исполнить стадию "%build" spec-файла (предварительно исполнив стадию %prep). Обычно это сводится к исполнению некого эквивалента "make".
- -bi
- Исполнить стадию "%install" spec-файла (предварительно исполнив стадии %prep и %build). Обычно это сводится к исполнению некого эквивалента "make install".
- -bb
- Собрать бинарный пакет (предварительно исполнив стадии %prep, %build и %install).
- -bs
- Собрать только исходный пакет (предварительно исполнив стадии %prep, %build и %install).
- -ba
- Собрать бинарный (RPM) и исходный (SRPM) пакеты (предварительно исполнив стадии %prep, %build и %install).
Также могут быть использованы следующие опции:
- --short-circuit
- Исполнить непосредственно указанную стадию, пропустив предшествующие. Может быть использована только с -bc и -bi.
- --timecheck
- Установить возраст для "timecheck" (0 чтобы запретить). Это значение также может быть установлено путем определения макроса "_timecheck". Значение timecheck определяет максимальный возраст (в секундах) пакуемых в пакет файлов. Для всех файлов, которые старше этого возраста, будет выводиться предупреждение.
- --clean
- Удалить дерево, использованное для сборки, после того, как построены пакеты.
- --rmsource
- Удалить исходники и spec-файл после сборки (может быть использовано отдельно, например "rpm --rmsource foo.spec").
- --test
- Не исполнять никаких стадий сборки. Полезно для тестирования spec-файлов.
- --sign
- Встроить в пакет PGP-подпись. Эта подпись может быть использована для проверки целостности и источника происхождения пакета. См. секцию ПОДПИСИ PGP на предмет опций PGP.
- --builroot <каталог>
- Использовать каталог <каталог> как корневой для сборки пакетов.
- --target <платформа>
- При сборке пакета интерпретировать <платформа> как arch-vendor-os и соответственно установить макросы _target, _target_arch и _target_os.
- --buildarch <arch>
- Собрать пакет для архитектуры <arch> не обращая внимания на архитектуру системы, на которой производится сборка. Эта опция устарела, в RPM 3.0 вместо нее следует использовать опцию --target.
- --buildos <os>
- Собрать пакет для операционной системы <os> не обращая внимания на архитектуру системы, на которой производится сборка. Эта опция устарела, в RPM 3.0 вместо нее следует использовать опцию --target.
ОПЦИИ ПЕРЕСБОРКИ И ПЕРЕКОМПИЛЛЯЦИИ
Существуют еще два способа запуска rpm:
rpm --recompile <файл_исходного_пакета>+
rpm --rebuild <файл_исходного_пакета>+
Будучи вызванным таким способом, rpm устанавливает указанный исходный пакет и исполняет %prep, %build и %install. Кроме того, --rebuild собирает новый бинарный пакет. После того, как сборка закончена, удаляется дерево, использованное для сборки (как с опцией --clean), сами исходники и spec-файл.
ПОДПИСЬ СУЩЕСТВУЮЩЕГО RPM
rpm --resign <файл_бинарного_пакета>+
Эта опция генерирует и вставляет новые подписи в указанные пакеты. Все существующие подписи из пакетов удаляются.
rpm --addsign <файл_бинарного_пакета>+
Эта опция генерирует и добавляет новые подписи в указанные пакеты. Все существующие подписи пакетов при этом сохраняются.
ПОДПИСИ PGP
Для того, чтобы использовать возможность подписи, rpm должен быть настроен для запуска PGP и должен быть способен найти public key ring с ключом RPM в нем. По умолчанию rpm для поиска keyrings использует умолчания PGP (соблюдая PGPPATH). Если ваши key rings расположены не там, где их ожидает найти PGP, вы должны настроить макрос
- _pgp_path
- на каталог, содержащий ваши key rings.
Если вы хотите иметь возможность подписи создаваемых вами пакетов, вам также необходимо создать свою собственную пару из публичного и секретного ключей (см. документацию PGP). Кроме вышеупомянутого макроса, вам также необходимо настроить макросы
- _signature
- Тип подписи. В настоящее время поддерживается только pgp.
- _pgp_name
- Имя "пользователя", чьи ключи вы хотите использовать для подписи ваших пакетов.
При сборке пакетов вы добавляете к командной строке опцию --sign. У вас спросят пароль и ваш пакет будет собран и подписан.
Например, для того чтобы использовать PGP для подписи пакетов от имени пользователя "John Doe <jdoe@foo.com>" из key rings, находящихся в /etc/rpm/.pgp, вы должны включить
- %_signature
- pgp
- %_pgp_name
- /etc/rpm/.pgp
- %_pgp_name
- John Doe <jdoe@foo.com>"
в файл конфигурации макросов. Используйте /etc/rpm/macros для общесистемной и ~/.rpmmacros для пользовательской конфигурации.
ОПЦИИ ПЕРЕСТРОЕНИЯ БАЗЫ ДАННЫХ
Общая форма команды перестроения базы данных RPM выглядит так:
rpm --rebuilddb
Для построения новой базы данных:
rpm --initdb
Этот режим поддерживает только две опции, --dbpath и --root.
ПОКАЗ RC
Запуск
rpm --showrc
выводит значения, которые rpm будет использовать для всех опций, которые могут быть установлены в файлах rpmrc.
ОПЦИИ FTP/HTTP
rpm содержит простые клиенты FTP и HTTP для упрощения установки и изучения пакетов, доступных через Интернет. Файлы пакетов для установки, обновления и запроса могут быть указаны как ftp или http style URL:
ftp://<user>:<password>@hostname:<port>/path/to/package.rpm
Если часть <password> опущена, пароль будет запрошен (по одному разу для каждой пары user/hostname). Если ни <user>, ни <password> не указаны, будет использован anonymous ftp. Во всех случаях используется пассивная (PASV) пересылка по FTP.
rpm позволяет использовать с ftp URL следующие опции:
- --ftpproxy <hostname>
- Система <hostname> будет использована как прокси-сервер для всех пересылок, что позволяет производить FTP-соединения через firewall, использующий прокси для выхода во внешний мир. Эта опция может быть задана также настройкой макроса _ftpproxy.
- --ftpport <port>
- Задает номер TCP-порта, используемого для FTP-соединений вместо порта по умолчанию. Эта опция может быть также задана настройкой макроса _ftpport.
rpm позволяет использовать с http URL следующие опции:
- --httpproxy <hostname>
- Система <hostname> будет использована как прокси-сервер для всех пересылок, что позволяет производить HTTP-соединения через firewall, использующий прокси для выхода во внешний мир. Эта опция может быть задана также настройкой макроса _httpproxy.
- --httpport <port>
- Задает номер TCP-порта, используемого для HTTP-соединений вместо порта по умолчанию. Эта опция может быть также задана настройкой макроса _httpport.
ФАЙЛЫ
/usr/lib/rpm/rpmrc /etc/rpmrc ~/.rpmrc /var/state/rpm/packages /var/state/rpm/pathidx /var/state/rpm/nameidx /tmp/rpm*
СМ. ТАКЖЕ
glint(8), rpm2cpio(8), http://www.rpm.org/АВТОРЫ
Marc Ewing <marc@redhat.com> Jeff Johnson <jbj@redhat.com> Erik Troan <ewt@redhat.com> Sergey Kubushin <ksi@ksi-linux.com> - перевод и адаптация для KSI Linux.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre