Rpm для linux что это такое

Содержание
  1. Физический факультет
  2. База данных RPM
  3. Названия пакетов
  4. Преимущества и недостатки RPM
  5. Преимущества RPM над другими средствами управления и установкой программного обеспечения:
  6. Основные недостатки:
  7. Создание пакета
  8. Примеры
  9. Поддерживаемые дистрибутивы GNU/Linux
  10. Удобные дополнения к RPM
  11. 20 практических примеров команд RPM в Linux
  12. Некоторые факты о RPM (RedHat Package Manager)
  13. Есть пять основных режимов для команды RPM
  14. Где найти пакеты RPM
  15. 1. Как проверить пакет подписи RPM
  16. 2. Как установить RPM пакет
  17. 3. Как проверить зависимости пакета RPM перед установкой
  18. 4. Как установить пакет RPM без зависимостей
  19. 5. Как проверить установленный пакет RPM
  20. 6. Как вывести список всех файлов установленного пакета RPM
  21. 7. Как вывести список недавно установленных пакетов RPM
  22. 8. Как вывести список всех установленных пакетов RPM
  23. 9. Как обновить пакет RPM
  24. 10. Как удалить пакет RPM
  25. 11. Как удалить пакет RPM, который является зависимостью
  26. 12. Как запросить файл, который принадлежит пакету RPM
  27. 13. Как запросить информацию об установленном пакете RPM
  28. 14. Получение информации о пакете RPM перед установкой
  29. 15. Как запросить документацию по установленному пакету RPM
  30. 16. Как верифицировать пакет RPM
  31. 17. Как верифицировать все пакеты RPM
  32. 18. Как импортировать ключ GPG RPM
  33. 19. Как вывести список всех импортированных ключей RPM GPG
  34. 20. Как восстановить повреждённую базу данных RPM

Физический факультет

RPM (Red Hat Package Managerменеджер пакетов Red Hat или RPM Package ManagerRPM — менеджер пакетов) обозначает две вещи: формат пакетов программного обеспечения и программа, созданная для управления этими пакетами. Программа позволяет устанавливать, удалять и обновлять программное обеспечение. Формат RPM основан на формате, разработанным LSB.

Изначально разрабатываясь компанией Red Hat для Red Hat Linux, RPM стал использоваться во многих дистрибутивах GNU/Linux и был портирован на другие операционные системы: Novell Net Ware ? (с версии 6.5 SP3), IBM AIX (с версии 5) и прочие

Оглавление документа

База данных RPM

База данных RPM ведётся в каталоге /var/lib/rpm. Она состоит из одиночной базы данных (Packages), в которой хранится вся информация о пакетах и множества маленьких баз (__db.001, __db.002 и т. д.), которые служат для индексации и содержит в себе сведения о том, какие файлы менялись и создавались при установке и удалении пакетов.

Если база данных несколько испортится (что может произойти, если процесс установки или удаления был «убит» или закончилось место на разделе), то её можно восстановить, введя команду rpm —rebuilddb.

Если база была уничтожена — рекомендуется достать копию из заранее сделанного бэкапа или восстановить при помощи rpm -ivh —justdb по списку пакетов, заранее полученному командой rpm -qa | sort. Возможны полуэвристические методы восстановления базы по списку файлов в пакетах репозитория, из которого была установлена система, но лучше до этого не доводить.

Названия пакетов

Каждый пакет RPM имеет название, которое состоит из нескольких частей:

  • Название программы
  • Версия программы
  • Номер релиза (количество раз пересборки программы одной и той же версии). Также часто используется для обозначения дистрибутива, под который собран этот пакет, например mdv (Mandriva Linux) или fc4 (Fedora Core 4).
  • Архитектура, под которую собран пакет (i386, ppc и т. д.)
Читайте также:  Как устранить ошибку на принтере epson l222

Собранный пакет обычно имеет такой формат названия:

Иногда в пакет входят исходные коды. Такие пакеты не содержат информации об архитектуре, она заменяется на src. Например:

Преимущества и недостатки RPM

Преимущества RPM над другими средствами управления и установкой программного обеспечения:

  • Лёгкость удаления и обновления программ
  • Популярность: очень многие программы собираются именно в RPM, поэтому нет необходимости собирать программу из исходных кодов
  • «Неинтерактивная установка»: легко автоматизировать процесс установки/обновления/удаления
  • Проверка целостности пакетов с помощью контрольных сумм и GPG-подписей
  • DeltaRPM, аналог patch, позволяющий обновить установленное программное обеспечение с минимальной затратой трафика
  • Возможность аккумуляции опыта сборщиков в spec-файле
  • Относительная компактность spec-файлов за счёт использования макросов

