- RPM команды операционной системы на базе Linux
- RPM Command in Linux
- В этом руководстве мы поговорим о том, как использовать rpm команду для установки, обновления, удаления, проверки, запроса и иного управления пакетами RPM.
- Установка, обновление и удаление пакетов RPM
- Запрос пакетов RPM
- Проверка пакетов RPM
- Вывод
- 🏋️♀️ Как установить / удалить / запросить / обновить RPM пакеты в Linux (Шпаргалка)
- Типы RPM-пакетов
- Схема именования RPM
- Понимание версий RPM
- Установка и удаление файлов
- Установка и удаление
- Запросы (пакеты и / или информация)
- Примеры
- Запросы – проверка (файлы)
- Запросы – проверка (пакеты)
- Восстановить базу данных RPM
- linux-notes.org
- Команда RPM в примерах
RPM команды операционной системы на базе Linux
RPM Command in Linux
В этом руководстве мы поговорим о том, как использовать rpm команду для установки, обновления, удаления, проверки, запроса и иного управления пакетами RPM.
RPM Package Manager (RPM) — это мощная система управления пакетами, используемая Red Hat Linux и его производными, такими как CentOS и Fedora. 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 возможность показать хэш отмечен прогресс бар.
Вы можете пропустить часть загрузки и указать команду для пакета 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 поскольку они автоматически разрешают все зависимости для вас.
Источник
🏋️♀️ Как установить / удалить / запросить / обновить RPM пакеты в Linux (Шпаргалка)
RPM – это мощный менеджер программного обеспечения, который можно использовать для создания, установки, запроса, проверки, обновления и удаления отдельных пакетов программного обеспечения.
Пакет RPM состоит из архива файлов и информации о пакете, такой как имя, версия, описание и информация о зависимостях от других пакетов RPM.
RPM – это больше, чем инструмент для Red Hat
Многие другие современные дистрибутивы, такие как Ubuntu и SuSE, также используют RPM.
Преимущества использования RPM включают в себя:
- Упрощенное распространение, установка, обновление и удаление программного обеспечения
- Гарантирует, что:
необходимое программное обеспечение установлено в системе.
версии обязательного программного обеспечения остаются совместимыми.
локально модифицированные файлы конфигурации не засоряются при обновлении RPM.
локально измененные файлы конфигурации сохраняются с суффиксом «.rpmsave», если пакет будет удален позже. - Позволяет подтвердить, что установленное программное обеспечение не было изменено, модифицировано, повреждено или изменено каким-либо образом.
RPM хранит информацию об установленных пакетах в каталоге «/var/lib/rpm».
Компоненты инструмента RPM:
- Пользовательская база данных, содержащая информацию обо всем программном обеспечении, установленном в системе, собранную с отдельных RPM.
- Исполняемый файл «/bin/rpm».
- Доступные через Интернет репозитории доступных пакетов RPM.
Типы RPM-пакетов
RPM-пакеты делятся на две категории: исходные и бинарные.
Исходный RPM всегда можно распознать, поскольку имя файла заканчивается строкой “.src.rpm”.
В исходном RPM находятся не только исходные файлы исходного кода программы, но и скрипты, которые позволяют автоматически перекомпилировать код, автоматически устанавливать его и удалять автоматически.
В исходном RPM нет исполняемых файлов конечного пользователя. Обычно только разработчики заинтересованы в RPM с исходным кодом.
Двоичный RPM содержит компоновки конечного пользователя RPM. Имена двоичных файлов RPM идентифицируют архитектуру хоста для содержимого.
Например, двоичный файл RPM:
Он содержит файлы, которые можно использовать только на 64-битном процессоре Intel X86.
Другие общие значения архитектуры включают «i386» для 32-разрядных хостов Intel.
Некоторые двоичные RPM-пакеты могут быть установлены на любой архитектуре процессора, потому что их файлы будут работать на любом хосте;
Примером этих пакетов «.noarch.rpm» является RPM «tzdata», который содержит информацию о мировых часовых поясах.
Чтобы обновить вашу систему до последней версии пакета, вам потребуется самая последняя двоичная RPM-версия.
Схема именования RPM
Каждый пакет RPM содержится в одном файле.
Имя файла имеет несколько полей, чтобы полностью идентифицировать содержимое пакета.
Хотя сами инструменты RPM не полагаются на само имя файла, вы должны понимать соглашение об имени файла, чтобы помочь вам определить или загрузить соответствующий пакет. Вот пример имени файла RPM:
Этот RPM предназначен для оболочки BASH («/bin/bash»).
Имя файла состоит из нескольких частей:
- [name] – это название программы или пакета. [name обычно присваивается автором программы. В нашем примере разработчики решили назвать свой продукт «bash» по причинам, которые показались им забавными.
- [version] определяет, какая версия программного обеспечения содержит этот RPM. Номер [версии] присваивается автором программы. Использование номера позволяет определить, какая версия авторских источников использовалась для создания RPM.
- [release] предоставляет номер версии самого файла RPM, а не версию исходных файлов автора. Обновленная RPM может быть выпущена для предоставления исправленной версии оригинального программного обеспечения автора. Патч не обязательно должен быть от оригинального разработчика, поэтому RPM-версия увеличивается вместо [version].
- [arch] описывает содержимое RPM и сообщает, содержит ли этот файл источник продукта («.src.rpm»), независимые от архитектуры файлы («.noarch.rpm») или файлы, которые могут быть установлены только в определенный тип хоста («.sh.rpm» будет работать только на встроенном процессоре STRONGHOLD).
Примечание:[version] контролируется первоначальным автором, а [release] контролируется тем, кто создал RPM.
Понимание версий RPM
Поля RPM [version] и [release] не всегда строго числовые и могут содержать другие символы, кроме обычных цифр.
Обычно можно увидеть как версию «10», так и версию «10а» в одном и том же пакете.
Иногда выбрать самую последнюю версию может быть сложно.
Вот как сам RPM сравнивает номера версий и выпусков внутри себя:
1. Удалите префикс [name] и суффикс «. [Arch] .rpm». Например,:
«Bash-3.1-16.1.x86_64.rpm» становится «3.1-16.1», а «bash-3.1-16.5a.1.x86_64.rpm» становится «3.1-16.5a.1»
2. Сравнивайте оставшиеся строки посимвольно слева направо, пока не встретите цифру.
Если символы отличаются, какой бы символ не появился позже в последовательности сопоставления, это более поздние варианты.
3. При обнаружении цифры преобразуйте всю последовательность цифр в одно двоичное число. В нашем примере два символа «16» объединяются в значение шестнадцать (16). Полученные двоичные значения сравниваются, и чем больше значение, тем выше новизна.
Таким образом, RPM с [версией] «0010» является более новым, чем RPM с «версией» «9».
Шаги 2 и 3 повторяются по мере необходимости, пока не произойдет различие.
Установка и удаление файлов
Примечание. Обычно только один или несколько RPM-пакетов могут быть установлены одновременно.
Более поздние версии обычно устанавливаются с использованием функции RPM «-U» (обновление) вместо функции «-i» RPM.
Распространенными исключениями из единственного правила RPM являются RPM ядра.
В системе обычно установлено несколько версий ядер; У RPM есть список, у которых может быть установлено несколько версий.
Чтобы удалить одну версию, когда установлено несколько, необходимо полностью указать имя и версию пакета.
В архитектуре x86_64 обычно устанавливаются как 32-разрядные пакеты «.i386», так и 64-разрядные пакеты «.x86_64», поддерживающие как 32-разрядные, так и 64-разрядные приложения.
Обычно RPM не отображает архитектуру пакета в запросе, но вы можете отобразить его вручную.
Установка и удаление
Подсказка: никогда, никогда не используйте опцию «-U» для установки нового RPM ядра. Функция обновления «-U» сначала удаляет текущий RPM из системы, а затем пытается установить новый RPM. Любая проблема, которая препятствует установке нового RPM, приведет к тому, что система не будет загружаться. Это не то, что вам нужно, поэтому всегда используйте ключ «-i» для установки RPM ядра.
Запросы (пакеты и / или информация)
Используйте запрос для получения информации об установленных пакетах.
Вы можете запросить все установленные пакеты или один установленный пакет.
Вы также можете узнать, какой RPM предоставляет конкретный файл.
Информация
по умолчанию (имя пакета)
-i: общая информация
-l: список файлов
Примеры
Подсказка: при поиске определенного пакета RPM, когда точное имя неизвестно, используйте пайп таким образом:
Более поздние версии инструмента RPM позволяют сделать это кратко:
Запросы – проверка (файлы)
База данных RPM содержит множество атрибутов для каждого файла, установленного RPM.
Вы можете проверить текущее состояние файла по информации, каталогизированной RPM, когда пакет был установлен.
Примечание. Во многих дистрибутивах Linux имеется RPM «с предварительной связью», который пытается уменьшить время, необходимое для запуска приложения с использованием общей библиотеки (в большинстве приложений используется как минимум одна общая библиотека и, возможно, десятки), путем добавления специальной информации непосредственно в программный файл приложения.
Добавление этой информации делает запуск приложений быстрее, но изменения файла делают недействительными большинство атрибутов файла в базе данных RPM, таких как дата последнего изменения файла, размер файла и контрольная сумма файла MD5.
Запросы – проверка (пакеты)
Восстановить базу данных RPM
Средство RPM использует свою собственную реализацию базы данных для хранения своей информации
. Иногда эта база данных может быть повреждена; симптомы включают заявления об отсутствии установленного пакета RPM; или попытки обновить RPM просто зависают.
Если ваша база данных RPM зависла или повреждена, вы можете попытаться восстановить ее с помощью этих команд. Этот процесс не гарантированно работает.
Вы должны войти в систему с привилегиями суперпользователя (он же «root») для этих действий.
Команды могут быть скопированы и вставлены непосредственно в окно рутового терминала.
1. Убедитесь, что в вашей системе не запущены процессы RPM. Используйте команду ps, чтобы идентифицировать их. Используйте команду kill, чтобы завершить любые процессы «rpm», которые вы найдете; «kill -9» на всякий случай.
2. Удалите файлы блокировки, которые использует RPM:
3. Если вы испытыли зависание команды «rpm», попробуйте снова.
Если это работает, это все. Если нет, выполните Шаг № 1 и № 2 снова. Затем перейдите к следующему шагу.
4. Сделайте резервную копию вашей базы данных RPM:
Источник
linux-notes.org
Хочу создать заметку по использованию утилиты rpm (пакетного менеджера) для работы с rpm пакетами. В своей статье «Команда RPM в примерах» я расскажу как можно выполнять различные операции с пакетами rpm, и для удобства использования, я сохраню их себе.
Команда RPM в примерах
Если необходимо удалить определенный пакет, назовем его rpm_some_package, то нужно выполнить команду:
Если необходимо показать список всех установленных rpm пакетов, используйте:
PS: Можно отобрать нужные пакеты (со всех установленный) и показать список, например для nginx:
Допустим, вам нужно просмотреть некоторую информацию о конкретном пакете (допустим — это rpm_some_package):
Если необходимо установить определенный пакет, назовем его rpm_some_package с выводом на экран и с прогресс-баром то нужно выполнить команду:
Если необходимо обновить некий пакет rpm_some_package, но без всяких изменений в конфигурационных файлов ( если отсутствует пакет, то он будет установлен):
Чтобы установить пакет rpm_some_package с выводом всех действий на экран и без контроля всех зависимостей, используйте:
Чтобы обновить пакет rpm_some_package ( если он установлен), используйте:
Чтобы показать список функциональностей которые предоставляются, выполните:
Показать историю ревизий данного пакета rpm_some_package:
Вывести скрипты, которые запускаются при установке/удалении пакета rpm_some_package:
Выполнить проверку ( узнать какому пакету относится указанный файл), то нужно прописать полный путь к файлу:
Показать какие пакеты относятся в группе пакетов ( fedora, redhat ):
Показать список файлов конфигурации которые входят в пакет rpm_some_package:
Показать весь список файлов которые входят в пакет rpm_some_package:
Показать список всех пакетов, которые необходимы для установки данного пакета rpm_some_package по его зависимостям:
Вывести список файлов, которые входят в пакет, но ещё не установленны в систему:
Команда что ниже выводит список всех rpm зависимостей:
Если вы случайно обновили rpm до новой версии, вы можете вернуть все как было, используя команду:
Вывести содержимое всех пакетов которые установлены на ОС:
Выполнить установку пакета, который собранный из исходных кода:
Выполнить проверку пакета, который ещё не установлен на сервере:
Извлечь из пакета файлы которые содержат в своём имени bin:
Выполнить импорт публичный (public) ключа с цифровой подписью:
Выполнить проверку подписи пакета rpm_some_package:
Выполнить проверку на целостность установленного содержимого пакета:
Показать какой размер, полномочия, тип, владельца, группу, а так же MD5 сумму и дату последнего изменения пакета rpm_some_package:
Выполнить сборку пакета rpm_some_package из исходного кода:
Для более детального ознакомления, используйте:
На этом, у меня все и я завершаю свою тему «Команда RPM в примерах».
Источник