Управление ПО

RPM пакеты

  • RPM - Red Hat Package Manager

  • RPM - формат пакетов для установки ПО, ровно как и база установленных в систему пакетов

  • Пакет содержит в себе архив фалов, сжатых cpio, метаданные и список зависимостей

  • RPM также может содержать скрипт

  • Для установки пакетов используются репозитории

  • Индивидуальные пакеты также могут быть установлены, но такая установка не некомендуется

Работа с репозиториями

Создание локального репозитория на основе ISO RHEL 8:

  • Создание ISO: dd if=/dev/sr0 of=/rhel8.iso bs=1M

  • Создание директории: mkdir /repo

  • Отредактировать /etc/fstab и добавить точку монтирования:

    • /rhel8.iso /repo iso9660 defaults 0 0

    • systemctl daemon-reload

    • mount -a для монтирования ISO

  • Создать файл /etc/yum.repos.d/appstream.repo следующего содержания:

  • Создать файл /etc/yum.repos.d/base.repo следующего содержания:

  • Проверяем результат через yum repolist

Модули и Application Stream

  • Новый функционал, доступный в RHEL 8

  • Application Streams используются для разделения пользовательских пакетов от пакетов для ядра

  • Application Streams позволяют работать с различными версиями пакетов

  • Base пакеты предоставляются через BaseOS репозиторий, AppStream предоставляется как отдельный репозиторий

  • Application Streams разделены на два формата:

    • Традиционные RPM

    • Новые модули

  • Модули содержат потоки для того, чтобы предоставить возможность использовать несколько версий приложения

  • Активация модульного потока (module stream) предоставляет доступ к RPM в этом потоке

  • У модулей также могут быть профили

    • Профиль - список пакетов, который характерен для конкретного набора решаемых задач

  • Список пакетов в модуле может содержать пакеты за пределами потока модуля

  • yum module используется для управления модулями

Управление пакетами через yum

  • yum search - поиск нужного пакета

  • yum install - установка нужного пакета

  • yum remove - удаление пакетов

  • yum update - обновление ПО через репозиторий

  • yum provides - глубокий поиск по пакетам, включая их содержимое

  • yum info - информация о пакете

  • yum list - отображение списка пакетов

    • yum list all

    • yum list installed

Управление модулями и потоками

  • Для управления модулями используется yum module

  • yum module list - отображает список модулей

  • yum module provides <package_name> - позволяет найти модуль, который содержит необходимый пакет

  • yum module info <module_name> - информация о модуле

  • yum module info --profile <module_name> - профили, к которым относится модуль

  • yum module list <module_name> - отобразить доступные потоки

  • yum module install php:7.1 или yum install @php:7.1 - установка из необходимого модуля

    • при последующем вводе другой версии стрима, старый будет деактивирован

  • yum module install php:7.1/devel - установка конкретного профиля

  • yum install <package_name> - позволяет yum автоматически активировать модульный поток, в котором содержится данный пакет, перед установкой этого пакета

  • yum module enable php:7.1 - активация модуля, но без установки чего-либо

  • Для отката пакета из другого модульного стрима, отсутствующего в профилях, необходимо использовать yum distro-sync

Работа с yum группами

  • you groups определяют доступ к определенным категориям ПО

  • yum group list отобразит список наиболее доступных групп

    • yum groups list hidden - для отображения всех групп

  • yum groups info <groupname> - установит заданную группу

Обновления yum и история

  • yum history - отобразит список недавно выполненных команд

  • yum history info - позволяет откатить заданную команду, основанную на ID в истории

  • yum update - обновит все пакеты в системе

  • yum update <packagename> - обновит пакет и его зависимости

  • yumdownloader - скачать пакет с репозитория

RPM запросы

  • rpm - устаревшая команда для установки пакетов RPM

    • rpm не учитывает зависимости и не рекомендуется для установки пакетов

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

    • По-умолчанию запросы обрабатываются по базе установленных пакетов, флаг "-p" создаст запрос по файлам пакетов

    • rpm -qf /any/file - отобразит пакет, с которым был файл создан

    • rpm -ql mypackage - отобразит файлы в пакете

    • rpm -qc mypackage - отобразит конфигурационные файлы

    • rpm -qd mypackage - отобразит документацию по пакету

    • rpm -qp --scripts mypackage-file.rpm - запрос неустановленного пакета на содержание в нем скриптов

Red Hat Subscription Manager

  • Для работы с репозиториями необходимо иметь подписку

  • Для тестового периода используется бесплатная подписка для разработчиков

    • берется с https://developer.redhat.com

  • Для управления подпиской используется Subscription Manager

    • subscription-manager register используется для регистрации

    • Используются учетные данные аккаунта Red Hat

    • subscription-manager attach --auto для активации подписки

Last updated

Was this helpful?