Основные недостатки:

  • Незавершённая и устаревшая документация (или англоязычный черновик)
  • Сборка пакета из исходных кодов обычно требует больших знаний
  • Макропакеты между дистрибутивами могут существенно различаться
  • Иногда происходит несовместимость версий пакетов при поиске зависимостей (чаще всего это происходит тогда, когда происходит попытка установить пакет от другого дистрибутива, например от Fedora Core к Mandriva ?)
  • Невозможно распаковать обычным ПО (по сравнению с deb (Debian) или tgz (Slackware). Для этого существует скрипт rpm2cpio.sh[1] (он распаковывает пакет с помощью od, expr, dd и gunzip, а не одной командой)

Создание пакета

Для создания пакета нужен spec-файл. Это обычный текстовой файл, имеет суффикс .spec и содержит в себе название пакета, версию, номер релиза, инструкции по сборке и установке пакета и список изменений. При наличии spec-файла пакет создаётся командой rpmbuild

Очень краткий курс молодого бойца можно найти здесь; из англоязычных руководств можно рекомендовать хоть и старое, но во многом (особенно по части макросов) актуальное Maximum RPM и черновик его обновлённой версии — RPM Guide.

Примеры

  • rpm -Uhv package.rpm — При наличии пакета package произойдёт его обновление, при отсутствии — установка.
  • rpm -qa —queryformat ‘%010\t%-%-%\n’ — вывод списка всех установленных пакетов и их размеров

Поддерживаемые дистрибутивы GNU/Linux

Ниже приведён список некоторых наиболее известных дистрибутивов, основанных на RPM:

(Это неполный список. Подробности смотрите в списке дистрибутивов GNU/Linux)

Удобные дополнения к RPM

Есть несколько программ, которые позволяют автоматически разрешить зависимости при установке пакетов. Вот некоторые наиболее известные:

  • apt-rpm, порт APT, изначально выполненный Conectiva, затем существенно доработанный ALT Linux и продолжающий развиваться
  • apt4rpm, порт APT Debian. Рекомендуется для использовании с некоторыми репозиториями Fedora Core. Почти не разрабатывается, но расходует меньше ресурсов процессора, чем те средства, которые перечислены выше. Более поздний проект, нежели apt-rpm.
  • smart, доступен для многих дистрибутивов
  • urpmi, используется в Mandriva Linux ?
  • YaST, используется в SuSE ?
  • yum, разработан в Yellow Dog Linux, также используется в Fedora Core и ASP Linux

Источник

20 практических примеров команд RPM в Linux

RPM (Red Hat Package Manager) — это самая популярная утилита управления пакетами с открытым исходным кодом по умолчанию для систем на базе Red Hat, таких как (RHEL, CentOS и Fedora). Инструмент позволяет системным администраторам и пользователям устанавливать, обновлять, удалять, запрашивать, проверять и управлять пакетами системного программного обеспечения в операционных системах Unix/Linux. RPM, ранее известный как файл .rpm, включает скомпилированные программы и библиотеки, необходимые для пакетов. Эта утилита работает только с пакетами, созданными в формате .rpm.

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

Некоторые факты о RPM (RedHat Package Manager)

  • RPM бесплатен и выпущен под GPL (General Public License).
  • RPM хранит информацию обо всех установленных пакетах в базе данных /var/lib/rpm.
  • RPM — единственный способ установить пакеты в системах Linux, если вы установили пакеты с использованием исходного кода, то rpm не не будет управлять ими.
  • RPM имеет дело с файлами .rpm, которые содержат актуальную информацию о пакетах, такую как: что это такое, откуда он приходит, информация о зависимостях, информация о версии и т. д.

Есть пять основных режимов для команды RPM

  • Установить: используется для установки любого пакета RPM.
  • Удалить: используется для стирания, удаления или деинсталляции любого пакета RPM.
  • Обновить: используется для обновления существующего пакета RPM.
  • Проверить: он используется для проверки пакетов RPM.
  • Запросить: используется для запроса любого пакета RPM.

Где найти пакеты RPM

Ниже приведён список сайтов RPM, где вы можете найти и скачать все пакеты RPM.

Помните, что вы должны быть пользователем root при установке пакетов в Linux, с привилегиями root вы можете управлять командами rpm с соответствующими параметрами.

1. Как проверить пакет подписи RPM

Всегда проверяйте подпись PGP пакетов перед их установкой в ваших системах Linux и убедитесь, что её целостность и происхождение в порядке. Используйте следующую команду с параметром —checksig (проверить подпись):

Например, чтобы проверить подпись пакета с именем pidgin:

2. Как установить RPM пакет

Для установки программного пакета rpm используйте следующую команду с параметром -i. Например, чтобы установить пакет rpm с именем pidgin-2.7.9-5.el6.2.i686.rpm.

Опции приведённой команды RPM:

  • -i: установить пакет
  • -v: подробный вывод
  • -h: выводить хеш-метки для показа прогресса распаковки архива пакета.

3. Как проверить зависимости пакета RPM перед установкой

Предположим, вы хотите проверить зависимости перед установкой или обновлением пакета. Например, используйте следующую команду, чтобы проверить зависимости пакета BitTorrent-5.2.2-1-Python2.4.noarch.rpm. Она отобразит список зависимостей пакета.

Опции приведённой команды RPM:

  • -q: запрос к пакету
  • -p: перечислить возможности этого пакета.
  • -R: перечислить возможности, от которых зависит этот пакет.

4. Как установить пакет RPM без зависимостей

Если вы знаете, что все необходимые пакеты уже установлены, а RPM делает что-то не так, вы можете игнорировать эти зависимости, используя опцию —nodeps (без проверки зависимостей) перед установкой пакета.

Приведённая выше команда принудительно устанавливает пакет rpm, игнорируя ошибки зависимостей, но если эти файлы зависимостей отсутствуют, программа не будет работать вообще, пока вы их не установите.

5. Как проверить установленный пакет RPM

Использование опции -q с именем пакета покажет, установлен ли пакет rpm или нет.

6. Как вывести список всех файлов установленного пакета RPM

Чтобы просмотреть все файлы установленного пакета rpm, используйте -ql (запрос списка) с командой rpm.

7. Как вывести список недавно установленных пакетов RPM

Используйте следующую команду rpm с параметром -qa (запросить все), чтобы отобразить все недавно установленные пакеты rpm.

8. Как вывести список всех установленных пакетов RPM

Введите следующую команду, чтобы распечатать имена всех установленных пакетов в вашей системе Linux.

9. Как обновить пакет RPM

Если мы хотим обновить какой-либо пакет RPM, будет использоваться опция «-U» (обновление). Одним из основных преимуществ использования этого параметра является то, что он не только обновит любой пакет до последней версии, но также будет поддерживать резервную копию старого пакета, так что в случае, если более новая версия будет работать некорректно, можно откатиться к старой версии пакета.

10. Как удалить пакет RPM

Чтобы удалить пакет RPM, мы используем имя пакета, например, nx, а не исходное имя файла пакета nx-3.5.0-2.el6.centos.i686.rpm. Параметр -e (стереть) используется для удаления пакета.

11. Как удалить пакет RPM, который является зависимостью

Параметр —nodeps (Не проверять зависимости) принудительно удаляет пакет rpm из системы. Но имейте в виду, что удаление одного пакета может нарушить работу других приложений.

12. Как запросить файл, который принадлежит пакету RPM

Допустим, у вас есть список файлов, и вы хотите узнать, какой пакет принадлежит этим файлам. Например, следующая команда с параметром -qf (запросить файл) покажет вам, что файл /usr/bin/htpasswd принадлежит пакету httpd-tools-2.2.15-15.el6.centos.1.i686.

13. Как запросить информацию об установленном пакете RPM

Допустим, вы установили пакет rpm и хотите узнать информацию о пакете. Следующая опция -qi (запрос информации) распечатает доступную информацию об установленном пакете.

14. Получение информации о пакете RPM перед установкой

Вы загрузили пакет из Интернета и хотите узнать информацию о пакете перед установкой. Например, следующий параметр -qip (запрос информации о пакете) распечатает информацию о пакете sqlbuddy.

15. Как запросить документацию по установленному пакету RPM

Чтобы получить список доступной документации установленного пакета, используйте следующую команду с опцией -qdf (запрос документации файла), чтобы отобразить страницы руководства, относящиеся к пакету vmstat.

16. Как верифицировать пакет RPM

При проверке пакета информация об установленных файлах пакета сравнивается с базой данных rpm. Опция -Vp (проверить пакет) используется для проверки пакета.

Пример команды, проверяющей, какие файлы пакета sqlbuddy были изменены:

17. Как верифицировать все пакеты RPM

Введите следующую команду, чтобы проверить все установленные пакеты rpm на предмет изменённых файлов по сравнению с исходными, поставляемыми с пакетом.

18. Как импортировать ключ GPG RPM

Чтобы проверить пакеты RHEL/CentOS/Fedora, вы должны импортировать ключ GPG. Для этого выполните следующую команду. Она импортирует ключ CentOS 6 GPG.

19. Как вывести список всех импортированных ключей RPM GPG

Чтобы распечатать все импортированные ключи GPG в вашей системе, используйте следующую команду.

20. Как восстановить повреждённую базу данных RPM

Иногда база данных rpm повреждается и останавливает все функции rpm и других приложений в системе. Итак, сейчас нам нужно перестроить базу данных rpm и восстановить её с помощью следующей последовательности команд.

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector