Avtoargon.ru

АвтоАргон
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

20 практических примеров команд RPM в 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 и восстановить её с помощью следующей последовательности команд.

Команда RPM в Linux

Менеджер пакетов RPM (RPM) — это мощная система управления пакетами, используемая Red Hat Linux и ее производными, такими как CentOS и Fedora. RPM также относится к команде rpm и формату файла .rpm . Пакет RPM состоит из архива файлов и метаданных, включая такую информацию, как зависимости и место установки.

В этом руководстве мы поговорим о том, как использовать команду rpm для установки, обновления, удаления, проверки, запроса и иного управления пакетами RPM.

Установка, обновление и удаление пакетов RPM

Обычно для установки нового пакета в дистрибутивах на основе Red Hat вы используете команды yum или dnf , которые могут разрешить и установить все зависимости пакетов.

Вы всегда должны предпочитать использовать yum или dnf rpm при установке, обновлении и удалении пакетов.

Перед установкой пакета RPM вы должны сначала загрузить пакет в свою систему с помощью браузера или инструментов командной строки, таких как curl или wget .

При установке пакетов RPM убедитесь, что они созданы для вашей системной архитектуры и вашей версии CentOS . Будьте особенно осторожны при замене или обновлении важных системных пакетов, таких как glibc, systemd или других служб и библиотек, которые необходимы для правильного функционирования вашей системы.

Только root или пользователи с привилегиями sudo могут устанавливать или удалять пакеты RPM.

Чтобы установить пакет RPM с rpm , используйте параметр -i , за которым следует имя пакета:

Параметр -v указывает rpm показывать подробный вывод, а параметр -h показывает индикатор выполнения, отмеченный хешем.

Вы можете пропустить загрузку и указать URL-адрес RPM-пакета команде rpm :

Чтобы обновить пакет RPM, используйте параметр -U . Если пакет не установлен, он будет установлен:

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

Чтобы установить пакет RPM без установки всех необходимых зависимостей в системе, используйте параметр —nodeps :

Чтобы удалить (стереть) пакет RPM, используйте параметр -e :

Параметр —nodeps также полезен, когда вы хотите удалить пакет, не удаляя его зависимости:

Параметр —test указывает rpm запускать команду установки или удаления, фактически ничего не делая. Он только показывает, будет ли команда работать или нет:

Запрос пакетов RPM

Параметр -q указывает команде rpm выполнить запрос.

Чтобы запросить (найти), установлен ли определенный пакет, передайте имя пакета команде rpm -q . Следующая команда покажет вам, установлен ли в системе пакет OpenJDK 11 :

Если пакет установлен, вы увидите что-то вроде этого:

Передайте -i чтобы получить больше информации о запрошенном пакете:

Чтобы получить список всех файлов в установленном пакете RPM:

Если вы хотите узнать, к какому установленному пакету принадлежит конкретный файл, введите:

Чтобы получить список всех установленных пакетов в вашей системе, используйте параметр -a :

Проверка пакетов RPM

При проверке пакета команда rpm проверяет, существует ли каждый файл, установленный пакетом, в системе, дайджест файла, право собственности, разрешения и т. Д.

Чтобы проверить установленный пакет, используйте параметр -V . Например, чтобы проверить пакет openldap, вы должны запустить:

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

Читать еще:  Что такое мощность двигателя брутто и нетто

Например, следующий результат показывает, что mTime файла был изменен («T»):

Обратитесь к странице руководства RMP о том, что означает каждый символ.

Чтобы проверить все установленные пакеты rpm, выполните следующую команду:

Выводы

rpm — это низкоуровневый инструмент командной строки для установки, запроса, проверки, обновления и удаления пакетов RMP. При установке пакетов RPM следует предпочесть использование yum или dnf поскольку они автоматически разрешают все зависимости за вас.

Для получения дополнительных сведений обо всех доступных параметрах команд введите в терминале man rpm или посетите веб-сайт RPM.org .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Что означает rpm на двигателе

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

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

Содержание

  • 1 База данных RPM
  • 2 Названия пакетов
  • 3 Преимущества и недостатки RPM
    • 3.1 Преимущества RPM над другими средствами управления и установкой программного обеспечения:
    • 3.2 Основные недостатки:
  • 4 Создание пакета
  • 5 Примеры
  • 6 Поддерживаемые дистрибутивы GNU/Linux
  • 7 Удобные дополнения к RPM
  • 8 Ссылки

База данных 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 и т. д.)

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

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

Библиотеки чаще всего распространяются в двух отдельных пакетах. Первый содержит собранный код, второй (обычно к нему добавляют -devel) содержит заголовочные файлы и другие файлы, необходимые разработчикам. Необходимо следить за тем, чтобы версии этих двух пакетов совпадали, иначе библиотеки могут работать некорректно. Пакеты с расширением noarch.rpm не зависят от конкретной архитектуры компьютера. Обычно они содержат графику и тексты, используемые другими программами.

Преимущества и недостатки 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 ‘%010t%-%-%n’ — вывод списка всех установленных пакетов и их размеров

Поддерживаемые дистрибутивы GNU/Linux [ править | править код ]

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

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

Удобные дополнения к RPM [ править | править код ]

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

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

Команда RPM в Linux

В этой статье мы поговорим о том, как использовать команду rpm для установки, обновления, удаления, проверки, запроса и иного управления пакетами RPM.

Установка, обновление и удаление пакетов RPM

Обычно, чтобы установить новый пакет на основе дистрибутивов Red Hat, вы будете использовать либо команды yum или dnf, которые могут решить и установить все зависимости пакетов.

Вы всегда должны предпочитать использовать yum или dnf больше rpm при установке, обновлении и удалении пакетов.

Перед установкой пакета RPM вы должны сначала загрузить пакет в своей системе, используя браузер или инструменты командной строки, такие как curl или wget.

При установке RPM-пакетов убедитесь, что они созданы для вашей системной архитектуры и вашей версии CentOS. Будьте особенно осторожны при замене или обновлении важных системных пакетов, таких как glibc, systemd или других служб и библиотек, которые необходимы для правильного функционирования вашей системы.

Только root или пользователи с привилегиями sudo могут устанавливать или удалять RPM-пакеты.

Чтобы установить RPM-пакет с помощью rpm, используйте параметр -i, а затем имя пакета:

Опция -v указывает rpm показать подробный вывод и -h показать индикатор выполнения.

Вы можете пропустить часть загрузки и указать команду для пакета RPM в команде rpm:

Чтобы обновить пакет RPM, используйте опцию -U. Если пакет не установлен, он будет установлен:

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

Чтобы установить пакет RPM без установки всех необходимых зависимостей в системе, используйте параметр –nodeps:

Чтобы удалить (стереть) пакет RPM, используйте параметр -e:

Опция –nodeps также полезна, когда вы хотите удалить пакет, не удаляя его зависимости:

Опция –test указывает rpm запустить установку или удаление команды фактически не делая ничего. Это только показывает, будет ли команда работать или нет:

Запрос пакетов RPM

Опция -q указывает команде rpm выполнить запрос.

Чтобы запросить (выполнить поиск), установлен ли определенный пакет, передайте имя пакета в rpm команду -q. Следующая команда покажет вам, установлен ли в системе пакет OpenJDK 11:

Если пакет установлен, вы увидите что-то вроде этого:

Укажите параметр -i чтобы получить больше информации о запрашиваемом пакете:

Чтобы получить список всех файлов в установленном пакете RPM:

Если вы хотите узнать, к какому установленному пакету принадлежит тот или иной файл, введите:

Чтобы получить список всех установленных пакетов в вашей системе, используйте опцию -a:

Проверка пакетов RPM

При проверке пакета команда rpm проверяет, существует ли в системе каждый файл, установленный пакетом, дайджест файла, владелец, разрешения и т. д.

Чтобы проверить установленный пакет, используйте опцию -V. Например, чтобы проверить пакет openldap, вы должны выполнить:

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

Например, следующий вывод показывает, что mTime файла был изменен («T»):

Обратитесь к справочной странице RMP, чтобы узнать, что означает каждый символ.

Чтобы проверить все установленные пакеты rpm, выполните следующую команду:

Заключение

rpm, это низкоуровневое средство командной строки для установки, запроса, проверки, обновления и удаления пакетов RMP. При установке RPM-пакетов следует предпочитать использовать yum или dnf, поскольку они автоматически разрешают все зависимости для вас.

Для получения дополнительной информации обо всех доступных параметрах команд введите man rpmв своем терминале или посетите веб-сайт RPM.org.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector