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