Управление пакетами и репозиториями YUM, RPM в CentOS
rpm — утилита нижнего уровня для управления пакетами, при установке пакета не устанавливает зависимости, может получить сведения о пакетах в системе. Аналог dpkg из Ubuntu.
- rpm
-
- -qа все установленные пакеты
- -q поиск установленного пакета в системе
- -qр .rpm обращение к указанному rpm файлу
- -qf определение принадлежности файла к пакету, нужно указать именно путь, а не просто название
- -qd где документация к пакету
- -qlp .rpm вывод списка файлов, которые содержатся в rpm пакете
- -qip .rpm вывод информации о rpm пакете
- -iv .rpm установка rpm пакета с выводом информации об установке
- -e удаление пакета
- -K .rpm проверка ключа rpm пакета
- -Vv проверка состояния пакета
yum
Yum (yellowdog updater modified) — пакетный менеджер для пакетов формата rpm.
- yum
-
- install или установка пакета
- reinstall или переустановка пакета
- search поиск пакетов в репозитори по названию и описанию
- info просмотр подробной информации о пакете
- provides вывод списка пакетов, соответствующих пути
- list вывод списка пакетов в репозитории
- list поиск в репозитории по названию пакета
- list —showduplicates отображение всех версий, которые есть в репозиториях
- list installed вывод списка всех установленных пакетов
- list installed проверка, установлены ли указанные пакеты
- deplist вывод списка зависимостей пакета
- check-update проверка, есть ли доступные обновления
- update обновление указанного пакета
- update обновление всех пакетов
- remove удаление указанного пакета и всех зависимых от него пакетов
- —downloadonly install скачивание пакета без установки. Полученный после скачивания файл будет в каталоге /var/cache/yum/x86_64/7/base/packages/
История установок
- yum history вывод истории установок
- yum history info 5 вывод информации об определенной транзакции, что конкретно сделано в транзакции по номеру
- yum history undo 5 откат установки
- yum history redo 5 повторение установки
Группы и модули ПО
Группы ПО — это совместно устанавливаемое ПО.
Группы окружения — это наборы других групп.
- yum grouplist вывод списка групп
- yum grouplist hidden вывод списка скрытых групп
- yum groupinfo «» вывод описания группы, в том числе ее состав. Знак плюс значит, что в данный момент пакет не установлен и будет установлен при установке группы; минус — не установлен и не будет; равно — пакет установлен в составе группы; без знака — пакет установлен не в составе группы
- yum groupinstall «» установка группы
- yum groupremove «» удаление группы
Помимо групп существуют модули. Они как и группы содержат сразу несколько пакетов, но в модулях пакеты связаны версиями.
- 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.
Файлы с данными о репозитории
[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 пакета с данными о репозитории
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Если пакет с репозиторием есть в базовом репозитории можно установить указав его имя, например как epel
Утилита yum-config-manager
yum-config-manager --add-repo="https://dl.fedoraproject.org/pub/epel/7/x86_64/"
yum-config-manager --disable epel yum-config-manager --enable epel
- Настройка сети в Linux
- Настройка и подключение к Linux по SSH с использованием паролей и ключей
- SELinux в Linux
- Настройка Linux в качестве Master Browser
- Монтирование и размонтирование сетевого каталога в Linux
- Создание пользователя с правами sudo в Linux
- LVM в Linux
- LVM увеличение размера раздела за счет размера другого раздела в Linux
- Не отображаются русские буквы в консоли Linux
- Работа с редактором VIM в Linux
- Разрешения и владельцы файлов и каталогов в Linux
- Пользователи и группы в Linux
- Управление пакетами и репозиториями APT, DPKG в Ubuntu
- Управление пакетами и репозиториями YUM, RPM в CentOS
- Firewalld в Linux
- Управление службами через SYSTEMCTL в Linux
- Устройства и виртуальные файловые системы в Linux
- История команд в Linux
- Ссылки в Linux
- Логи в Linux
- Потоки и конвейеры в Linux
- Обработка консольного текстового вывода в Linux
Linux package management with YUM and RPM
Installing, patching, and removing software packages on Linux machines is one of the common tasks every sysadmin has to do. Here is how to get started with Linux package management in Linux Red Hat-based distributions (distros).
Package management is a method of installing, updating, removing, and keeping track of software updates from specific repositories (repos) in the Linux system. Linux distros often use different package management tools. Red Hat-based distros use RPM (RPM Package Manager) and YUM/DNF (Yellow Dog Updater, Modified/Dandified YUM).
Yellow Dog Updater, Modified (YUM)
[ Editor’s Note: DNF or Dandified YUM is the updated default since Red Hat Enterprise Linux 8, CentOS 8, Fedora 22, and any distros based on these. Generally, the options are the same. Read more about DNF here. ]
YUM is the primary package management tool for installing, updating, removing, and managing software packages in Red Hat Enterprise Linux. YUM performs dependency resolution when installing, updating, and removing software packages. YUM can manage packages from installed repositories in the system or from .rpm packages. The main configuration file for YUM is at /etc/yum.conf , and all the repos are at /etc/yum.repos.d .
You can learn more about adding repositories to your system from this article on how to add a YUM repo from Amy Marrich.
It’s easy to manage packages in Linux with YUM . At the command line, enter:
There are many options and commands available to use with YUM . I’ve listed some commonly-used commands for YUM below:
Command Purpose yum install Installs the specified packages remove Removes the specified packages search Searches package metadata for keywords info Lists description update Updates each package to the latest version repolist Lists repositories history Displays what has happened in past transactions The following are commonly-used options with YUM :
Options Purpose -C Runs from system cache —security Includes packages that provide a fix for a security issue -y Answers yes to all questions —skip-broken Skips packages causing problems -v Verbose The history option gives you an overview of what happened in past transactions. This provides some useful information, like the date when the transaction happened and what command was run.
You can undo or redo certain transactions using the history command. Here is an example of undoing a transaction:
YUM provides many options for package management. For detailed option information, look at man yum and yum –help . Also, here is a link to YUM documentation.
RPM is a popular package management tool in Red Hat Enterprise Linux-based distros. Using RPM , you can install, uninstall, and query individual software packages. Still, it cannot manage dependency resolution like YUM . RPM does provide you useful output, including a list of required packages. An RPM package consists of an archive of files and metadata. Metadata includes helper scripts, file attributes, and information about packages.
RPM maintains a database of installed packages, which enables powerful and fast queries. The RPM database is inside /var/lib , and the file is named __db* .
RPM has some basic modes: query, verify, install, upgrade, erase, show querytags, show configuration. At least one of these modes needs to be selected to perform package management tasks. Every mode has its own set of options. For example, install mode i has its own set of installation options. Options for the modes are found on the RPM man pages at man rpm .
Some commonly-used modes are listed below:
Mode Description -i Installs a package -U Upgrades a package -e Erases a package -V Verifies a package -q Queries a package Here are some commonly-used general options:
General options Purpose -? | —help Prints help —version Prints version number -v Prints verbose output To install or upgrade an .rpm package using RPM, issue this command:
The flag -i is for install, U is for upgrade, v for verbose, h for hash (this option displays the # as a progress bar for the operation). In this example, v and h are optional flags.
To query for a package using RPM issue following command:
rpm -q query-options package
Option a queries all installed packages on the system.
To erase a package, use the following command:
rpm -e erase-options package-name
Package management is a common task for every system. YUM and RPM provide efficient ways to install, upgrade, remove, and track software packages on Red Hat Enterprise Linux systems.
[ Want to try out Red Hat Enterprise Linux? Download it now for free. ]