- Команды RPM Linux с примерами
- Как получить пакеты RPM
- Основные режимы для команды RPM
- Примеры пакетов RPM
- Установка
- 1) Как узнать информацию о пакете RPM без установки
- 2) Как установить пакет RPM
- 3) Как проверить установленный пакет RPM
- 4) Как просмотреть все файлы определенного установленного пакета RPM
- 5) Как просмотреть недавно установленные пакеты RPM
- 6) Как установить пакет RPM без зависимостей
- 7) Как заменить установленный пакет RPM
- Удаление
- 8) Как удалить пакет RPM
- Обновление
- 9) Как обновить пакет RPM
- Запросы
- 10) Как запросить все установленные пакеты
- 11) Как запросить конкретный пакет
- 12) Как запросить файл, относящийся к пакету RPM
- Проверка
- 13) Как получить информацию для определенного пакета
- 14) Как проверить пакет RPM
- 15) Как проверить все пакеты RPM
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- RPM — установка и использование в Linux
- Установка
- Удаление
- Полезно?
- Почему?
- Сборка собственного RPM-пакета, содержащего простую Go-программу
- Создание пакета
- Добавление сервисов
- Создание .spec-файла
- Сборка RPM-пакета
- Итоги
Команды RPM Linux с примерами
RPM (Redhat Package Manager) – это утилита управления пакетами командной строки, используемая для установки, удаления, обновления, запросов и проверки пакетов программного обеспечения.
В этой статье я расскажу о некоторых наиболее распространенных командах Linux rpm для системного администратора.
Некоторые из Linux-дистрибутивов RPM – это Redhat, Centos, Fedora и OpenSuse.
Yum и DNF – это интерфейсы для управления RPM, которые имеют больше возможностей и могут преодолеть ограничения, которые у него есть.
Как получить пакеты RPM
Существует несколько способов получения пакетов RPM, как показано ниже:
- программное обеспечение CD / DVD
- CentOS Mirror
- RedHat (нужна учетная запись)
- Любые открытые веб-сайты репозитория
Основные режимы для команды RPM
Install : он используется для установки любого пакета RPM.
Remove : используется для удаления
Upgrade : используется для обновления существующего пакета RPM.
Query : используется для запроса любого пакета RPM.
Verify : используется для проверки пакетов RPM.
Примеры пакетов RPM
GeoIP-приложение GeoIP-1.5.0-11.el7.x86_64.rpm представляет собой библиотеку пакетов RPM для страны / города / организации для IP-адреса или сопоставления имен хостов.
GeoIP – это имя пакета, версия 1.5.0-11.el7, версия 7 и архитектура .x86_64.
Установка
1) Как узнать информацию о пакете RPM без установки
После того, как мы загрузили пакет, мы допустим хотим узнать информацию о пакете перед установкой.
Мы можем использовать -qip (query info package), чтобы перечислить информацию о пакете.
2) Как установить пакет RPM
Мы можем использовать параметры -ivh для установки определенного пакета, как показано ниже.
3) Как проверить установленный пакет RPM
Мы можем использовать опцию -q с именем пакета, и она покажет, установлен ли пакет rpm или нет.
4) Как просмотреть все файлы определенного установленного пакета RPM
Мы можем перечислить все файлы установленных пакетов rpm, используя параметр -ql с командой rpm.
5) Как просмотреть недавно установленные пакеты RPM
Мы можем использовать опцию -qa с –last, она будет перечислять все недавно установленные пакеты rpm.
6) Как установить пакет RPM без зависимостей
Мы можем использовать параметры -ivh с параметрами –nodeps, для которых нет проверки зависимостей.
Чтобы установить конкретный пакет без зависимостей:
7) Как заменить установленный пакет RPM
Мы можем использовать параметры -ivh –replacepkgs для замены определенного пакета, установленного в системе, как показано ниже:
Удаление
8) Как удалить пакет RPM
Мы можем использовать -e параметры для удаления определенного пакета, установленного без зависимостей (не проверяя зависимости), как показано ниже:
Теперь введите команду ниже, чтобы гарантировать себе, что GeoIP не установлен.
Обновление
9) Как обновить пакет RPM
Мы можем использовать параметры -Uvh для обновления определенного пакета, как показано ниже:
Запросы
10) Как запросить все установленные пакеты
Мы можем использовать параметры -qa для запроса всех установленных пакетов на сервере, как показано ниже.
11) Как запросить конкретный пакет
Мы можем использовать команду grep для определения того, какой конкретный пакет установлен или нет, как показано ниже.
12) Как запросить файл, относящийся к пакету RPM
В примере номер 9 мы выводили файлы пакета RPM, а теперь мы хотим знать, что файл /usr/lib64/libGeoIP.so.1.5.0 принадлежит RPM-пакету.
Проверка
13) Как получить информацию для определенного пакета
Мы можем использовать параметры -i вместе с q для получения информации для определенного пакета, как показано ниже:
14) Как проверить пакет RPM
Мы можем проверить пакет, сравнив информацию об установленных файлах пакета с базой данных rpm, используя опцию -Vp .
15) Как проверить все пакеты RPM
Мы можем проверить все установленные пакеты rpm, используя опцию -Va.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
RPM — установка и использование в Linux
Вам пакет нужен? Нет, я со своим.
RPM (Red Hat Package Manager) — это наиболее популярная утилита управления пакетами для Linux систем на базе Red Hat, таких как (RHEL, CentOS и Fedora). Она используется для установки, удаления, обновления, запроса и проверки пакетов программного обеспечения. Пакет состоит из архива файлов и информации о пакете, включая имя, версию и описание. Формат файлов также называется RPM.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Есть несколько способов откуда можно взять пакеты 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
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Полезно?
Почему?
😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.
Источник
Сборка собственного RPM-пакета, содержащего простую Go-программу
Процесс развёртывания программ обычно состоит из множества этапов. Некоторые из этих этапов могут представлять собой довольно-таки сложные последовательности действий. В наши дни имеется широкое разнообразие инструментов, позволяющих создавать описания процессов развёртывания программ, которые можно воспроизводить на разных системах.
А именно, в мире Linux уже довольно давно существуют менеджеры пакетов. Например — это RPM и YUM. Они упрощают установку, обновление и удаление программ в Linux-системах. Собственно говоря, в этой статье я хочу рассказать о том, как создать собственный простой RPM-пакет, хочу показать, что это совсем несложно.
Надо отметить, что во многих организациях менеджеры пакетов используются лишь для установки программ, предлагаемых разработчиком используемого этими организациями дистрибутива Linux. Для управления развёртываниями собственных программ менеджеры пакетов не применяются. Тому, кто попытается собрать свой первый RPM-пакет, может показаться, что это не так уж и просто. Но обычно тот, кто учится создавать такие пакеты, тратит время с пользой. Дело в том, что соответствующие знания способны помочь ему в деле оптимизации его рабочих процессов. Здесь мы рассмотрим процесс создания RPM-пакета, содержащего простую программу, написанную на Go.
Создание пакета
Во многих проектах для развёртывания ПО используют менеджеры конфигурации. Вот, например, как может выглядеть типичный плейбук Ansible:
Конечно, в плейбуках, применяющихся в реальных проектах, будет описано большее число этапов. Например, это может быть проверка ранее установленного ПО или управление сервисами. А почему бы не использовать нечто вроде следующей конструкции?
Теперь давайте посмотрим на наше Go-приложение. Это — простой сервер, поддерживающий работу веб-страницы. Вот код файла main.go :
Вот — содержимое config.json :
Если запустить эту программу, то, обратившись к ней, учитывая то, что сервер ожидает подключения на порту 8081, можно увидеть веб-страницу с текстом из config.json . Программа эта, конечно, далека от готовности к продакшну, но для наших экспериментов она вполне подойдёт.
Добавление сервисов
А как насчёт сервисов? Использование сервисов — это отличный способ унификации управления приложением. Поэтому создадим файл my_app.service :
Каждый раз, когда мы соберёмся развернуть приложение, нужно будет выполнить следующие действия:
- Скомпилировать проект.
- Скопировать его в /usr/bin/my_app .
- Скопировать файл config.json в /etc/my_app/config.json .
- Скопировать my_app.service в /etc/systemd/system/ .
- Запустить сервис.
Создание .spec-файла
RPM, что характерно и для Ansible, нуждается в файле определений, в котором описываются этапы установки программы, её зависимости, и другие действия, которые может понадобиться выполнить для установки программы на сервер:
После того, как всё это установлено, мы готовы к тому, чтобы создать файл определений для пакета, известный ещё как .spec-файл:
Составить подобный файл может быть непросто. Нам, в деле создания этого файла, поможет утилита rpmdev-newspec . Вот его содержимое:
Тут мне хотелось бы обратить ваше внимание на несколько моментов:
- Запись Source0 может представлять собой ссылку на репозиторий с исходным кодом. Например, она может выглядеть так: https://github.com/user/my_app/archive/v%version.tar.gz .
- Если в Source0 используется URL, то для загрузки исходного кода приложения можно воспользоваться командой spectool -g my_app.spec .
- Git позволяет быстро, не создавая удалённый репозиторий, генерировать tar-архивы:
Содержимое tar-архива может выглядеть примерно так, как показано ниже:
Сборка RPM-пакета
Первым делом нам надо создать структуру директорий rpmbuild и поместить наш tar-архив в директорию SOURCES :
После этого соберём RPM-пакет для Red Hat Enterprise Linux 8:
Теперь у нас должна появиться возможность установить RPM-пакет и запустить наш сервис:
Если всё было сделано правильно, то, выполнив вышеописанную последовательность команд, вы должны увидеть содержимое файла config.json (который, кстати, находится в папке /etc/my_app ).
А что если появится новая версия нашего приложения? Как создать новый пакет для её установки? Сделать это очень просто — достаточно увеличить номер версии программы в .spec-файле и снова собрать пакет. А DNF обнаружит, что появилось обновление нашей программы.
А если вы пользуетесь репозиторием пакетов — нужно лишь выполнить команду dnf update my_app .
Итоги
Если вы хотите лучше разобраться с тем, как интегрировать RPM-файлы в свои рабочие процессы, советую взглянуть на это и это руководства.
Кроме того, существует множество восхитительных инструментов, способных помочь в деле сборки RPM-пакетов. Есть и инструменты, умеющие создавать репозитории, которыми может воспользоваться разработчик. Это, например, mock, fedpkg, COPR и Koji. Эти инструменты могут пригодиться в проектах, где реализуются сложные сценарии развёртывания ПО. Например — там, где есть множество зависимостей, где в процессе развёртывания имеются сложные этапы, или там, где нужна поддержка нескольких архитектур.
Применяете ли вы RPM-пакеты, созданные самостоятельно?
Источник