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

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

RPM  Red Hat Package Manager) представляет собой стандартное средство управления пакетами в дистрибутивах GNU / Linux, родственных RHEL. Эта программа имеет открытый исходный код и предназначена для выполнения следующих операций с пакетами:

  • запрос;
  • установка;
  • обновление;
  • проверка
  • удаление.

Данный пакетный менеджер работает только с пакетами в формате .rpm и ранее носил такое же название. В рамках этой статьи мы попробуем на простых примерах научить Вас использовать RPM.

Содержание:

  1. Что следует знать о RPM в Linux
    1. Как найти пакеты RPM
  2. Примеры использования команд RPM в Linux
    1. Пример №1 — проверка пакета и подписи RPM
    2. Пример №2 — установка пакета RPM
      1. Опции команды RPM при установке пакетов
    3. Пример №3 — проверка зависимостей пакета RPM перед установкой
      1. Опции команды RPM для проверки зависимостей
    4. Пример №4 — установка RPM-пакета без зависимостей
    5. Пример №5 — проверка установленных пакетов RPM
    6. Пример №6 — вывод списка всех файлов установленного RPM-пакета
    7. Пример №7 — вывод списка недавно установленных RPM-пакетов
    8. Пример №8 — вывод списка установленных RPM-пакетов
    9. Пример №9 — обновление пакетов RPM
    10. Пример №10 — удаление пакета RPM в Linux
    11. Пример №11 — удаление пакета RPM без удаления зависимостей
    12. Пример №12 — запрос информации о RPM-пакете по принадлежащему ему файлу
    13. Пример №13 — запрос информации об установленном RPM-пакете
    14. Пример №14 — получение информации о RPM-пакете перед установкой
    15. Пример №15 — запрос документации по установленному RPM-пакету
    16. Пример №16 — проверка пакета RPM
    17. Пример №17 — проверка всех установленных пакетов RPM
    18. Пример №18 — импорт ключа RPM GPG
    19. Пример №19 — вывод списка всех импортированных ключей RPM GPG
    20. Пример №20 — восстановление поврежденной базы данных RPM в Linux
  3. Выводы

Что следует знать о RPM в Linux

Начать лучше с нескольких важных фактов. Прежде всего, RPM бесплатен и выпускается под лицензией GPL (General Public License). Кроме того, он хранит записи обо всех установленных пакетах в базе данных /var/lib/rpm. Помимо всего прочего, в операционных системах на основе RHEL данный пакетный менеджер является единственным способом установки ПО по умолчанию. То есть, если Вы попробуете установить программу путем компиляции ее исходного кода — RPM не сможет управлять ею. файлы формата .rpm хранят в себе подробную информацию о пакете:

  • описание программы;
  • источник (издатель);
  • список зависимостей;
  • версия и многое другое.

Как найти пакеты RPM

Есть несколько (а точнее — четыре) веб-сайта, с которых можно скачивать пакеты для RPM:

Важно: установка пакетов в операционных системах GNU / Linux требует использования прав суперпользователя (root) — в том числе и в случае с использованием команд RPM.

Примеры использования команд RPM в Linux

Теперь давайте перейдем непосредственно к примерам использования этого менеджера пакетов. Они помогут быстрее разобраться в принципах применения команды RPM.

Пример №1 — проверка пакета и подписи RPM

Перед установкой любого пакета следует сначала убедиться в его целостности, а также проверить его подпись PGP и источник. Для этого введите команду с опцией –checksig (проверить подпись) — в качестве примера возьмем пакет pidgin:

Пример №2 — установка пакета RPM

Установить пакет RPM крайне просто — достаточно ввести в командную строку команду с его именем и опцией -i. В качестве примера снова возьмем pidgin-2.7.9-5.el6.2.i686.rpm:

Опции команды RPM при установке пакетов

При установке пакетов Вам могут быть полезными такие опции команды:

  • -i — установка пакета;
  • -v — более подробное отображение описания процесса;
  • -h — вывод на экран хеш-метки после распаковки архива.

Пример №3 — проверка зависимостей пакета RPM перед установкой

Крайне полезно проверять зависимости пакета перед его установкой или обновлением. Зависимостями называются другие пакеты, необходимые для работы программы. Попробуем в качестве примера вывести на экран зависимости пакета BitTorrent-5.2.2-1-Python2.4.noarch.rpm. Для этого введите команду с опцией -qpR:

Опции команды RPM для проверки зависимостей

Теперь попробуем объяснить подробнее, за что отвечают приведенные выше опции проверки зависимостей пакета RPM:

-q — запрос информации о пакете;

-p — список возможностей пакета.

-R — список зависимостей пакета.

Пример №4 — установка RPM-пакета без зависимостей

Рано или поздно при администрировании систем на базе Linux семейства RHEL Вы столкнетесь с ситуацией, при которой все зависимости пакета у Вас точно есть, однако менеджер пакетов отказывается их «видеть». Но в таком случае не придется все удалять и устанавливать заново (с риском для работоспособности набора программного обеспечения). Просто введите команду установки с опцией -nodeps — и программа пропустит этап проверки и установки зависимостей:

 

Важно: введение команды с опцией -nodeps не заставит программу нормально работать, если ее зависимости в действительности отсутствуют (тогда как формально установка пакета завершится успешно).

Пример №5 — проверка установленных пакетов RPM

Часто возникает потребность увидеть, установлен ли в Вашей операционной системе тот или иной пакет. В RPM такая возможность предусмотрена — введите команду с именем интересующего Вас пакета и опцией -q:

Пример №6 — вывод списка всех файлов установленного RPM-пакета

Также нередко системному администратору и простому пользователю Линукс требуется увидеть список всех файлов установленного пакета. С этой целью стоит добавить к команде опцию -ql (запросить список):

Пример №7 — вывод списка недавно установленных RPM-пакетов

Бывает полезно увидеть и список всех пакетов RPM, установленных в последнее время. Для этого добавьте к команде опции -qa (запросить все) и -last:

Пример №8 — вывод списка установленных RPM-пакетов

Также существует возможность увидеть список всех установленных в ОС Linux пакетов — с помощью опции -qa:

Пример №9 — обновление пакетов RPM

Еще одна полезная функция менеджера пакетов помимо установки — это обновление. Для этого предназначена опция -U. Одним из основных преимуществ использования этого параметра является то, что он будет не только обновлять последнюю версию любого пакета, но также  поддерживать резервную копию старого пакета. Это нужно для того, чтобы в случае, если новый обновленный пакет не запускается, ранее установленный пакет может быть использован снова.

 

Важно: после обновления любого пакета программа автоматически сохранит резервную копию старой его версии — если что-то пойдет не так, всегда можно вернуться к проверенному ПО.

Пример №10 — удаление пакета RPM в Linux

Рано или поздно Вы решите удалить ранее установленный пакет. Например потому, что его функционал вам не подошел, или же из-за обнаружения более удобного программного обеспечения. RPM позволяет избавиться от ненужной программы с помощью опции -e (стереть):

 

Важно: обратите внимание, что мы в своем примере для удаления пакета указали его сокращенное (nx), а не полное имя (nx-3.5.0-2.el6.centos.i686.rpm).

Пример №11 — удаление пакета RPM без удаления зависимостей

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

 

Важно: принудительное удаление пакета без учета зависимостей может поломать работу других пакетов в Вашей операционной системе Linux.

Пример №12 — запрос информации о RPM-пакете по принадлежащему ему файлу

Предположим, что Вы нашли у себя в системе какие-то незнакомые файлы и не можете понять, нужны ли они вообще и для чего. Есть возможность проверить, к какому пакету программного обеспечения они относятся. Для этого введите команду с опцией -qf (запрос по файлу) и путем к найденному файлу:

 

В нашем примере хорошо видно, что файл по адресу /usr/bin/htpasswd относится к пакету программного обеспечения httpd-tools-2.2.15-15.el6.centos.1.i686.

Пример №13 — запрос информации об установленном RPM-пакете

Безусловно, лучше всего читать описание пакета еще до установки. Однако бывают ситуации, когда нужно узнать подробности об уже установленном в системе программном обеспечении. Например, если оно установилось в качестве зависимости или же было установлено другим пользователем. И на такой случай тоже есть соответствующая функция — просто добавьте опцию -qi (запрос информации) и имя пакета к команде:

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

Также есть возможность узнать всю важную информацию об уже скачанном пакете до его установки. Для этого воспользуйтесь опцией -qip (запрос информации о пакете). В качестве примера выберем пакет sqlbuddy:

Пример №15 — запрос документации по установленному RPM-пакету

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

Пример №16 — проверка пакета RPM в Linux

Наверняка Вам пригодится возможность сверить файлы уже установленного пакета со списком, хранящимся в базе данных RPM. Для этого предназначена опция -Vp (проверить пакет):

 

Данная функция позволяет увидеть, если чего-то не хватает или наоборот — имеются ли лишние файлы.

Пример №17 — проверка всех установленных пакетов RPM

Конечно же, нет никакой нужды проверять все пакеты по одному, тогда как в RPM предусмотрена проверка файлов всех установленных в ОС пакетов с помощью опции -Va:

Пример №18 — импорт ключа RPM GPG

Для проверки пакетов в RHEL / CentOS / Fedora нужно сначала импортировать ключ GPG — для этого предусмотрена опция -import. К примеру, следующая команда импортирует ключ CentOS 6 GPG:

Пример №19 — вывод списка всех импортированных ключей RPM GPG

Также есть возможность вывести на экран список всех импортированных ключей GPG в Вашей операционной системе GNU / Linux. Для этого введите в командную строку следующую команду:

Пример №20 — восстановление поврежденной базы данных RPM в Linux

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

Выводы

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

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню