rpm
rpm — утилита нижнего уровня для управления пакетами, при установке пакета не устанавливает зависимости, может получить сведения о пакетах в системе. Аналог dpkg из Ubuntu.
- rpm
-
- -qа все установленные пакеты
- -q <package-name> поиск установленного пакета в системе
- -qр <package-name>.rpm обращение к указанному rpm файлу
- -qf <path> определение принадлежности файла к пакету, нужно указать именно путь, а не просто название
- -qd <package-name> где документация к пакету
- -qlp <package-name>.rpm вывод списка файлов, которые содержатся в rpm пакете
- -qip <package-name>.rpm вывод информации о rpm пакете
- -iv <package-name>.rpm установка rpm пакета с выводом информации об установке
- -e <package-name> удаление пакета
- -K <package-name>.rpm проверка ключа rpm пакета
- -Vv <package-name> проверка состояния пакета
yum
Yum (yellowdog updater modified) — пакетный менеджер для пакетов формата rpm.
- yum
-
- install <package-name> или <url> установка пакета
- reinstall <package-name> или <url> переустановка пакета
- search <package-name> поиск пакетов в репозитори по названию и описанию
- info <package-name> просмотр подробной информации о пакете
- provides <path> вывод списка пакетов, соответствующих пути
- list вывод списка пакетов в репозитории
- list <package-name> поиск в репозитории по названию пакета
- list <package-name> --showduplicates отображение всех версий, которые есть в репозиториях
- list installed вывод списка всех установленных пакетов
- list installed <package-name-1> <package-name-2> проверка, установлены ли указанные пакеты
- deplist <package-name> вывод списка зависимостей пакета
- check-update проверка, есть ли доступные обновления
- update <package-name> обновление указанного пакета
- update обновление всех пакетов
- remove <package-name> удаление указанного пакета и всех зависимых от него пакетов
- --downloadonly install <package-name> скачивание пакета без установки. Полученный после скачивания файл будет в каталоге /var/cache/yum/x86_64/7/base/packages/
История установок
/var/log/yum.log
- yum history вывод истории установок
- yum history info 5 вывод информации об определенной транзакции, что конкретно сделано в транзакции по номеру
- yum history undo 5 откат установки
- yum history redo 5 повторение установки
Группы и модули ПО
Группы ПО - это совместно устанавливаемое ПО.
Группы окружения - это наборы других групп.
- yum grouplist вывод списка групп
- yum grouplist hidden вывод списка скрытых групп
- yum groupinfo "<group-name>" вывод описания группы, в том числе ее состав. Знак плюс значит, что в данный момент пакет не установлен и будет установлен при установке группы; минус - не установлен и не будет; равно - пакет установлен в составе группы; без знака - пакет установлен не в составе группы
- yum groupinstall "<group-name>" установка группы
- yum groupremove "<group-name>" удаление группы
Помимо групп существуют модули. Они как и группы содержат сразу несколько пакетов, но в модулях пакеты связаны версиями.
- yum module list вывод списка модулей
- yum module info container-tools:2.0 подробная информация о модуле
Репозитории
- yum repolist список репозиториев подключенных к системе
- yum clean all очистка кэша списка репозиториев
- yum repo-packages epel list вывод списка пакетов, доступных для установки в конкретном репозитории
- yum repoinfo epel получение информации об указанном репозитории
- Управление репозиториями осуществляется 3 вариантами:
- Файлы с данными о репозитории в каталоге /etc/yum.repos.d/;
- Установка rpm пакета с данными о репозитории;
- Утилита yum-config-manager.
Файлы с данными о репозитории
/etc/yum.repos.dи содержат примерно следующее
[epel]
name=Extra Packages for Enterprise Linux 8 - $basearch
baseurl=https://download.example/pub/epel/8/Everything/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
- name - имя репозитория, может быть любым;
- baseurl - ссылка на репозиторий;
- enabled - 1 (репозиторий подключен) или 0 (репозиторий отключен);
- gpgcheck - 1 (осуществлять проверку gpt подписи) или 0 (не осуществлять проверку gpt подписи);
- gpgkey - ссылка на gpt ключ репозитория.
Репозитории и пакеты в репозиториях подписываются приватным ключом, он есть только у людей, которые добавляют пакеты в репозитории. Это сделано, потому что кто-нибудь может встать посреди трафика и обманывать, притворяясь нужным сервером. Если кто то притвориться репозиторием, то пользователь будет скачивать и устанавливать пакеты с этого сервера, не догадываясь, что устанавливает ненастоящие пакеты. При добавлении репозитория пользователь получает публичный ключ, он может быть на сайте репозитория, либо прийти вместе с системой. Благодаря публичному ключу можно убедится, что репозиторий или пакет именно тот, который нужен.
rpm --import filekey.asc
Для удаления репозитория достаточно удалить его файл.
Установка rpm пакета с данными о репозитории
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install epel-release
yum remove epel-release
Утилита yum-config-manager
yum install yum-utils
yum-config-manager --add-repo="https://dl.fedoraproject.org/pub/epel/7/x86_64/"
yum-config-manager --disable epel yum-config-manager --enable epel