Управление программным обеспечением - efanov/mephi GitHub Wiki

Управление программным обеспечением

  • Задача управления программным обеспечением в ОС. Безопасность при установке, обновлении и удалении ПО. Системы управления ПО в UNIX и Linux. Примеры: rpm и dpkg, yum и apt-get.
  • Основные возможности системы управления пакетами RPM.
  • Конфигурация RPM. Команда rpm --showrc.
  • Пакет. Имя пакета имя-версия-релиз.архитектура.rpm. Зависимости пакетов.
  • Состав пакета (файлы, метаданные, скрипты). Бинарные и src-пакеты. Назначение spec-файла.
  • Тэги пакета rpm --querytags. Основные тэги пакета: ARCH, BUILDHOST, DESCRIPTION, DISTRIBUTION, GROUP, NAME, OS, PACKAGER, VENDOR, VERSION, MD5, PGP.
  • Выполнение скриптов при установке/удалении пакета. Тэги пакета: POSTIN, POSTUN, PREIN, PREUN.
  • Зависимости пакетов. Тэги пакета: PROVIDES, REQUIRENAME.
  • База данных пакетов /var/lib/rpm/. Формат Berkeley DB. Пример: file /var/lib/rpm/Name. Пересборка БД командой rpm --rebuilddb.
  • Установка rpm -i, удаление rpm -e и обновление rpm -U пакетов.
  • Получение информации о пакетах rpm -q. Примеры: rpm -q --queryformat "%{description}\n" kernel, rpm -q --dump kernel, rpm -qa --queryformat '%{NAME}: %{SIZE}\n' | sort -rn -k2.
  • Верификация установленного пакета rpm -V. Формат SM5DLUGT. Восстановление прав доступа файлов по БД пакетов: rpm --setperms ключи_выбора_пакета. Восстановление владельца и группы файлов по БД пакетов: rpm --setugids ключи_выбора_пакета.
  • Безопасность при установке и обновлении пакетов. Команды rpm --checksig, rpm --import, gpg --import.
  • Создание и сборка пакета. Формат spec-файла. Структура каталогов для сборки: BUILD, RPMS, SOURCES, SPECS, SRPMS.
  • Репозиторий пакетов. Основные атрибуты. Размещение на диске, на ftp-сервере, на web-сервере.
  • Конфигурационный файл /etc/yum.conf.
  • Настройка репозиториев. Конфигурационный файл репозитория /etc/yum.repos.d/aurora.repo:
[aurora-web]
name=OC Aвpopa 1.0 web
baseurl=http://pkgs.auroraos.ru/aurora/$releasever/$basearch/
metadata_expire=14d
cost=500
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OOO-NCI
skip_if_unavailable=True
  • Получение информации о пакетах и поиск пакетов с помощью yum. Команды yum: list, search, info, provides.
  • Установка, обновление и удаление пакетов с помощью yum. Команды yum: install, update, remove.
  • Группы (коллекции) пакетов. Два типа коллекций. Управление группами. Команды yum: group list, group info, group install, group update, group remove.
  • История транзакций yum history. Журнал транзакций /var/log/yum.log.
  • Работа с репозиториями. Просмотр доступных репозиториев yum repolist all.
  • Включение/выключение репозиториев. Постоянная настройка enabled=1. Временное изменение --enablerepo и --disablerepo. Утилита yum-config-manager.
  • Создание репозитория.

Команды и файлы

  • Команды для работы с архивами: tar, gzip, gunzip, zcat.
  • Команды для работы с пакетами: rpm, rpm2cpio, rpmdev-setuptree, rpmbuild.
  • Команды для работы с репозиториями: yum, yumdownloader, createrepo.
  • Конфигурационные файлы и каталоги RPM: /etc/rpmrc, ~/.rpmrc, /usr/lib/rpm/rpmrc, /usr/lib/rpm/macros, /usr/lib/rpm/macros.d/, /etc/rpm/macros.*, ~/.rpmmacros.
  • Файлы: /etc/yum.conf, /etc/yum.repos.d/aurora.repo.

Лабораторная работа

Лабораторная работа "Управление пакетами"

Ссылки

  1. Официальный сайт RPM
  2. Red Hat RPM Guide - русский перевод
  3. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/deployment_guide/ch-rpm
  4. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-yum
  5. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-software-packages_configuring-basic-system-settings
  6. https://docs.fedoraproject.org/en-US/quick-docs/creating-rpm-packages/
  7. BUILDING YOUR OWN RPMS
  8. How to Build an RPM
  9. https://access.redhat.com/articles/yum-cheat-sheet
  10. How to create a local mirror of the latest update for Red Hat Enterprise Linux 5, 6, 7, 8 without using Satellite server?