- Как установить RPM без root прав. Как извлечь RPM без установки
- Как извлечь RPM без установки
- Установка из исходного кода без root прав
- Как извлечь файл RPM в Debian
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Курс по сетям
- 15 примеров команды PING для диагностики сети
- Руководство по команде grep в Linux
- Рекурсивно найти слово в файлах и папках Linux
- Настройка маршрута по умолчанию в Linux
- Текстовый редактор Nano — как установить и использовать
- Как пользоваться vim в Linux
- Kali Linux 2020.2 — что нового и как обновиться?
- RPM — установка и использование в Linux
- Установка
- Удаление
- Полезно?
- Почему?
- 🐧 Как установить RPM на CentOS
- Что такое менеджер пакетов RPM
- Предпосылки
- Как скачать установочный пакет RPM
- Установка файла RPM с помощью команды RPM
- Проверьте RPM-зависимости
- Установка RPM-пакетов с помощью yum
- Удаление пакета RPM
- Работа с пакетами и программа RPM.
- Введение.
- Установка программного обеспечения в Linux.
- 1. Традиционный способ установки — установка из исходных текстов.
- 2.Установка программа из пакета RPM.
- Программы gnorpm, kpackage, apt.
- Установка из пакетов, содержащих исходный код.
- Основные операции для работы с пакетами, параметры и опции программы RPM, работа из терминалаала
Как установить RPM без root прав. Как извлечь RPM без установки
Если у вас нет прав суперпользователя для установки пакета, то есть несколько вариантов действий.
Первый вариант — распаковать установочный пакет RPM и использовать исполнимый файл как портативную программу. Для каких-то приложений это может работать, а для некоторых, особенно состоящих из большого количества файлов, библиотек, конфигурационных файлов, это может не сработать.
Как извлечь RPM без установки
Для извлечения пакета .rpm без установки используйте команду вида:
С распаковкой файла RPM также должна справиться команда tar:
Если у вас установлен Midnight Commander, то вы можете в нём открыть RPM файл перейдя в него как в директорию.
Установка из исходного кода без root прав
Второй вариант должен помочь решить проблему с теми приложениями, для которых не помогла простая распаковка.
Суть метода заключается в том, что скачивается исходный код, конфигурация выполняется с опцией —prefix при которой указывается директория в которую у вас есть права на запись:
Как извлечь файл RPM в Debian
В Debian и производных дистрибутивах команды rpm2cpio и cpio присутствуют в стандартных репозиториях. То есть достаточно их установить и выполнить распаковку показанным выше способом:
Также можно использовать команду tar (пример выше).
И ещё один вариант для распаковки RPM в Debian:
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Популярное и похожее
Курс по сетям
15 примеров команды PING для диагностики сети
Руководство по команде grep в Linux
Рекурсивно найти слово в файлах и папках Linux
Настройка маршрута по умолчанию в Linux
Текстовый редактор Nano — как установить и использовать
Как пользоваться vim в Linux
Kali Linux 2020.2 — что нового и как обновиться?
Еженедельный дайджест
RPM — установка и использование в Linux
Вам пакет нужен? Нет, я со своим.
RPM (Red Hat Package Manager) — это наиболее популярная утилита управления пакетами для Linux систем на базе Red Hat, таких как (RHEL, CentOS и Fedora). Она используется для установки, удаления, обновления, запроса и проверки пакетов программного обеспечения. Пакет состоит из архива файлов и информации о пакете, включая имя, версию и описание. Формат файлов также называется RPM.
Обучайся в Merion Academy
Пройди курс по сетевым технологиям
Начать
Есть несколько способов откуда можно взять пакеты RPM: CD/DVD с программным обеспечением, CentOS Mirror, RedHat (нужен аккаунт) или любые открытые сайты репозитория.
В RPM используется несколько основных режимов команд: Install (используется для установки любого пакета RPM), Remove (используется для удаления, стирания или деинсталляции пакета), Upgrade (используется для обновления существующего пакета), Query (используется для запроса пакета) и Verify (используется для проверки пакетов RPM).
Рассмотрим это на примере. У нас есть пакет, и теперь посмотрим, что мы можем с ним делать.
Установка
Как узнать информацию о пакете RPM без установки?
После того, как мы скачали пакет мы хотим узнать информацию о пакете перед установкой. Мы можем использовать -qipoption (запрос информации о пакете), чтобы вывести информацию о пакете.
Как установить RPM пакет?
Мы можем использовать параметр -ivh для установки определенного пакета, как показано ниже.
Как проверить установленный пакет RPM?
Мы можем использовать параметр -q с именем пакета, и он покажет, установлен ли пакет или нет.
Как вывести список всех файлов для определенного установленного пакета RPM?
Мы можем перечислить все файлы установленных пакетов rpm, используя опцию -ql с командой rpm.
Как вывести список недавно установленных пакетов RPM?
Мы можем использовать параметр -qa с параметром —last, в котором будут перечислены все недавно установленные пакеты rpm.
Как установить RPM пакет без зависимостей?
Мы можем использовать параметры -ivh с параметром —nodeps для проверки отсутствия зависимостей, чтобы установить конкретный пакет без зависимостей, как показано ниже.
Как заменить установленный пакет RPM?
Мы можем использовать параметры -ivh –replacepkgs для замены установленного пакета.
Удаление
Как удалить пакет RPM?
Мы можем использовать параметр -e для удаления определенного пакета, установленного без зависимостей. Обратите внимание, что удаление определенного пакета может нарушить работу других приложений.
Обновление
Как обновить установленный пакет RPM?
Для обновления пакета мы используем параметры -Uvh
Запрос
Как запросить все установленные пакеты?
Мы можем использовать параметры -a вместе с q для запроса всех установленных пакетов на сервере.
Как запросить конкретный пакет?
Мы можем использовать команду grep, чтобы узнать, установлен ли конкретный пакет или нет.
Как запросить файл, который принадлежит пакету RPM?
Чтобы узнать к какому пакету RPM относится файл /usr/lib64/libGeoIP.so.1.5.0. используем следующую команду.
Проверка
Как получить информацию для конкретного пакета?
Мы можем использовать параметры -i вместе с q, чтобы получить информацию для конкретного пакета, как показано ниже.
Как проверить RPM пакет?
Мы можем проверить пакет, сравнив информацию об установленных файлах пакета с базой данных rpm, используя опцию -Vp.
Как проверить все пакеты RPM?
Мы можем проверить все установленные пакеты rpm, используя опцию -Va
Обучайся в Merion Academy
Пройди курс по сетевым технологиям
Начать
Полезно?
Почему?
😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.
🐧 Как установить RPM на CentOS
Обычно пользователь устанавливает пакеты, используя утилиту командной строки yum.
Официальные репозитории CentOS содержат тысячи пакетов RPM, но в некоторых случаях вы можете встретить файл RPM, которого нет ни в одном репозитории.
Некоторые авторы программного обеспечения предоставляют для загрузки только RPM-файлы, поэтому RPM-файлы предназначены для загрузки и установки независимо от репозитори я программного обеспечения.
В этом руководстве мы узнаем, как установить файл .rpm в дистрибутивах Linux CentOS.
Что такое менеджер пакетов RPM
Red Hat Package Manager – это бесплатная система управления пакетами с открытым исходным кодом для установки, удаления и управления пакетами программного обеспечения в Red Hat и ее производных, таких как CentOS и Fedora.
Предпосылки
Прежде чем мы начнем, вам необходимо убедиться, что у вас есть права sudo и что вы установили в свою систему некоторые из RPM, DNF и YUM Package Manager (все они включены по умолчанию).
Также убедитесь, что пакет RPM, который вы хотите установить, создан для вашей системной архитектуры и вашей версии CentOS.
В этом руководстве мы будем загружать и устанавливать пакет Slack RPM в CentOS 8.
Как скачать установочный пакет RPM
Как правило, обычно веб-браузер используется для поиска и загрузки файла .rpm, но вы также можете использовать инструменты командной строки, такие как wget или curl.
Например, мы будем использовать команду wget для загрузки пакета slack (rpm) в текущий каталог (я загружаю в /tmp) следующим образом:
Установка файла RPM с помощью команды RPM
Вы можете установить RPM-пакет двумя способами.
Первый использует команду RPM, другой использует менеджер пакетов yum.
В следующей команде мы используем опцию -i для установки скачанного пакета rpm:
Проверьте RPM-зависимости
Чтобы проверить зависимости пакетов, у нас есть две опции rpm. Вы можете использовать -qpR для запроса файла rpm и -qR для запроса по имени пакета.
Установка RPM-пакетов с помощью yum
Тут вступает в игру удобный инструмент под названием yum, где нам не нужно беспокоиться о зависимостях.
Этот менеджер пакетов yum может получить все необходимые зависимости и настроить их для нас.
Теперь мы будем использовать менеджер пакетов yum для установки нашего загруженного пакета с помощью следующей команды:
Удаление пакета RPM
Чтобы удалить пакет RPM, мы даем команду RPM на удаление программного обеспечения с параметром -e.
В следующем примере мы удалим (удалим) пакет slack:
Работа с пакетами и программа RPM.
В этом файле описываются алгоритмы установки программ на Linux, в большинстве своем подойдет для любой ОС Linux.
Введение.
Операции с пакетами из консоли производится командой RPM.
Напоминаю:
справку по ней можно получить, набрав «rpm —help» или «rpm -?»; а подробный мануал — «man rpm»
(чтобы выйти из мануала и вернуться в терминал, нужно нажать «q» ).
Здесь предложено ознакомиться сначала с описанием самих программ по установке пакетов
(главная из них — rpm), а затем — со списком команд и параметров для этой программы.
Установка программного обеспечения в Linux.
Рассмотрим по порядку все три способа.
Этот способ заключается в том, что программа распространяется не в собранном виде, а в виде исходных текстов. Данный способ называется традиционным, потому что он был первым способом установки программ до появления менеджера RPM или аналогичных ему (apt-get).
1. Традиционный способ установки — установка из исходных текстов.
Распаковывать архив нужно по принципу стека: сначала внешним архиватором, а потом внутренним. Предположим, что prg-2.00.tar.gz — это имя файла нашего архива. Для его распаковки нужно ввести команды:
gunzip prg-2.00.tar.gz
tar xvf prg-2.00.tar
Первая команда распакует файл prg-2.00.tar, который мы укажем в качестве одного их аргументов во второй команде. Параметр х программы tar означает, что нам нужно выполнить извлечение файлов из архива (параметр с — создание). Параметр v можете указывать по собственному усмотрению, он обеспечивает большую информативность при работе программы.
Последний параметр f является обязательным при работе с файлами.
Первоначально программа tar была предназначена для работы с пленками стримеров, поэтому нужно использовать параметр f, чтобы сказать программе, что нам нужно работать с файлами.
Если внешнее расширение не gz, a bz или bz2, то вместо первой команды вам нужно ввести команды (соответственно):
bunzip prg-2.00.tar.bz
bunzip2 prg-2.00.tar.bz2
Затем, как и в первом случае, нужно выполнить команду tar (с такими же параметрами).
Иногда файлы исходных текстов имеют всего одно расширение tgz. В этом случае вам нужно ввести всего одну команду:
tar xzf prg-2.00.tgz
Параметр z означает извлечение файлов с использованием распаковщика gzunzip. Обычно такое расширение имеют файлы архивов, созданные с помощью программы tar и пропущенные через фильтр архиватора gzip.
Следующий этап — это непосредственная установка программы. После успешного завершения первого этапа(распаковки) перейдите в каталог, содержащий исходные тексты. Обычно это каталог :
После этого вам нужно внимательно прочитать файл README, и следует ввести три команды:
. /configure
make
make install
Первая команда конфигурирует устанавливаемую программу для работы с вашей системой. Эта программа также проверяет, может ли устанавливаемая программа работать в вашей системе. Если работа программы невозможна,
вы увидите соответствующее сообщение и процесс установки будет прерван.
Обычно такое случается, когда в вашей системе не установлена одна из необходимых новой программе библиотек. Для продолжения установки необходимо установить требуемую библиотеку и попытаться заново ввести команду ./configure. После успешного завершения работы программы ./configure будет создан файл Makefile, в котором будут указаны необходимые параметры (пути к библиотекам, путь для установки программы) для программы make.
Вторая команда (make) «собирает» программу. На этом этапе программа компилируется, то есть создаются бинарные исполнимые файлы из исходных текстов.
Третья команда — make install — устанавливает программу и файлы справочной системы в соответствующие каталоги. Обычно программы устанавливаются в каталог /usr/bin, но это зависит от содержимого конфигурационного файла Makefile.
После успешной установки программы вы можете ее запустить, предварительно прочитав документацию по этой программе.
2.Установка программа из пакета RPM.
В отличие от привычных мастеров InstallShield, которые используются для установки программ для Windows, пакеты RPM (файлы с расширением .rpm) не являются выполняемыми файлами, то есть программами. В пакетах содержатся файлы (как в архиве), которые нужно установить, а также различная информация об этом пакете: какой пакет необходим для работы этого пакета, с каким пакетом конфликтует, информация о разработчике, а также информация, указывающая, какие действия нужно выполнять при установке этого пакета, например, какие каталоги нужно создать. Менеджер пакетов RPM используется во многих дистрибутивах Linux (Red Hat, Mandrake, ASP, Black Cat) и является довольно легкой и гибкой в использовании системой, что обусловливает его популярность.
Обычно в имени файла пакета указываются его название, версия, выпуск, платформа. Последние четыре символа — «.rpm» — признак того, что данный файл является пакетом. В Linux отсутствует такое понятие как расширение или тип файла.
Например, для пакета software-1.0-I.i386.rpm имеют место: software — название;
1.0 — версия программы;
1 — выпуск пакета;
i386 — платформа Intel 386.
Обычно в имени файла пакета указываются его название, версия, выпуск, платформа. Последние четыре символа — «.rpm» — признак того, что данный файл является пакетом. В Linux отсутствует такое понятие как расширение или тип файла.
Обратите внимание на разницу между версией программного обеспечения и выпуском пакета. Версия, указываемая в имени пакета, является версией программного обеспечения, находящегося в нем. Номер версии устанавливается автором программы, который обычно не является изготовителем пакета.
Номер версии характеризует и относится к программному обеспечению. Что касается номера выпуска, то он характеризует сам пакет — указывает номер существующего варианта пакета. В некоторых случаях, даже если не изменилось программное обеспечение, бывает необходимо его переупаковать.
С названием и версией программы, я думаю, все ясно. А вот с архитектурой немного сложнее. Самыми «универсальными» пакетами являются пакеты, рассчитанные на архитектуру Intel 386. Данная программа должна
работать на любом процессоре Intel, начиная с 80386DX (или совместимого с ним). А вот если у вас процессор 80486, пакет, рассчитанный для работы с архитектурой 80586 (Pentium), скорее всего, не установится в вашей системе.
Обычно для процессоров архитектуры CISC (с набором команд х86) используются следующие обозначения:
i386 — Intel 80368DX;
i586 — Intel Pentium (MMX), AMD K5 (K6);
i686 — Intel PPro, Celeron, PII, РШ, PIV.
В простейшем случае команда установки пакета выглядит так:
Перед установкой программы менеджер RPM проверит зависимости пакета, то есть установлены ли в вашей системе другие пакеты, которые необходимы новой программе или конфликтуют с ней. Если установлены все нужные
программе пакеты (или для работы программы вообще не нужны никакие дополнительные пакеты), а также, если новая программа не конфликтует ни с одним уже установленным пакетом, менеджер RPM установит программу.
В противном случае вы получите сообщение, что для работы программы нужен какой-то дополнительный пакет или программа конфликтует с уже установленным пакетом.
Если нужен дополнительный пакет, просто установите его. А вот если программа конфликтует с уже установленным пакетом, то вам нужно будет выбрать, какой пакет вам больше нужен: уже установленный или новый.
При установке программы я рекомендую указывать два дополнительных параметра: h и v. Первый указывает программе вывести полоску состояния процесса установки, а второй выводит дополнительные сообщения. Полоска состояния будет отображена в виде символов #. Учитывая эти два параметра, команда установки немного усложнится:
rpm -ihv software-1.0-1.i386.rpm
Установку можно производить не только с локального диска, но и по протоколу FTP:
Для удаления пакета используется команда:
Еще раз следует напомнить, что при установке или удалении пакетов нужно иметь в виду, что одни пакеты могут требовать наличия в системе других пакетов — это называется зависимостью пакетов. Поэтому иногда вы не сможете установить определенный пакет до тех пор, пока не установите все пакеты, которые нужны для его работы. При удалении программы менеджер пакетов также проверяет зависимости между пакетами. Если удаляемый пакет нужен каким-нибудь другим пакетам, удалить его вы не сможете.
Для пропуска проверки зависимостей нужно использовать параметр —nodeps.
Это бывает иногда полезно. Например, у вас установлена программа postfix, а вам нужно установить программу sendmail. Обе программы используются для отправки почты.
Однако для работы многих почтовых программ необходим агент МТА (Mail Transfer Agent) — программа для отправки почты (postfix или sendmail).
Поэтому с помощью параметра -е удалить программу postfix вы не сможете.
Установить программу sendmail без удаления программы postfix вы также не сможете, потому что пакеты конфликтуют друг с другом. В этом случае вам поможет команда:
rpm -e —nodeps postfix
После такого удаления нормальная работа других программ, которым необходим МТА, невозможна, поэтому вам сразу же нужно установить программу sendmail (или другой МТА). Устанавливать программу в таком случае нужно, как обычно, с помощью параметра -i.
Для обновления программ используется параметр -U. Я рекомендую использовать его и при установке программ, потому что, если устанавливаемый пакет уже был установлен, то будет произведено его обновление, а если нет, то будет просто установлен новый пакет. Для того, чтобы видеть текстовый индикатор при установке пакетов, используйте опцию h. Команда для обновления пакета:
rpm -Uhv software-1.1-4.i386.rpm
Текстовый индикатор будет отображен в виде символов #. Просмотреть все установленные пакеты можно с помощью команды:
Если вам требуется узнать, установлен ли определенный пакет, выполните команду:
rpm -qa | grep название_пакета
Просмотреть общую информацию о пакете можно с помощью команды:
а информацию о файлах, которые входят в состав пакета:
Программы gnorpm, kpackage, apt.
Функции программы gnorpm:
• Установка пакетов.
• Удаление пакетов.
• Получения сведений о пакете.
• Проверка пакета.
• Поиск пакета в базе RPM.
Для установки какого-либо пакета нажмите на кнопку «Установить». Если в приводе CD-ROM находится инсталляционный CD, то в появившемся окне вы увидите список еще не установленных в системе пакетов.
Если пакета нет в списке или вы хотите установить пакет, который не входит в состав дистрибутива, нажмите на кнопку «Добавить» и добавьте в список пакеты, которые вы хотите установить. Нажмите на кнопку «Запрос» для получения сведений о пакете.
Если пакет еще не установлен и у вас достаточно места на диске для его установки, нажмите на кнопку «Установка». После этого будет выполнена проверка пакета на предмет удовлетворения зависимостей: не требует ли этот пакет наличия какого-нибудь неустановленного пакета и не конфликтует ли он с уже установленными пакетами. Если все в порядке, вы увидите окно состояния установки пакета.
Найти пакет вы можете с помощью операции Поиск. Для этого нажмите на кнопку «Поиск» на панели инструментов gnorpm или выполните команду меню Операции -> Поиск. В открывшемся окне вы можете установить критерии поиска и нажать на кнопку «Поиск».
В состав KDE входит программа с графическим интерфейсом пользователя, управляющая пакетами — kpackage. По своим функциям она аналогична программе gnorpm. Какую из этих программ использовать — дело вкуса и привычки.
Также стоит упомянуть о программе APT. Программа APT — это система управления пакетами программного обеспечения. Первоначально система APT была разработана для Debian Linux. Сейчас входит в состав некоторых Red Hat совместимых
дистрибутивов (например, apt-get и входит в состав AltLinux, но ее вы не найдете в Red Hat Linux). Для управления пакетами используется программа apt-get. Формат вызова программы apt-get такой:
apt-get [опции] [команды] [пакет . . .]
В дистрибутив Linux Mandrake входит собственное средство управления пакетами — rpmdrake. К десятой версии дистрибутива оно немного видоизменилось. Теперь оно состоит из трех частей:
• /usr/sbin/edit-urpm-media — менеджер источников пакетов (что такое источники, я уже сказал, поэтому останавливаться на этом не будем);
• rpmdrake — менеджер установки пакетов;
• rpmdrake-remove — менеджер удаления пакетов.
Запустить любую из частей можно из меню К: Система| Настройка | Пакеты.
Установка из пакетов, содержащих исходный код.
Иногда в пакетах RPM находятся не откомпилированные версии программ, а их исходный код. Признаком этого является слово src вместо названия архитектуры. Для установки такого пакета введите:
rpm —rebuild software-2.00-1.src.rpm
Разумеется, вместо software-2.00-l.src.rpm нужно указать реальное имя файла. Перед установкой программы ее исходный текст будет откомпилирован, и потом программа будет установлена.
Основные операции для работы с пакетами, параметры и опции программы RPM, работа из терминалаала
Эти опции могут быть использованы во всех режимах работы.
«-vv» Выводить много отладочной информации.
«—quiet» Выводить как можно меньше сообщений — как правило, выводятся только сообщения об ошибках.
«—help» Вывести более детальную, чем обычно, справку об использовании rpm.
«—version» Вывести одну строку, содержащую номер версии используемого rpm.
«—rcfile » Каждый из файлов из разделенного двоеточиями последовательно читается rpm на предмет конфигурационной информации.
По умолчанию выглядит как /usr/lib/rpm/rpmrc:/etc/rpmrc:
/.rpmrc.
В этом списке обязана существовать только первая строка; все тильды будут заменены значением $HOME.
«—root » Использовать для всех операций файловую систему с корнем в .
Обратите внимание, что это значит, что база данных также будет читаться и модифицироваться под ,и все pre и post скрипты будут исполняться после chroot() в .
«—dbpath » Использовать базу данных RPM в .
«—justdb» Обновить только базу данных, не файловую систему.
«—ftpproxy , —httpproxy » Использовать как FTP или HTTP прокси.
«—ftpport , —httpport » Использовать как FTP или HTTP порт прокси-сервера.
«—pipe » Перенаправляет вывод rpm на вход команды .
Обслуживание базы данных:
rpm -i [—rebuilddb]
ОПЦИИ ПЕРЕСТРОЕНИЯ БАЗЫ ДАННЫХ.
Общая форма команды перестроения базы данных RPM выглядит так:
rpm —rebuilddb
Для построения новой базы данных:
rpm —initdb
Этот режим поддерживает только две опции, —dbpath и —root.
Запуск
rpm —showrc
выводит значения, которые rpm будет использовать для всех опций, которыемогут быть установлены в файлах rpmrc.
Сборка:
rpm [-b|t] [spec-файл]+
rpm [—rebuild] [sourcerpm]+
rpm [—tarbuild] [tarredsource]+
ОПЦИИ СБОРКИ (ПОСТРОЕНИЯ) ПАКЕТОВ.
Общая форма команды построения пакета rpm выглядит так:
rpm -[b|t]O [опции-сборки] +
Аргумент -bfR применяется в том случае, если для сборки пакета используется spec-файл. Если же rpmfR должен извлечь этот файл из архива gzip (или compress), используется аргумент -tfR. После первого аргумента указывается следующий (OfR), указывающий какие этапы сборки и упаковки должны быть выполнены. Это один из:
«-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.
«—buildos » Собрать пакет для операционной системы не обращая внимания на
архитектуру системы, на которой производится сборка. Эта опция устарела, в RPM 3.0 вместо нее следует использовать опцию —target.
ОПЦИИ ПЕРЕСБОРКИ И ПЕРЕКОМПИЛЛЯЦИИ.
Существуют еще два способа запуска rpm:
Будучи вызванным таким способом, rpm устанавливает указанный исходный пакет и исполняет %prep, %build и %install. Кроме того, —rebuild собирает новый бинарный пакет. После того, как сборка закончена, удаляется дерево, использованное для сборки (как с опцией —clean), сами исходники и spec-файл.
ПОДПИСЬ СУЩЕСТВУЮЩЕГО RPM.
rpm —resign + Эта опция генерирует и вставляет новые подписи в указанные пакеты.
Все существующие подписи из пакетов удаляются.
rpm —addsign + Эта опция генерирует и добавляет новые подписи в указанные пакеты.
Все существующие подписи пакетов при этом сохраняются.
Для того, чтобы использовать возможность подписи, rpm должен быть настроен для запуска PGP и должен быть способен найти public key ring с ключом RPM в нем. По умолчанию rpm для поиска keyrings использует умолчания PGP (соблюдая PGPPATH).
Если ваlи key rings расположены не там, где их ожидает найти PGP, вы должны настроить макрос «_pgp_path» на каталог, содержащий ваlи key rings.
Если вы хотите иметь возможность подписи создаваемых вами пакетов, вам также необходимо создать свою собственную пару из публичного и секретного ключей (см. документацию PGP). Кроме выlеупомянутого макроса, вам также необходимо настроить макросы
«_signature» Тип подписи. В настоящее время поддерживается только pgp.
«_pgp_name» Имя «пользователя» , чьи ключи вы хотите использовать для подписи ваших пакетов.
При сборке пакетов вы добавляете к командной строке опцию —sign. У вас спросят пароль и ваш пакет будет собран и подписан.
Например, для того чтобы использовать PGP для подписи пакетов от имени пользователя «John Doe » из key rings, находящихся в /etc/rpm/.pgp, вы должны включить
«%_signature»
pgp
«%_pgp_name»
/etc/rpm/.pgp
«%_pgp_name»
John Doe «
в файл конфигурации макросов. Используйте /etc/rpm/macros для общесистемной и
/.rpmmacros для пользовательской конфигурации.
Обслуживание установленных пакетов:
rpm [—install] [опции-установки] [файл-пакета]+
rpm [—eshen|-F] [опции-установки] [файл-пакета]+
rpm [—uninstall|-e] [опции-удаления] [пакет]+
rpm [—verify|-V] [опции-верификации] [пакет]+
ОПЦИИ УСТАНОВКИ И ОБНОВЛЕНИЯ.
Общая форма команды установки rpm выглядит так:
rpm -i [опции-установки] +
Такая команда устанавливает новые пакеты.
Общая форма команды обновления rpm выглядит так:
rpm -U [опции-установки] +
Такая команда производит обновление установленных пакетов. Работа этой команды полностью аналогична работе команды установки за исключением того, что все остальные версии пакетов удаляются из системы.
rpm [-F|—eshen] [опции-установки] +
Такая команда производит обновление пакетов, но только если в системе существуют более ранние версии этих пакетов.
Допускается задание в виде ftp или http style URL. В этом случае перед установкой файл будет получен с cервера, указанного в URL.
«—force» То же, что и комбинация —replacepkgs, —replacefiles и —oldpackage.
«-h, —hash» Выводить 50 знаков «#» по мере распаковки архива с пакетом. Используется с -v для красивости.
«—oldpackage» Позволяет заменить новый пакет на более старый при обновлении (откатиться назад).
«—percent» Выводить процент готовности по мере распаковки архива с пакетом. Задумано для облегчения использования rpm из других утилит.
«—replacefiles» Устанавливать пакеты даже если они перепиlут файлы из других, уже установленных пакетов.
«—replacepkgs» Устанавливать пакеты даже если некоторые из них уже установлены в системе.
«—allfiles» Устанавливать или обновлять все файлы, определенные как «missingok», даже если они уже существуют.
«—nodeps» Не проверять зависимости перед установкой или обновлением пакета.
«—noscripts» Не исполнять пре- и постустановочных скриптов.
«—notriggers» Не исполнять триггер-скриптов, взведенных на установку данного пакета.
«—ignoresize» Не проверять файловую систему на наличие достаточного свободного места перед установкой этого пакета.
«—excludepath » Не устанавливать файлы, чьи имена начинаются с .
«—excludedocs» Не устанавливать никаких файлов, отмеченных как файлы документации (включает мануалы и документы texinfo).
«—includedocs» Устанавливать файлы документации. Это поведение по умолчанию.
» —test» Не устанавливать пакет, просто проверить возможность установки и сообщить о возможных проблемах.
«—ignorearch» Произвести установку или обновление даже если архитектуры бинарного RPM и машины не совпадают.
«—ignoreos» Произвести установку или обновление даже если операционные системы бинарного RPM и машины не совпадают.
«—prefix » Установить префикс установки в для переместимых пакетов.
«—relocate = » Для переместимых пакетов: преобразовывает файлы, которые должны были бы быть установлены в в .
«—badreloc» Для использования вместе с —relocate. Производит перемещение даже если пакет не переместимый.
«—noorder» Не переупорядочивать список устанавливаемых пакетов. Обычно список переупорядочивается для удовлетворения зависимостей.
Запрос:
rpm [—query] [опции-запроса]
rpm [—querytags]
Общая форма команды запроса(инспекции) rpm выглядит так:
rpm -q [опции-запроса]
Можно задать формат, в котором будут выводиться информация о пакете. Для этого используется опция —queryformat с последующей строкой формата.
Форматы запроса представляют собой модифицированную версию стандартного форматирования printf(3). Формат состоит из статических строк (которые могут включать стандартные escape-последовательности C для переводов строки, табуляций и других специальных символов) и форматов по типу используемых в printf(3). Так как rpm уже знает типы данных, подлежащих выводу, спецификаторы типов должны быть опущены и заменены именами тэгов(ключей) хедеров, подлежащих выводу, заключенными в <>. Часть имени тэга RPMTAG_ может быть опущена.
Альтернативные форматы вывода могут быть заданы путем добавления к имени тэга :typetag. В настоящее время поддерживаютсяследующие типы: octal, date, shescape, perms, fflags и depflags.
Например, для вывода только названий запраlиваемых пакетов, можно использовать в качестве строки формата %
Будучи запущенным с аргументом —querytags, rpm выведет список всех тэгов, о которых он знает.
Есть два набора опций для запроса — выбор пакетов и выбор информации.
Опции выбора пакетов:
» » Запрос установленного пакета, называющегося .
«-a, —all» Запрос всех установленных пакетов.
«—whatrequires » Запрос всех пакетов, требующих для правильного функционирования.
«—whatprovides » Запрос всех пакетов, предоставляющих сервис.
«-f , —file » Запрос пакета, которому принадлежит файл .
«-g , —group » Запрос пакетов из группы .
«-p » Запрос (неинсталлированого) пакета .
Файл может быть задан как ftp или http style URL; в этом случае хедер пакета будет получен с указанного сервера.
«—specfile » Разбор и запрос так, как если бы это был пакет. Хотя не вся информация (например, списки файлов) доступна, этот тип запроса позволяет использовать rpm для извлечения информации из spec-файлов без необходимости написания парсера spec-файлов.
«—querybynumber » Запросить непосредственно запись базы данных номер . Полезно для отладочных целей.
«—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. Точка обозначает, что тест проlел. Следующие символы говорят об ошибках некоторых тестов:
«5» Контрольная сумма MD5.
«T» Время модификации.
«M» Права доступа (включает права доступа и тип файла).
Общая форма команды проверки подписи RPM выглядит так:
rpm —checksig +
Эта команда проверяет PGP-подпись, встроенную в пакет, для подтверждения целостности и источника происхождения пакета.
Информация о конфигурации PGP читается из конфигурационных файлов. Более детально см. секцию ПОДПИСИ PGP.
ОПЦИИ УДАЛЕНИЯ (ДЕИНСТАЛЛЯЦИИ)
Общая форма команды удаления (деинсталляции) rpm выглядит так:
rpm -e +
«—allmatches» Удалить все версии пакета, отвечающие Обычно, если отвечает нескольким пакетам, выдается
сообщение об оlибке и удаление не производится.
«—noscripts» Не исполнять пре- и постустановочные скрипты.
«—notriggers» Не исполнять триггер-скриптов, взведенных на удаление данного пакета.
«—nodeps» Не проверять зависимостей перед удалением пакетов.
«—test» Не производить удаления, только сделать вид что 🙂 Полезна в сочетании с опцией -vv.
Разное:
rpm [—showrc]
rpm [—setperms] [пакет]+
rpm [—setgids] [пакет]+
rpm содержит простые клиенты FTP и HTTP для упрощения установки и изучения пакетов, доступных через Интернет. Файлы пакетов для установки,
обновления и запроса могут быть указаны как ftp или http style URL:
ftp:// :
/path/to/package.rpm
Если часть
опущена, пароль будет запроlен (по одному разу для каждой пары user/hostname). Если ни , ни
не указаны, будет использован anonymous ftp. Во всех случаях используется пассивная (PASV) пересылка по FTP.
rpm позволяет использовать с ftp URL следующие опции:
«—ftpproxy » Система будет использована как прокси-сервер для всех пересылок, что позволяет производить FTP-соединения через firewall, использующий прокси для выхода во внеlний мир. Эта опция может быть задана также настройкой макроса _ftpproxy.
» Задает номер TCP-порта, используемого для FTP-соединений вместо порта по умолчанию.
Эта опция может быть также задана настройкой макроса _ftpport.
rpm позволяет использовать с http URL следующие опции:
«—httpproxy » Система будет использована как прокси-сервер для всех пересылок, что позволяет производить HTTP-соединения через firewall, использующий прокси для выхода во внеlний мир. Эта опция может быть задана также настройкой макроса _httpproxy.
» Задает номер TCP-порта, используемого для HTTP-соединений вместо порта по умолчанию.
Эта опция может быть также задана настройкой макроса _httpport.